Переглянути джерело

Merge remote-tracking branch 'origin/dev_v3.3.1' into dev_v3.3.1

caozixuan 1 рік тому
батько
коміт
557887f3b4

+ 37 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/TCUsualScoreDto.java

@@ -0,0 +1,37 @@
+package com.qmth.distributed.print.business.bean.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 平时作业成绩dto
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2024/3/15
+ */
+public class TCUsualScoreDto implements Serializable {
+
+    @ApiModelProperty(value = "分数")
+    private String score;
+
+    @ApiModelProperty(value = "名称")
+    private String name;
+
+    public String getScore() {
+        return score;
+    }
+
+    public void setScore(String score) {
+        this.score = score;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+}

+ 13 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/TCUsualScore.java

@@ -1,5 +1,6 @@
 package com.qmth.distributed.print.business.entity;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.qmth.teachcloud.common.base.BaseEntity;
@@ -50,6 +51,10 @@ public class TCUsualScore extends BaseEntity implements Serializable {
     @ApiModelProperty(value = "是否启用,0:停用,1:启用")
     private Boolean enable;
 
+    @ApiModelProperty(value = "评价方式是否发生变化")
+    @TableField(exist = false)
+    private boolean change;
+
     public TCUsualScore() {
 
     }
@@ -69,6 +74,14 @@ public class TCUsualScore extends BaseEntity implements Serializable {
         this.score = tcUsualScore.getScore();
     }
 
+    public boolean isChange() {
+        return change;
+    }
+
+    public void setChange(boolean change) {
+        this.change = change;
+    }
+
     public Long getExamId() {
         return examId;
     }

+ 2 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamTaskService.java

@@ -183,11 +183,12 @@ public interface ExamTaskService extends IService<ExamTask> {
      * </P>
      *
      * @param examObjectType 考试对象类型
+     * @param examId
      * @param courseCode     基础课程编号
      * @param requestUser    请求的用户
      * @return 命题任务考试对象查询结果
      */
-    List<ExamTaskStudentObjectResult> findExamTaskStudentObject(ExamObjectType examObjectType, String courseCode, SysUser requestUser) throws Exception;
+    List<ExamTaskStudentObjectResult> findExamTaskStudentObject(ExamObjectType examObjectType, Long examId, String courseCode, SysUser requestUser) throws Exception;
 
     /**
      * 命题任务考生导入

+ 10 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/TRBasicInfoService.java

@@ -2,6 +2,7 @@ package com.qmth.distributed.print.business.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.deepoove.poi.data.TableRenderData;
+import com.qmth.distributed.print.business.bean.dto.CourseWeightDto;
 import com.qmth.distributed.print.business.bean.dto.report.CourseTargetWordDto;
 import com.qmth.distributed.print.business.bean.dto.report.ReportCourseEvaluationResultDto;
 import com.qmth.distributed.print.business.bean.dto.report.ReportScoreViewDto;
@@ -121,6 +122,15 @@ public interface TRBasicInfoService extends IService<TRBasicInfo> {
      */
     public CourseWeightResult findCourseWeightResultRmi(Long examId, String courseCode);
 
+    /**
+     * 查找课程评价值
+     *
+     * @param examId
+     * @param courseCode
+     * @return
+     */
+    public List<CourseWeightDto> findCourseWeightDtoRmi(Long examId, String courseCode);
+
     /**
      * 清除报告数据
      *

+ 43 - 43
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java

@@ -1683,11 +1683,11 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public List<ExamTaskStudentObjectResult> findExamTaskStudentObject(ExamObjectType examObjectType, String courseCode, SysUser requestUser) throws Exception {
+    public List<ExamTaskStudentObjectResult> findExamTaskStudentObject(ExamObjectType examObjectType, Long examId, String courseCode, SysUser requestUser) throws Exception {
         Long schoolId = requestUser.getSchoolId();
         Long userId = requestUser.getId();
         List<ExamTaskStudentObjectResult> result = new ArrayList<>();
-//        switch (examObjectType) {
+        switch (examObjectType) {
 //            case TEACH_CLAZZ_STUDENT:
 //                if (!SystemConstant.strNotNull(courseCode)) {
 //                    throw ExceptionResultEnum.ERROR.exception("缺少考试课程编号");
@@ -1743,45 +1743,45 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
 //                    }
 //                }
 //                break;
-//            case BASIC_CLAZZ_STUDENT:
-//                // 基础班级对象
-//                List<BasicStudentResult> basicStudentResultList = basicStudentService.basicStudentList(schoolId, null, null, null, null);
-//                if (!CollectionUtils.isEmpty(basicStudentResultList)) {
-//                    LinkedMultiValueMap<Long, StudentInfo> studentInfoLinkedMultiValueMap = new LinkedMultiValueMap<>();
-//                    Map<Long, ExamTaskStudentObjectResult> examTaskStudentObjectResultMap = new LinkedHashMap<>();
-//                    for (BasicStudentResult e : basicStudentResultList) {
-//                        // 没有班级的考生,不返回
-//                        if (StringUtils.isBlank(e.getClazz())) {
-//                            continue;
-//                        }
-//                        StudentInfo studentInfo = new StudentInfo();
-//                        studentInfo.setStudentId(e.getId());
-//                        studentInfo.setStudentCode(e.getStudentCode());
-//                        studentInfo.setStudentName(e.getStudentName());
-//                        studentInfo.setCollegeName(e.getCollegeName());
-//                        studentInfo.setMajorName(e.getMajorName());
-//                        studentInfo.setBasicClazzId(e.getClazzId());
-//                        studentInfo.setBasicClazzName(e.getClazz());
-//                        studentInfoLinkedMultiValueMap.add(e.getClazzId(), studentInfo);
-//
-//                        ExamTaskStudentObjectResult examTaskStudentObjectResult = null;
-//                        if (!examTaskStudentObjectResultMap.containsKey(e.getClazzId())) {
-//                            examTaskStudentObjectResult = new ExamTaskStudentObjectResult();
-//                            examTaskStudentObjectResult.setClazzId(e.getClazzId());
-//                            examTaskStudentObjectResult.setClazzName(e.getClazz());
-//                            examTaskStudentObjectResult.setStudentClazzType(examObjectType.getStudentClazzType());
-//                        } else {
-//                            examTaskStudentObjectResult = examTaskStudentObjectResultMap.get(e.getClazzId());
-//                        }
-//                        examTaskStudentObjectResult.setStudentInfoList(studentInfoLinkedMultiValueMap.get(e.getClazzId()));
-//                        examTaskStudentObjectResultMap.put(e.getClazzId(), examTaskStudentObjectResult);
-//                    }
-//                    result.addAll(examTaskStudentObjectResultMap.values());
-//                }
-//                break;
-//            default:
-//                break;
-//        }
+            case BASIC_CLAZZ_STUDENT:
+                // 基础班级对象
+                List<BasicStudentResult> basicStudentResultList = basicStudentService.basicStudentList(schoolId, examId, null);
+                if (!CollectionUtils.isEmpty(basicStudentResultList)) {
+                    LinkedMultiValueMap<Long, StudentInfo> studentInfoLinkedMultiValueMap = new LinkedMultiValueMap<>();
+                    Map<Long, ExamTaskStudentObjectResult> examTaskStudentObjectResultMap = new LinkedHashMap<>();
+                    for (BasicStudentResult e : basicStudentResultList) {
+                        // 没有班级的考生,不返回
+                        if (StringUtils.isBlank(e.getClazz())) {
+                            continue;
+                        }
+                        StudentInfo studentInfo = new StudentInfo();
+                        studentInfo.setStudentId(e.getId());
+                        studentInfo.setStudentCode(e.getStudentCode());
+                        studentInfo.setStudentName(e.getStudentName());
+                        studentInfo.setCollegeName(e.getCollegeName());
+                        studentInfo.setMajorName(e.getMajorName());
+                        studentInfo.setBasicClazzId(e.getClazzId());
+                        studentInfo.setBasicClazzName(e.getClazz());
+                        studentInfoLinkedMultiValueMap.add(e.getClazzId(), studentInfo);
+
+                        ExamTaskStudentObjectResult examTaskStudentObjectResult = null;
+                        if (!examTaskStudentObjectResultMap.containsKey(e.getClazzId())) {
+                            examTaskStudentObjectResult = new ExamTaskStudentObjectResult();
+                            examTaskStudentObjectResult.setClazzId(e.getClazzId());
+                            examTaskStudentObjectResult.setClazzName(e.getClazz());
+                            examTaskStudentObjectResult.setStudentClazzType(examObjectType.getStudentClazzType());
+                        } else {
+                            examTaskStudentObjectResult = examTaskStudentObjectResultMap.get(e.getClazzId());
+                        }
+                        examTaskStudentObjectResult.setStudentInfoList(studentInfoLinkedMultiValueMap.get(e.getClazzId()));
+                        examTaskStudentObjectResultMap.put(e.getClazzId(), examTaskStudentObjectResult);
+                    }
+                    result.addAll(examTaskStudentObjectResultMap.values());
+                }
+                break;
+            default:
+                break;
+        }
         return result;
     }
 
@@ -1850,7 +1850,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
         }, 2);
         // 校验已经有的考生所在部门的信息是否正确
         // 导入的excel创建或查询的学生集合
-        List<BasicStudentResult> studentDatasource = basicStudentService.basicStudentList(requestUser.getSchoolId(), null, null, null, null);
+        List<BasicStudentResult> studentDatasource = basicStudentService.basicStudentList(requestUser.getSchoolId(), null, null);
 
         List<ExamStudentImportDto> existStudentList = examStudentImportDtoList
                 .stream()
@@ -1915,7 +1915,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
 
         List<String> studentCodeDatasource = examStudentImportDtoList.stream().map(ExamStudentImportDto::getStudentCode).distinct().collect(Collectors.toList());
         // 导入的excel创建或查询的学生集合
-        List<BasicStudentResult> basicStudentResultDatasource = basicStudentService.basicStudentList(requestUser.getSchoolId(), null, null, null, studentCodeDatasource);
+        List<BasicStudentResult> basicStudentResultDatasource = basicStudentService.basicStudentList(requestUser.getSchoolId(), null, studentCodeDatasource);
 
         // 考试对象键(考点、考场)
         List<Map<String, String>> examObjectKeyList = examStudentImportDtoList.stream().flatMap(e -> {

+ 17 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TRBasicInfoServiceImpl.java

@@ -795,6 +795,23 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
         return courseWeightResult;
     }
 
+    /**
+     * 查找课程评价值
+     *
+     * @param examId
+     * @param courseCode
+     * @return
+     */
+    @Override
+    public List<CourseWeightDto> findCourseWeightDtoRmi(Long examId, String courseCode) {
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        CourseWeightResult courseWeightResult = courseWeightService.findCourseWeight(examId, courseCode, sysUser.getId());
+        if (Objects.nonNull(courseWeightResult) && !CollectionUtils.isEmpty(courseWeightResult.getSubmitForm())) {
+            return courseWeightResult.getSubmitForm();
+        }
+        return null;
+    }
+
     /**
      * 清除报告数据
      *

+ 2 - 1
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskApplyController.java

@@ -250,9 +250,10 @@ public class ExamTaskApplyController {
     @Transactional(rollbackFor = Exception.class)
     @ApiResponses({@ApiResponse(code = 200, message = "{\"success\":true}", response = Result.class)})
     public Result findExamTaskStudentObject(@RequestParam ExamObjectType examObjectType,
+                                            @RequestParam Long examId,
                                             @RequestParam(required = false) String courseCode) throws Exception {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
-        return ResultUtil.ok(examTaskService.findExamTaskStudentObject(examObjectType, courseCode, requestUser));
+        return ResultUtil.ok(examTaskService.findExamTaskStudentObject(examObjectType, examId, courseCode, requestUser));
     }
 
     @ApiOperation(value = "入库申请-导入考生对象")

+ 37 - 6
distributed-print/src/main/java/com/qmth/distributed/print/api/TCUsualScoreController.java

@@ -1,9 +1,12 @@
 package com.qmth.distributed.print.api;
 
+import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.distributed.print.business.bean.dto.CourseWeightDetailDto;
 import com.qmth.distributed.print.business.bean.dto.CourseWeightDto;
+import com.qmth.distributed.print.business.bean.dto.TCUsualScoreDto;
 import com.qmth.distributed.print.business.bean.excel.ExcelField;
 import com.qmth.distributed.print.business.bean.result.CourseWeightResult;
 import com.qmth.distributed.print.business.bean.result.EditResult;
@@ -12,7 +15,6 @@ import com.qmth.distributed.print.business.entity.TCUsualScore;
 import com.qmth.distributed.print.business.service.PrintCommonService;
 import com.qmth.distributed.print.business.service.TCUsualScoreService;
 import com.qmth.distributed.print.business.service.TRBasicInfoService;
-import com.qmth.distributed.print.business.service.TRExamStudentService;
 import com.qmth.teachcloud.common.annotation.OperationLogDetail;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.SysUser;
@@ -20,6 +22,7 @@ import com.qmth.teachcloud.common.enums.log.CustomizedOperationTypeEnum;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import io.swagger.annotations.*;
+import org.apache.commons.collections4.CollectionUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
@@ -33,10 +36,7 @@ import javax.validation.Valid;
 import javax.validation.constraints.Max;
 import javax.validation.constraints.Min;
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -119,7 +119,38 @@ public class TCUsualScoreController {
                                  @ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber,
                                  @ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
                                  @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) throws IOException {
-        return ResultUtil.ok(tcUsualScoreService.usualScoreList(new Page<>(pageNumber, pageSize), examId, courseCode, paperNumber));
+        IPage<TCUsualScore> tcUsualScoreIPage = tcUsualScoreService.usualScoreList(new Page<>(pageNumber, pageSize), examId, courseCode, paperNumber);
+        if (Objects.nonNull(tcUsualScoreIPage) && CollectionUtils.isNotEmpty(tcUsualScoreIPage.getRecords())) {
+            Set<String> usualScoreSet = new LinkedHashSet<>();
+            Set<String> usualScoreCourseSet = new LinkedHashSet<>();
+            tcUsualScoreIPage.getRecords().stream().peek(e -> {
+                List<TCUsualScoreDto> tcUsualScoreDtoList = JSONArray.parseArray(e.getScore(), TCUsualScoreDto.class);
+                usualScoreSet.addAll(tcUsualScoreDtoList.stream().map(s -> s.getName()).collect(Collectors.toList()));
+            }).collect(Collectors.toSet());
+
+            List<CourseWeightDto> courseWeightDtoList = trBasicInfoService.findCourseWeightDtoRmi(examId, courseCode);
+            if (CollectionUtils.isNotEmpty(courseWeightDtoList)) {
+                courseWeightDtoList.stream().peek(e -> {
+                    List<CourseWeightDetailDto> courseWeightDetailDtoList = e.getEvaluationList();
+                    courseWeightDetailDtoList.stream().peek(s -> {
+                        if (!Objects.equals(s.getEvaluationName(), "期末考试")) {
+                            usualScoreCourseSet.add(s.getEvaluationName());
+                        }
+                    }).collect(Collectors.toList());
+                }).collect(Collectors.toList());
+            }
+
+            if (CollectionUtils.isNotEmpty(usualScoreSet) && CollectionUtils.isNotEmpty(usualScoreCourseSet)) {
+                List<String> usualScoreList = new ArrayList<>(usualScoreSet);
+                List<String> usualScoreCourseList = new ArrayList<>(usualScoreCourseSet);
+                Collections.sort(usualScoreList);
+                Collections.sort(usualScoreCourseList);
+                if (!CollectionUtils.isEqualCollection(usualScoreList, usualScoreCourseList)) {
+                    tcUsualScoreIPage.getRecords().get(0).setChange(true);
+                }
+            }
+        }
+        return ResultUtil.ok(tcUsualScoreIPage);
     }
 
     @ApiOperation(value = "平时成绩编辑")

+ 0 - 6
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicStudentMapper.java

@@ -54,16 +54,10 @@ public interface BasicStudentMapper extends BaseMapper<BasicStudent> {
      * 根据第三方字典id查找学生集合
      *
      * @param schoolId        学校id
-     * @param collegeId       学生学院id
-     * @param majorId         专业id
-     * @param clazzId         班级id
      * @param studentCodeList 学号集合
      * @return 学生查询结果
      */
     List<BasicStudentResult> findBasicStudentList(@Param("schoolId") Long schoolId,
-                                                  @Param("collegeId") Long collegeId,
-                                                  @Param("majorId") Long majorId,
-                                                  @Param("clazzId") Long clazzId,
                                                   @Param("studentCodeList") List<String> studentCodeList);
 
     List<BasicStudentExportDto> listExportData(@Param("queryParams") String queryParams,

+ 2 - 4
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicStudentService.java

@@ -56,13 +56,11 @@ public interface BasicStudentService extends IService<BasicStudent> {
      * 学生基础信息查询
      *
      * @param schoolId        学校id
-     * @param collegeId       学院id
-     * @param majorId         专业id
-     * @param clazzId         班级id
+     * @param examId
      * @param studentCodeList 学号集合
      * @return 学生查询结果
      */
-    List<BasicStudentResult> basicStudentList(Long schoolId, Long collegeId, Long majorId, Long clazzId, List<String> studentCodeList);
+    List<BasicStudentResult> basicStudentList(Long schoolId, Long examId, List<String> studentCodeList);
 
     /**
      * 新增/编辑 学生基础信息

+ 4 - 8
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicStudentServiceImpl.java

@@ -1,6 +1,5 @@
 package com.qmth.teachcloud.common.service.impl;
 
-import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -22,7 +21,6 @@ import com.qmth.teachcloud.common.bean.params.BasicStudentExtrasParam;
 import com.qmth.teachcloud.common.bean.params.BasicStudentParams;
 import com.qmth.teachcloud.common.bean.result.BasicStudentResult;
 import com.qmth.teachcloud.common.bean.vo.FilePathVo;
-import com.qmth.teachcloud.common.contant.SpringContextHolder;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.*;
 import com.qmth.teachcloud.common.enums.*;
@@ -46,8 +44,6 @@ import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import java.io.File;
 import java.io.IOException;
-import java.io.InputStream;
-import java.text.MessageFormat;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
@@ -98,8 +94,8 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
     }
 
     @Override
-    public List<BasicStudentResult> basicStudentList(Long schoolId, Long collegeId, Long majorId, Long clazzId, List<String> studentCodeList) {
-        return this.baseMapper.findBasicStudentList(schoolId, collegeId, majorId, clazzId, studentCodeList);
+    public List<BasicStudentResult> basicStudentList(Long schoolId, Long examId, List<String> studentCodeList) {
+        return this.baseMapper.findBasicStudentList(schoolId, studentCodeList);
     }
 
     @Override
@@ -393,7 +389,7 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
             tbTaskService.updateById(tbTask);
             checkImportBasicStudent(file, basicStudentList, errorDataList, totalInteger, sysUser);
 
-            if(CollectionUtils.isNotEmpty(basicStudentList)){
+            if (CollectionUtils.isNotEmpty(basicStudentList)) {
                 this.saveBatch(basicStudentList);
             }
         } catch (Exception e) {
@@ -487,7 +483,7 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
                         checkCodeMap.put(studentCode, 1);
                     }
 
-                    if(CollectionUtils.isNotEmpty(errorMsgList)){
+                    if (CollectionUtils.isNotEmpty(errorMsgList)) {
                         continue;
                     }
 

+ 7 - 18
teachcloud-common/src/main/resources/mapper/BasicStudentMapper.xml

@@ -124,34 +124,23 @@
             phone_number AS phoneNumber,
             bc.id AS collegeId,
             bc.name AS collegeName,
-            bm.id AS majorId,
-            bm.name AS majorName,
-            clazz_id AS clazzId,
+            stu.major AS majorName,
+            stu.clazz_id AS clazzId,
             clz.clazz_name AS clazz,
-            stu.enable,
             stu.create_id AS createId,
             stu.create_time AS createTime
         FROM
-            basic_student stu
+            basic_exam_student stu
                 LEFT JOIN
-            basic_clazz clz ON stu.clazz_id = clz.id AND clz.enable = TRUE
-                LEFT JOIN
-            basic_major bm ON stu.major_id = bm.id AND bm.enable = TRUE
+            basic_teach_clazz clz ON stu.clazz_id = clz.id AND clz.enable = TRUE
                 LEFT JOIN
             sys_org bc ON stu.belong_org_id = bc.id
         <where>
-            and stu.enable = true
-            <if test="schoolId != null and schoolId != ''">
+            <if test="schoolId != null">
                 and stu.school_id = #{schoolId}
             </if>
-            <if test="collegeId != null and collegeId != ''">
-                and stu.belong_org_id = #{collegeId}
-            </if>
-            <if test="majorId != null and majorId != ''">
-                and stu.major_id = #{majorId}
-            </if>
-            <if test="clazzId != null and clazzId != ''">
-                and stu.clazz_id = #{clazzId}
+            <if test="examId != null">
+                and stu.exam_id = #{examId}
             </if>
             <if test="studentCodeList != null and studentCodeList != '' and studentCodeList.size > 0">
                 AND stu.student_code IN