he2802 3 jaren geleden
bovenliggende
commit
d7c90733c6

+ 57 - 36
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeUserServiceImpl.java

@@ -300,21 +300,28 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
         classPeriodUserVos.setExamPending(classPeriodUserVos.getExamNum()-classPeriodUserVos.getExamPass()-classPeriodUserVos.getExamCheat());
         //當前班級學員審核狀態 -1不可审核 0待審  1未通过 2通过
         Integer gradePeriodStatus = 0; //班级里的审核状态字段,保持一致 0 未通过 1通过 2待审核 -1 不可审核
-        if (classPeriodStudentVo.getStuAllNum().equals(classPeriodStudentVo.getSecAllNum()) && classPeriodStudentVo.getExamNum().equals(classPeriodStudentVo.getRecordNum())){
-            if (classPeriodUserVos.getPending() != 0 || classPeriodUserVos.getExamPending() != 0){
-                classPeriodStudentVo.setAllStatus(0);
-                gradePeriodStatus = 2;
-            }else if (classPeriodUserVos.getCheat() != 0 || classPeriodUserVos.getExamCheat() != 0){
-                classPeriodStudentVo.setAllStatus(1);
-                gradePeriodStatus = 0;
-            }else {
-                classPeriodStudentVo.setAllStatus(2);
-                gradePeriodStatus = 1;
-            }
-        }else {
+        if(Validator.isEmpty(classPeriodStudentVo.getSecAllNum())||classPeriodStudentVo.getSecAllNum()==0){
+            //空课程
             classPeriodStudentVo.setAllStatus(-1);
             gradePeriodStatus = -1;
+        }else{
+            if (classPeriodStudentVo.getStuAllNum().equals(classPeriodStudentVo.getSecAllNum()) && classPeriodStudentVo.getExamNum().equals(classPeriodStudentVo.getRecordNum())){
+                if (classPeriodUserVos.getPending() != 0 || classPeriodUserVos.getExamPending() != 0){
+                    classPeriodStudentVo.setAllStatus(0);
+                    gradePeriodStatus = 2;
+                }else if (classPeriodUserVos.getCheat() != 0 || classPeriodUserVos.getExamCheat() != 0){
+                    classPeriodStudentVo.setAllStatus(1);
+                    gradePeriodStatus = 0;
+                }else {
+                    classPeriodStudentVo.setAllStatus(2);
+                    gradePeriodStatus = 1;
+                }
+            }else {
+                classPeriodStudentVo.setAllStatus(-1);
+                gradePeriodStatus = -1;
+            }
         }
+
         LambdaQueryWrapper<ClassGradeUser> classGradeUser = Wrappers.lambdaQuery();
         classGradeUser.eq(ClassGradeUser::getUserId, bo.getUserId());
         classGradeUser.eq(ClassGradeUser::getGradeId, bo.getGradeId());
@@ -366,22 +373,29 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
             classPeriodUserVos.setExamPending(classPeriodUserVos.getExamNum()-classPeriodUserVos.getExamPass()-classPeriodUserVos.getExamCheat());
             //當前班級學員審核狀態 -1不可审核 0待審  1未通过 2通过
             Integer gradePeriodStatus = 0; //班级里的审核状态字段,保持一致 0 未通过 1通过 2待审核 -1 不可审核
-            if (classPeriodStudentVo.getStuAllNum().equals(classPeriodStudentVo.getSecAllNum()) && classPeriodStudentVo.getExamNum().equals(classPeriodStudentVo.getRecordNum())){
-                if (classPeriodUserVos.getPending() != 0 || classPeriodUserVos.getExamPending() != 0){
-                    classPeriodStudentVo.setAllStatus(0);
-                    gradePeriodStatus = 2;
-                }else if (classPeriodUserVos.getCheat() != 0 || classPeriodUserVos.getExamCheat() != 0){
-                    classPeriodStudentVo.setAllStatus(1);
-                    gradePeriodStatus = 0;
-                }else {
-                    classPeriodStudentVo.setAllStatus(2);
-                    gradePeriodStatus = 1;
-                }
-            }else {
+            if(Validator.isEmpty(classPeriodStudentVo.getSecAllNum())||classPeriodStudentVo.getSecAllNum()==0){
+                //空课程
                 classPeriodStudentVo.setAllStatus(-1);
                 gradePeriodStatus = -1;
+            }else{
+                if (classPeriodStudentVo.getStuAllNum().equals(classPeriodStudentVo.getSecAllNum()) && classPeriodStudentVo.getExamNum().equals(classPeriodStudentVo.getRecordNum())){
+                    if (classPeriodUserVos.getPending() != 0 || classPeriodUserVos.getExamPending() != 0){
+                        classPeriodStudentVo.setAllStatus(0);
+                        gradePeriodStatus = 2;
+                    }else if (classPeriodUserVos.getCheat() != 0 || classPeriodUserVos.getExamCheat() != 0){
+                        classPeriodStudentVo.setAllStatus(1);
+                        gradePeriodStatus = 0;
+                    }else {
+                        classPeriodStudentVo.setAllStatus(2);
+                        gradePeriodStatus = 1;
+                    }
+                }else {
+                    classPeriodStudentVo.setAllStatus(-1);
+                    gradePeriodStatus = -1;
+                }
             }
 
+
             classPeriodStudentVo.setWaitRebuildNum(classPeriodUserVos.getCheat()+classPeriodUserVos.getExamCheat());
             if (!CollectionUtils.isEmpty(baseMapper.selectStart(classPeriodStudentVo.getUserId(),classPeriodStudentVo.getGoodsId(),classPeriodStudentVo.getGradeId()))) {
                 //查找开始学习时间
@@ -522,21 +536,28 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
             classPeriodUserVos.setExamPending(classPeriodUserVos.getExamNum()-classPeriodUserVos.getExamPass()-classPeriodUserVos.getExamCheat());
             //當前班級學員審核狀態 -1不可审核 0待審  1未通过 2通过
             Integer gradePeriodStatus = 0; //班级里的审核状态字段,保持一致 0 未通过 1通过 2待审核 -1 不可审核
-            if (classPeriodStudentVo.getStuAllNum().equals(classPeriodStudentVo.getSecAllNum()) && classPeriodStudentVo.getExamNum().equals(classPeriodStudentVo.getRecordNum())){
-                if (classPeriodUserVos.getPending() != 0 || classPeriodUserVos.getExamPending() != 0){
-                    classPeriodStudentVo.setAllStatus(0);
-                    gradePeriodStatus = 2;
-                }else if (classPeriodUserVos.getCheat() != 0 || classPeriodUserVos.getExamCheat() != 0){
-                    classPeriodStudentVo.setAllStatus(1);
-                    gradePeriodStatus = 0;
-                }else {
-                    classPeriodStudentVo.setAllStatus(2);
-                    gradePeriodStatus = 1;
-                }
-            }else {
+            if(Validator.isEmpty(classPeriodStudentVo.getSecAllNum())||classPeriodStudentVo.getSecAllNum()==0){
+                //空课程
                 classPeriodStudentVo.setAllStatus(-1);
                 gradePeriodStatus = -1;
+            }else{
+                if (classPeriodStudentVo.getStuAllNum().equals(classPeriodStudentVo.getSecAllNum()) && classPeriodStudentVo.getExamNum().equals(classPeriodStudentVo.getRecordNum())){
+                    if (classPeriodUserVos.getPending() != 0 || classPeriodUserVos.getExamPending() != 0){
+                        classPeriodStudentVo.setAllStatus(0);
+                        gradePeriodStatus = 2;
+                    }else if (classPeriodUserVos.getCheat() != 0 || classPeriodUserVos.getExamCheat() != 0){
+                        classPeriodStudentVo.setAllStatus(1);
+                        gradePeriodStatus = 0;
+                    }else {
+                        classPeriodStudentVo.setAllStatus(2);
+                        gradePeriodStatus = 1;
+                    }
+                }else {
+                    classPeriodStudentVo.setAllStatus(-1);
+                    gradePeriodStatus = -1;
+                }
             }
+
             if(!gradePeriodStatus.equals(classPeriodStudentVo.getPeriodStatus())){
                 LambdaQueryWrapper<ClassGradeUser> classGradeUser = Wrappers.lambdaQuery();
                 classGradeUser.eq(ClassGradeUser::getUserId, classPeriodStudentVo.getUserId());

+ 8 - 14
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/vo/UserPeriodExportVo.java

@@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.math.BigDecimal;
+
 
 /**
  * 【请填写功能名称】视图对象 mall_package
@@ -32,20 +34,12 @@ public class UserPeriodExportVo {
 	@Excel(name = "节时长(秒)")
 	private Long durationTime;
 	@Excel(name = "学习/做题时间")
-	private String studyTimeStr;
+	private String studyTimeTxt;
 	@Excel(name = "学习/做题时长")
-	private String studyTimeLong;
-
-	/** 1 节类型  2试卷类型 */
-	@Excel(name = "1 节类型  2试卷类型")
-	@ApiModelProperty("1 节类型  2试卷类型")
-	private Integer type;
-	/** 试卷ID */
-	@Excel(name = "试卷ID")
-	@ApiModelProperty("试卷ID")
-	private Long examId;
+	private String studyTimeLongTxt;
+	@Excel(name = "学习/做题状态")
+	private String studyStatusTxt;
+	@Excel(name = "测试成绩")
+	private BigDecimal score;
 
-	/** 班级ID */
-	@ApiModelProperty("班级ID")
-	private Long gradeId;
 }

+ 2 - 2
zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeUserMapper.xml

@@ -420,10 +420,10 @@
         (SELECT COUNT(ccs.section_id) FROM course_chapter_section ccs where ccs.chapter_id=cm.menu_id) as class_hours,
         2 as type,
         (SELECT usr.create_time FROM user_study_record usr LEFT JOIN course_chapter_section ccs on usr.section_id =
-        ccs.section_id where ccs.chapter_id = cm.menu_id and usr.goods_id = gc.goods_id and usr.grade_id = #{gradeId} ORDER BY usr.create_time ASC
+        ccs.section_id where ccs.chapter_id = cm.menu_id and usr.course_id = cm.course_id and usr.goods_id = gc.goods_id and usr.grade_id = #{gradeId} ORDER BY usr.create_time ASC
         limit 1) as study_start_time,
         (SELECT usr.update_time FROM user_study_record usr LEFT JOIN course_chapter_section ccs on usr.section_id =
-        ccs.section_id where ccs.chapter_id = cm.menu_id and usr.goods_id = gc.goods_id and usr.grade_id = #{gradeId} ORDER BY usr.create_time DESC
+        ccs.section_id where ccs.chapter_id = cm.menu_id and usr.course_id = cm.course_id and usr.goods_id = gc.goods_id and usr.grade_id = #{gradeId} ORDER BY usr.create_time DESC
         limit 1) as study_end_time
         FROM
         course_menu cm