Răsfoiți Sursa

fix:教研分析部分课程编号改动

caozixuan 1 an în urmă
părinte
comite
c71afab49a

+ 9 - 19
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/GradeBatchPaperMapper.java

@@ -31,12 +31,8 @@ public interface GradeBatchPaperMapper extends BaseMapper<GradeBatchPaper> {
      * @param schoolId   学校id
      * @return 结果
      */
-    IPage<GradeBatchPaperResult> findGradeBatchPaperPage(@Param("iPage") Page<GradeBatchPaperResult> iPage,
-                                                         @Param("batchId") Long batchId,
-                                                         @Param("examId") Long examId,
-                                                         @Param("courseName") String courseName,
-                                                         @Param("schoolId") Long schoolId,
-                                                         @Param("dpr") DataPermissionRule dpr);
+    IPage<GradeBatchPaperResult> findGradeBatchPaperPage(@Param("iPage") Page<GradeBatchPaperResult> iPage, @Param("batchId") Long batchId,
+            @Param("examId") Long examId, @Param("courseName") String courseName, @Param("schoolId") Long schoolId, @Param("dpr") DataPermissionRule dpr);
 
     /**
      * 查询可以分析的试卷数据
@@ -44,22 +40,16 @@ public interface GradeBatchPaperMapper extends BaseMapper<GradeBatchPaper> {
      * @param semesterId  学期id
      * @param examId      考试id
      * @param collegeId   开课学院id
-     * @param courseCode  课程编号
+     * @param courseId    课程id
      * @param teacherName 命题教师名称
-     * @param dpr      数据权限
+     * @param dpr         数据权限
      * @param schoolId    学校id
      * @return 查询结果
      */
-    List<GradeBatchPaperResult> findAbleAnalyzePaper(@Param("semesterId") Long semesterId,
-                                                     @Param("examId") Long examId,
-                                                     @Param("collegeId") Long collegeId,
-                                                     @Param("courseCode") String courseCode,
-                                                     @Param("teacherName") String teacherName,
-                                                     @Param("dpr") DataPermissionRule dpr,
-                                                     @Param("schoolId") Long schoolId);
+    List<GradeBatchPaperResult> findAbleAnalyzePaper(@Param("semesterId") Long semesterId, @Param("examId") Long examId,
+            @Param("collegeId") Long collegeId, @Param("courseId") Long courseId, @Param("teacherName") String teacherName,
+            @Param("dpr") DataPermissionRule dpr, @Param("schoolId") Long schoolId);
 
-
-    GradeBatchPaper findByThirdExamIdAndGradeCourseCode(@Param("schoolId") Long schoolId,
-                                                        @Param("thirdExamId") String thirdExamId,
-                                                        @Param("gradeCourseCode") String gradeCourseCode);
+    GradeBatchPaper findByThirdExamIdAndGradeCourseCode(@Param("schoolId") Long schoolId, @Param("thirdExamId") String thirdExamId,
+            @Param("gradeCourseCode") String gradeCourseCode);
 }

+ 6 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/GradeBatchPaperService.java

@@ -19,6 +19,7 @@ import java.util.List;
  * @since 2022-05-20
  */
 public interface GradeBatchPaperService extends IService<GradeBatchPaper> {
+
     /**
      * 查询批次试卷分页数据
      *
@@ -30,7 +31,8 @@ public interface GradeBatchPaperService extends IService<GradeBatchPaper> {
      * @param requestUser 请求用户
      * @return 分页结果
      */
-    IPage<GradeBatchPaperResult> findGradeBatchPaperPage(Long batchId, Long examId, String courseName, int pageNumber, int pageSize, SysUser requestUser);
+    IPage<GradeBatchPaperResult> findGradeBatchPaperPage(Long batchId, Long examId, String courseName, int pageNumber,
+            int pageSize, SysUser requestUser);
 
     /**
      * 查询可以作为分析样本的试卷
@@ -38,12 +40,13 @@ public interface GradeBatchPaperService extends IService<GradeBatchPaper> {
      * @param batchId     批次id
      * @param examId      考试id
      * @param collegeId   学院id
-     * @param courseCode  课程编号
+     * @param courseId    课程id
      * @param teacherName 命题教师
      * @param requestUser 请求用户
      * @return 试卷结果
      */
-    List<GradeBatchPaperResult> findAbleAnalyzePaperList(Long batchId, Long examId, Long collegeId, String courseCode, String teacherName, SysUser requestUser);
+    List<GradeBatchPaperResult> findAbleAnalyzePaperList(Long batchId, Long examId, Long collegeId, Long courseId,
+            String teacherName, SysUser requestUser);
 
     /**
      * 保存分析批次试卷

+ 66 - 77
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradeBatchPaperServiceImpl.java

@@ -7,12 +7,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.distributed.print.business.bean.params.analyze.AbleAnalyzePaperParam;
 import com.qmth.distributed.print.business.bean.params.analyze.GradeBatchPaperParam;
-import com.qmth.teachcloud.common.bean.result.DictionaryResult;
 import com.qmth.distributed.print.business.bean.result.analyze.GradeBatchPaperResult;
 import com.qmth.distributed.print.business.entity.*;
 import com.qmth.distributed.print.business.mapper.GradeBatchPaperMapper;
 import com.qmth.distributed.print.business.service.*;
 import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
+import com.qmth.teachcloud.common.bean.result.DictionaryResult;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.SysOrg;
 import com.qmth.teachcloud.common.entity.SysUser;
@@ -40,58 +40,67 @@ import java.util.stream.Stream;
  */
 @Service
 public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMapper, GradeBatchPaper> implements GradeBatchPaperService {
+
     @Resource
     SysOrgService sysOrgService;
+
     @Resource
     GradeBatchService gradeBatchService;
+
     @Resource
     GradePaperDimensionService gradePaperDimensionService;
+
     @Resource
     GradePaperStructService gradePaperStructService;
+
     @Resource
     GradePaperService gradePaperService;
+
     @Resource
     GradeModuleDefineService gradeModuleDefineService;
+
     @Resource
     GradeModuleEvaluationService gradeModuleEvaluationService;
+
     @Resource
     ExamTaskService examTaskService;
+
     @Resource
     BasicRoleDataPermissionService basicRoleDataPermissionService;
 
     @Override
     public IPage<GradeBatchPaperResult> findGradeBatchPaperPage(Long batchId, Long examId, String courseName, int pageNumber, int pageSize, SysUser requestUser) {
         Long schoolId = requestUser.getSchoolId();
-        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId, requestUser.getId(), ServletUtil.getRequest().getServletPath());
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId, requestUser.getId(),
+                ServletUtil.getRequest().getServletPath());
         courseName = SystemConstant.translateSpecificSign(courseName);
-        IPage<GradeBatchPaperResult> datasource = this.baseMapper.findGradeBatchPaperPage(new Page<>(pageNumber, pageSize), batchId, examId, courseName, schoolId, dpr);
-        for (GradeBatchPaperResult record : datasource.getRecords()) {
-            Long teachingRoomId = record.getTeachingRoomId();
-            SysOrg teachCollege = sysOrgService.findCollegeLevelOrgByOrgId(teachingRoomId);
-            if (Objects.nonNull(teachCollege)){
-                record.setTeachCollegeId(teachCollege.getId());
-                record.setTeachCollegeName(teachCollege.getName());
-            }
-        }
-        return datasource;
+        return this.baseMapper.findGradeBatchPaperPage(new Page<>(pageNumber, pageSize), batchId, examId, courseName, schoolId, dpr);
     }
 
     @Override
-    public List<GradeBatchPaperResult> findAbleAnalyzePaperList(Long batchId, Long examId, Long collegeId, String courseCode, String teacherName, SysUser requestUser) {
+    public List<GradeBatchPaperResult> findAbleAnalyzePaperList(Long batchId, Long examId, Long collegeId, Long courseId, String teacherName, SysUser requestUser) {
         Long schoolId = requestUser.getSchoolId();
-        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId, requestUser.getId(), ServletUtil.getRequest().getServletPath());
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId, requestUser.getId(),
+                ServletUtil.getRequest().getServletPath());
         GradeBatch gradeBatch = gradeBatchService.getById(batchId);
         if (Objects.isNull(gradeBatch)) {
             throw ExceptionResultEnum.ERROR.exception("教研分析批次不存在");
         }
 
-        List<GradeBatchPaperResult> datasource = this.baseMapper.findAbleAnalyzePaper(gradeBatch.getSemesterId(), examId, collegeId, courseCode, SystemConstant.translateSpecificSign(teacherName), dpr, schoolId);
+        List<GradeBatchPaperResult> datasource = this.baseMapper.findAbleAnalyzePaper(gradeBatch.getSemesterId(), examId, collegeId, courseId, SystemConstant.translateSpecificSign(teacherName), dpr, schoolId);
         List<GradeBatchPaperResult> copy = new ArrayList<>();
 
+        // 学院级机构集合
+        Map<Long, SysOrg> teachCollegeMap = sysOrgService.findCollegeLevelOrgList(schoolId).stream().collect(Collectors.toMap(SysOrg::getId, sysOrg -> sysOrg));
+
         for (GradeBatchPaperResult gradeBatchPaperResult : datasource) {
             // 额外处理开课学院
-            Long teachingRoomId = gradeBatchPaperResult.getTeachingRoomId();
-            SysOrg teachCollege = sysOrgService.findCollegeLevelOrgByOrgId(teachingRoomId);
+            Long teachingCollegeId = gradeBatchPaperResult.getTeachCollegeId();
+            if (!teachCollegeMap.containsKey(teachingCollegeId)) {
+                throw ExceptionResultEnum.ERROR.exception(String.format("课程【%s】的开课学院有误(不是学校的下一级)", gradeBatchPaperResult.getCourseName()));
+            }
+
+            SysOrg teachCollege = teachCollegeMap.get(teachingCollegeId);
             if (SystemConstant.longNotNull(collegeId) && !collegeId.equals(teachCollege.getId())) {
                 continue;
             }
@@ -114,7 +123,7 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
         Long batchId = gradeBatchPaperParam.getBatchId();
         Long schoolId = requestUser.getSchoolId();
         GradeBatch gradeBatch = gradeBatchService.getById(batchId);
-        if (Objects.isNull(gradeBatch)){
+        if (Objects.isNull(gradeBatch)) {
             throw ExceptionResultEnum.ERROR.exception("分析批次不存在");
         }
         Long examId = gradeBatch.getExamId();
@@ -139,12 +148,9 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
             gradeBatchPaper.setTeachCollegeId(teachCollegeId);
             gradeBatchPaper.setTeachCollegeName(teachCollegeName);
 
-
-            GradeBatchPaper dbBatchPaper = this.getOne(new QueryWrapper<GradeBatchPaper>().lambda()
-                    .eq(GradeBatchPaper::getSchoolId, schoolId)
-                    .eq(GradeBatchPaper::getBatchId, batchId)
-                    .eq(GradeBatchPaper::getPaperNumber, paperNumber)
-                    .eq(GradeBatchPaper::getPaperType, paperType));
+            GradeBatchPaper dbBatchPaper = this.getOne(
+                    new QueryWrapper<GradeBatchPaper>().lambda().eq(GradeBatchPaper::getSchoolId, schoolId).eq(GradeBatchPaper::getBatchId, batchId).eq(GradeBatchPaper::getPaperNumber, paperNumber)
+                            .eq(GradeBatchPaper::getPaperType, paperType));
             if (Objects.isNull(dbBatchPaper)) {
                 // 新增
                 gradeBatchPaper.insertInfo(requestUser.getId());
@@ -193,12 +199,12 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
         for (Long id : idList) {
             GradeBatchPaper gradeBatchPaper = this.getById(id);
             if (GradeAnalyzePaperStatusEnum.CALCULATING.equals(gradeBatchPaper.getStatus())) {
-                throw ExceptionResultEnum.ERROR.exception("试卷编号为【" + gradeBatchPaper.getPaperNumber() +
-                        "】,试卷类型为【" + gradeBatchPaper.getPaperType() + "】的分析试卷正在计算中请稍后再试");
+                throw ExceptionResultEnum.ERROR.exception(
+                        "试卷编号为【" + gradeBatchPaper.getPaperNumber() + "】,试卷类型为【" + gradeBatchPaper.getPaperType() + "】的分析试卷正在计算中请稍后再试");
             }
             if (gradeBatchPaper.getPublishStatus()) {
-                throw ExceptionResultEnum.ERROR.exception("试卷编号为【" + gradeBatchPaper.getPaperNumber() +
-                        "】,试卷类型为【" + gradeBatchPaper.getPaperType() + "】的分析试卷已发布,不能删除");
+                throw ExceptionResultEnum.ERROR.exception(
+                        "试卷编号为【" + gradeBatchPaper.getPaperNumber() + "】,试卷类型为【" + gradeBatchPaper.getPaperType() + "】的分析试卷已发布,不能删除");
             }
         }
         // 更新批次状态为status=PUSH_GRADE_BATCH
@@ -220,11 +226,9 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
     @Transactional
     @Override
     public void checkOperateAuth(Long schoolId, Long examId, String paperNumber, String paperType) {
-        List<GradeBatchPaper> gradeBatchPaperList = this.list(new QueryWrapper<GradeBatchPaper>().lambda()
-                .eq(GradeBatchPaper::getSchoolId, schoolId)
-                .eq(GradeBatchPaper::getExamId, examId)
-                .eq(GradeBatchPaper::getPaperNumber, paperNumber)
-                .eq(GradeBatchPaper::getPaperType, paperType));
+        List<GradeBatchPaper> gradeBatchPaperList = this.list(
+                new QueryWrapper<GradeBatchPaper>().lambda().eq(GradeBatchPaper::getSchoolId, schoolId).eq(GradeBatchPaper::getExamId, examId).eq(GradeBatchPaper::getPaperNumber, paperNumber)
+                        .eq(GradeBatchPaper::getPaperType, paperType));
         if (gradeBatchPaperList.stream().anyMatch(e -> GradeAnalyzePaperStatusEnum.CALCULATING.equals(e.getStatus()))) {
             throw ExceptionResultEnum.ERROR.exception("选择的试卷有正在计算的分析课程");
         }
@@ -243,11 +247,9 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
     @Override
     public void updatePaperAndBatchStatus(Long schoolId, Long examId, String paperNumber, String paperType) {
         if (this.analyzeDataReady(schoolId, examId, paperNumber, paperType)) {
-            List<GradeBatchPaper> gradeBatchPaperList = this.list(new QueryWrapper<GradeBatchPaper>().lambda()
-                    .eq(GradeBatchPaper::getSchoolId, schoolId)
-                    .eq(GradeBatchPaper::getExamId,examId)
-                    .eq(GradeBatchPaper::getPaperNumber, paperNumber)
-                    .eq(GradeBatchPaper::getPaperType, paperType));
+            List<GradeBatchPaper> gradeBatchPaperList = this.list(
+                    new QueryWrapper<GradeBatchPaper>().lambda().eq(GradeBatchPaper::getSchoolId, schoolId)
+                            .eq(GradeBatchPaper::getExamId, examId).eq(GradeBatchPaper::getPaperNumber, paperNumber).eq(GradeBatchPaper::getPaperType, paperType));
             // 如果所有数据都有,则更新状态
             // 更新批次科目状态
             for (GradeBatchPaper gradeBatchPaper : gradeBatchPaperList) {
@@ -268,11 +270,13 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
                     queryWrapperList.lambda().eq(GradeBatchPaper::getBatchId, gradeBatchPaper.getBatchId());
                     List<GradeBatchPaper> gradeBatchPaperAll = this.list(queryWrapperList);
                     if (!gradeBatchPaperAll.isEmpty()) {
-                        long count = gradeBatchPaperAll.stream().filter(m -> !GradeAnalyzePaperStatusEnum.READY_TO_CALCULATE.equals(m.getStatus())).count();
+                        long count = gradeBatchPaperAll.stream().filter(m -> !GradeAnalyzePaperStatusEnum.READY_TO_CALCULATE.equals(m.getStatus()))
+                                .count();
                         if (count == 0) {
                             // 更新批次状态
                             UpdateWrapper<GradeBatch> updateWrapper = new UpdateWrapper<>();
-                            updateWrapper.lambda().set(GradeBatch::getStatus, GradeAnalyzePaperStatusEnum.READY_TO_CALCULATE).eq(GradeBatch::getId, gradeBatchPaper.getBatchId());
+                            updateWrapper.lambda()
+                                    .set(GradeBatch::getStatus, GradeAnalyzePaperStatusEnum.READY_TO_CALCULATE).eq(GradeBatch::getId, gradeBatchPaper.getBatchId());
                             gradeBatchService.update(updateWrapper);
                         }
                     }
@@ -284,56 +288,44 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
     @Override
     public boolean analyzeDataReady(Long schoolId, Long examId, String paperNumber, String paperType) {
         // 检验维度数据存在
-        boolean dimensionExist = gradePaperDimensionService.list(new QueryWrapper<GradePaperDimension>().lambda()
-                        .eq(GradePaperDimension::getSchoolId, schoolId)
-                        .eq(GradePaperDimension::getExamId, examId)
-                        .eq(GradePaperDimension::getPaperNumber, paperNumber)
-                        .eq(GradePaperDimension::getPaperType, paperType))
-                .size() > 0;
+        boolean dimensionExist = gradePaperDimensionService.list(
+                new QueryWrapper<GradePaperDimension>().lambda().eq(GradePaperDimension::getSchoolId, schoolId)
+                        .eq(GradePaperDimension::getExamId, examId).eq(GradePaperDimension::getPaperNumber, paperNumber)
+                        .eq(GradePaperDimension::getPaperType, paperType)).size() > 0;
         if (!dimensionExist) {
             return false;
         }
         // 检验结构数据存在
-        boolean structExist = gradePaperStructService.list(new QueryWrapper<GradePaperStruct>().lambda()
-                        .eq(GradePaperStruct::getSchoolId, schoolId)
-                        .eq(GradePaperStruct::getExamId, examId)
-                        .eq(GradePaperStruct::getPaperNumber, paperNumber)
-                        .eq(GradePaperStruct::getPaperType, paperType))
-                .size() > 0;
+        boolean structExist = gradePaperStructService.list(
+                new QueryWrapper<GradePaperStruct>().lambda().eq(GradePaperStruct::getSchoolId, schoolId)
+                        .eq(GradePaperStruct::getExamId, examId).eq(GradePaperStruct::getPaperNumber, paperNumber)
+                        .eq(GradePaperStruct::getPaperType, paperType)).size() > 0;
         if (!structExist) {
             return false;
         }
         // 检验试卷基础分析数据存在
-        boolean paperExist = gradePaperService.list(new QueryWrapper<GradePaper>()
-                        .lambda()
-                        .eq(GradePaper::getSchoolId, schoolId)
-                        .eq(GradePaper::getExamId, examId)
-                        .eq(GradePaper::getPaperNumber, paperNumber)
-                        .eq(GradePaper::getPaperType, paperType))
-                .size() > 0;
+        boolean paperExist = gradePaperService.list(
+                new QueryWrapper<GradePaper>().lambda().eq(GradePaper::getSchoolId, schoolId)
+                        .eq(GradePaper::getExamId, examId).eq(GradePaper::getPaperNumber, paperNumber)
+                        .eq(GradePaper::getPaperType, paperType)).size() > 0;
         if (!paperExist) {
             return false;
         }
         // 精熟度定义数据存在
-        boolean moduleDefineExist = gradeModuleDefineService.list(new QueryWrapper<GradeModuleDefine>()
-                        .lambda()
-                        .eq(GradeModuleDefine::getSchoolId, schoolId)
-                        .eq(GradeModuleDefine::getExamId, examId)
-                        .eq(GradeModuleDefine::getPaperNumber, paperNumber)
-                        .eq(GradeModuleDefine::getPaperType, paperType))
-                .size() > 0;
+        boolean moduleDefineExist = gradeModuleDefineService.list(
+                new QueryWrapper<GradeModuleDefine>().lambda().eq(GradeModuleDefine::getSchoolId, schoolId)
+                        .eq(GradeModuleDefine::getExamId, examId).eq(GradeModuleDefine::getPaperNumber, paperNumber)
+                        .eq(GradeModuleDefine::getPaperType, paperType)).size() > 0;
         if (!moduleDefineExist) {
             return false;
         }
 
         // 模块评价数据存在
-        return gradeModuleEvaluationService.list(new QueryWrapper<GradeModuleEvaluation>()
-                        .lambda()
-                        .eq(GradeModuleEvaluation::getSchoolId, schoolId)
+        return gradeModuleEvaluationService.list(
+                new QueryWrapper<GradeModuleEvaluation>().lambda().eq(GradeModuleEvaluation::getSchoolId, schoolId)
                         .eq(GradeModuleEvaluation::getExamId, examId)
                         .eq(GradeModuleEvaluation::getPaperNumber, paperNumber)
-                        .eq(GradeModuleEvaluation::getPaperType, paperType))
-                .size() > 0;
+                        .eq(GradeModuleEvaluation::getPaperType, paperType)).size() > 0;
     }
 
     @Override
@@ -344,17 +336,14 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
             examTaskQueryWrapper.lambda().eq(ExamTask::getExamId, examId);
         }
         // 命题任务教研室id集合
-        List<Long> teachingRoomIdList = examTaskService.list(examTaskQueryWrapper)
-                .stream()
-                .map(ExamTask::getTeachingRoomId)
-                .distinct()
-                .collect(Collectors.toList());
+        List<Long> teachingRoomIdList = examTaskService.list(examTaskQueryWrapper).stream()
+                .map(ExamTask::getTeachingRoomId).distinct().collect(Collectors.toList());
 
         List<SysOrg> teachOrgList = new ArrayList<>();
         Map<Long, Long> keyMap = new HashMap<>();
         for (Long orgId : teachingRoomIdList) {
             SysOrg sysOrg = sysOrgService.findCollegeLevelOrgByOrgId(orgId);
-            if (Objects.isNull(sysOrg)){
+            if (Objects.isNull(sysOrg)) {
                 continue;
             }
             Long id = sysOrg.getId();

+ 16 - 9
distributed-print-business/src/main/resources/mapper/GradeBatchPaperMapper.xml

@@ -28,9 +28,10 @@
         bs.name AS semesterName,
         be.name AS examName,
         su.real_name AS teacherName,
-        et.course_code AS courseCode,
-        et.course_name AS courseName,
-        et.teaching_room_id AS teachingRoomId,
+        bc.code AS courseCode,
+        bc.name AS courseName,
+        so.id AS teachCollegeId,
+        so.name AS teachCollegeName,
         gbp.paper_number AS paperNumber,
         gbp.paper_type AS paperType,
         gbp.paper_name AS paperName,
@@ -49,6 +50,10 @@
         AND be.semester_id = bs.id
         LEFT JOIN
         sys_user su ON et.user_id = su.id
+        LEFT JOIN
+        basic_course bc ON bc.id = et.course_id
+        LEFT JOIN
+        sys_org so ON so.id = bc.teaching_room_id
         <where>
             AND gbp.enable = true
             <if test="schoolId != null and schoolId != ''">
@@ -61,7 +66,7 @@
                 AND be.id = #{examId}
             </if>
             <if test="courseName != null and courseName != ''">
-                AND et.course_name like concat('%',#{courseName} ,'%')
+                AND bc.name like concat('%',#{courseName} ,'%')
             </if>
             <if test="dpr != null">
                 <if test="dpr.requestUserId != null">
@@ -83,9 +88,9 @@
         SELECT
             bs.name AS semesterName,
             be.name AS examName,
-            et.course_code AS courseCode,
-            et.course_name AS courseName,
-            et.teaching_room_id AS teachingRoomId,
+            bc.code AS courseCode,
+            bc.name AS courseName,
+            bc.teaching_room_id AS teachCollegeId,
             su.real_name AS teacherName,
             et.paper_number AS paperNumber,
             mp.paper_type AS paperType
@@ -95,6 +100,8 @@
             exam_task et ON mp.exam_id = et.exam_id
                 AND mp.paper_number = et.paper_number
                 LEFT JOIN
+            basic_course bc ON et.course_id = bc.id
+                LEFT JOIN
             basic_exam be ON be.id = et.exam_id
                 LEFT JOIN
             basic_semester bs ON bs.id = be.semester_id
@@ -110,8 +117,8 @@
             <if test="examId != null and examId != ''">
                 AND be.id = #{examId}
             </if>
-            <if test="courseCode != null and courseCode != ''">
-                AND et.course_code = #{courseCode}
+            <if test="courseId != null">
+                AND bc.id = #{courseId}
             </if>
             <if test="teacherName != null and teacherName != ''">
                 AND et.teacher_name LIKE CONCAT('%',#{teacherName} ,'%')

+ 7 - 5
distributed-print/src/main/java/com/qmth/distributed/print/api/GradeBatchPaperController.java

@@ -75,17 +75,19 @@ public class GradeBatchPaperController {
     @ApiOperation(value = "成绩分析批次课程-查询可分析试卷")
     @RequestMapping(value = "/able", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = GradeBatchPaperResult.class)})
-    public Result findAbleAnalyzePaperList(@ApiParam(value = "批次id", required = true) @RequestParam String batchId,
-                                           @ApiParam(value = "考试id") @RequestParam(required = false) String examId,
-                                           @ApiParam(value = "学院id") @RequestParam(required = false) String collegeId,
-                                           @ApiParam(value = "课程编号") @RequestParam(required = false) String courseCode,
+    public Result findAbleAnalyzePaperList(@ApiParam(value = "批次id", required = true) @RequestParam Long batchId,
+                                           @ApiParam(value = "考试id") @RequestParam(required = false) Long examId,
+                                           @ApiParam(value = "学院id") @RequestParam(required = false) Long collegeId,
+                                           @ApiParam(value = "课程id") @RequestParam(required = false) Long courseId,
                                            @ApiParam(value = "命题教师") @RequestParam(required = false) String teacherName) {
 
         if (SystemConstant.isOneNull(batchId)) {
             throw ExceptionResultEnum.ERROR.exception("参数不完整");
         }
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
-        return ResultUtil.ok(gradeBatchPaperService.findAbleAnalyzePaperList(SystemConstant.convertIdToLong(batchId), SystemConstant.convertIdToLong(examId), SystemConstant.convertIdToLong(collegeId), courseCode, teacherName, requestUser));
+        return ResultUtil.ok(
+                gradeBatchPaperService.findAbleAnalyzePaperList(batchId, examId, collegeId, courseId, teacherName,
+                        requestUser));
     }
 
     @ApiOperation(value = "成绩分析批次课程-新建")