瀏覽代碼

fix 试卷编号更改 教研分析部分

caozixuan 2 年之前
父節點
當前提交
16fd32dd8a

+ 14 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/analyze/GradeInitResult.java

@@ -1,5 +1,7 @@
 package com.qmth.distributed.print.business.bean.result.analyze;
 
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModelProperty;
 
 /**
@@ -11,6 +13,10 @@ public class GradeInitResult {
     @ApiModelProperty(value = "学期名称")
     private String semesterName;
 
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty(value = "考试id")
+    private Long examId;
+
     @ApiModelProperty(value = "考试名称")
     private String examName;
 
@@ -46,6 +52,14 @@ public class GradeInitResult {
         this.semesterName = semesterName;
     }
 
+    public Long getExamId() {
+        return examId;
+    }
+
+    public void setExamId(Long examId) {
+        this.examId = examId;
+    }
+
     public String getExamName() {
         return examName;
     }

+ 6 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/GradeBatchMapper.java

@@ -25,5 +25,10 @@ public interface GradeBatchMapper extends BaseMapper<GradeBatch> {
      * @param schoolId  学校id
      * @return 分页结果
      */
-    IPage<GradeBatchResult> findGradeBatchPage(@Param("iPage") Page<GradeBatchResult> iPage, @Param("batchName") String batchName, @Param("schoolId") Long schoolId,@Param("dpr") DataPermissionRule dpr);
+    IPage<GradeBatchResult> findGradeBatchPage(@Param("iPage") Page<GradeBatchResult> iPage,
+                                               @Param("semesterId") Long semesterId,
+                                               @Param("examId") Long examId,
+                                               @Param("batchName") String batchName,
+                                               @Param("schoolId") Long schoolId,
+                                               @Param("dpr") DataPermissionRule dpr);
 }

+ 3 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/GradeBatchService.java

@@ -24,13 +24,15 @@ public interface GradeBatchService extends IService<GradeBatch> {
     /**
      * 分析批次分页查询
      *
+     * @param semesterId  学期id
+     * @param examId      考试id
      * @param batchName   批次名称
      * @param pageNumber  分页页数
      * @param pageSize    分页容量
      * @param requestUser 请求用户
      * @return 查询结果
      */
-    IPage<GradeBatchResult> gradeBatchPage(String batchName, int pageNumber, int pageSize, SysUser requestUser);
+    IPage<GradeBatchResult> gradeBatchPage(Long semesterId, Long examId, String batchName, int pageNumber, int pageSize, SysUser requestUser);
 
     /**
      * 创建教研分析批次

+ 1 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradeBatchPaperServiceImpl.java

@@ -251,6 +251,7 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
         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));
             // 如果所有数据都有,则更新状态

+ 2 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradeBatchServiceImpl.java

@@ -95,10 +95,10 @@ public class GradeBatchServiceImpl extends ServiceImpl<GradeBatchMapper, GradeBa
     BasicRoleDataPermissionService basicRoleDataPermissionService;
 
     @Override
-    public IPage<GradeBatchResult> gradeBatchPage(String batchName, int pageNumber, int pageSize, SysUser requestUser) {
+    public IPage<GradeBatchResult> gradeBatchPage(Long semesterId, Long examId, String batchName, int pageNumber, int pageSize, SysUser requestUser) {
         batchName = SystemConstant.translateSpecificSign(batchName);
         DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission();
-        IPage<GradeBatchResult> page = this.baseMapper.findGradeBatchPage(new Page<>(pageNumber, pageSize), batchName, requestUser.getSchoolId(), dpr);
+        IPage<GradeBatchResult> page = this.baseMapper.findGradeBatchPage(new Page<>(pageNumber, pageSize), semesterId, examId, batchName, requestUser.getSchoolId(), dpr);
         for (GradeBatchResult record : page.getRecords()) {
             String txtPath = record.getReportFilePath();
             if (SystemConstant.strNotNull(txtPath)) {

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradeModuleDefineServiceImpl.java

@@ -75,8 +75,8 @@ public class GradeModuleDefineServiceImpl extends ServiceImpl<GradeModuleDefineM
         gradeBatchPaperService.checkOperateAuth(schoolId, examId, paperNumber, paperType);
         this.remove(new QueryWrapper<GradeModuleDefine>()
                 .lambda()
-                .eq(GradeModuleDefine::getExamId, examId)
                 .eq(GradeModuleDefine::getSchoolId, schoolId)
+                .eq(GradeModuleDefine::getExamId, examId)
                 .eq(GradeModuleDefine::getPaperNumber, paperNumber)
                 .eq(GradeModuleDefine::getPaperType, paperType));
         this.saveBatch(gradeModuleDefineList);

+ 1 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradeModuleEvaluationServiceImpl.java

@@ -101,6 +101,7 @@ public class GradeModuleEvaluationServiceImpl extends ServiceImpl<GradeModuleEva
         this.remove(new QueryWrapper<GradeModuleEvaluation>()
                 .lambda()
                 .eq(GradeModuleEvaluation::getSchoolId, schoolId)
+                .eq(GradeModuleEvaluation::getExamId, examId)
                 .eq(GradeModuleEvaluation::getPaperNumber, paperNumber)
                 .eq(GradeModuleEvaluation::getPaperType, paperType));
 

+ 2 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradePaperServiceImpl.java

@@ -45,15 +45,15 @@ public class GradePaperServiceImpl extends ServiceImpl<GradePaperMapper, GradePa
         Long schoolId = requestUser.getSchoolId();
         GradePaper gradePaper = this.getOne(new QueryWrapper<GradePaper>()
                 .lambda()
-                .eq(GradePaper::getExamId, examId)
                 .eq(GradePaper::getSchoolId, schoolId)
+                .eq(GradePaper::getExamId, examId)
                 .eq(GradePaper::getPaperNumber, paperNumber)
                 .eq(GradePaper::getPaperType, paperType));
 
         List<GradeModuleDefine> gradeModuleDefineList = gradeModuleDefineService.list(new QueryWrapper<GradeModuleDefine>()
                 .lambda()
-                .eq(GradeModuleDefine::getExamId, examId)
                 .eq(GradeModuleDefine::getSchoolId, schoolId)
+                .eq(GradeModuleDefine::getExamId, examId)
                 .eq(GradeModuleDefine::getPaperNumber, paperNumber)
                 .eq(GradeModuleDefine::getPaperType, paperType));
 

+ 9 - 6
distributed-print-business/src/main/resources/mapper/GradeBatchMapper.xml

@@ -27,16 +27,19 @@
              FROM
                  grade_batch_paper
              GROUP BY batch_id) gbp ON gb.id = gbp.batch_id
-                LEFT JOIN
-            basic_semester bs ON gb.semester_id = bs.id
-                LEFT JOIN
-            basic_exam be ON gb.exam_id = be.id
+                INNER JOIN
+            basic_semester bs ON gb.semester_id = bs.id AND bs.enable
+                INNER JOIN
+            basic_exam be ON gb.exam_id = be.id AND be.enable
         <where>
             <if test="schoolId != null and schoolId != ''">
                 AND gb.school_id = #{schoolId}
             </if>
-            <if test="batchName != null and batchName != ''">
-                AND gb.batch_name LIKE CONCAT('%',#{batchName},'%')
+            <if test="semesterId != null">
+                AND gb.semester_id = #{semesterId}
+            </if>
+            <if test="examId != null">
+                AND gb.exam_id = #{examId}
             </if>
             <if test="dpr != null">
                 <if test="dpr.requestUserId != null">

+ 5 - 4
distributed-print-business/src/main/resources/mapper/GradeInitializeMapper.xml

@@ -6,6 +6,7 @@
             resultType="com.qmth.distributed.print.business.bean.result.analyze.GradeInitResult">
         SELECT
             bs.name AS semesterName,
+            be.id AS examId,
             be.name AS examName,
             et.course_code AS courseCode,
             et.course_name AS courseName,
@@ -35,10 +36,10 @@
              GROUP BY school_id , paper_number , paper_type) pnpt ON et.school_id = pnpt.school_id
                 AND et.paper_number = pnpt.paper_number
                 AND LOCATE(pnpt.paper_type, etd.relate_paper_type)
-                LEFT JOIN
-            basic_exam be ON et.exam_id = be.id
-                LEFT JOIN
-            basic_semester bs ON bs.id = be.semester_id
+                INNER JOIN
+            basic_exam be ON et.exam_id = be.id AND be.enable
+                INNER JOIN
+            basic_semester bs ON bs.id = be.semester_id AND bs.enable
                 LEFT JOIN
             exam_paper_structure eps ON et.school_id = eps.school_id
                 AND et.paper_number = eps.paper_number AND eps.paper_type = pnpt.paper_type

+ 10 - 6
distributed-print/src/main/java/com/qmth/distributed/print/api/GradeBatchController.java

@@ -50,12 +50,16 @@ public class GradeBatchController {
     @ApiOperation(value = "成绩分析批次-查询")
     @RequestMapping(value = "/page", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = GradeBatchResult.class)})
-    public Result findGradeBatchPage(@ApiParam(value = "分析批次名称") @RequestParam(required = false) String gradeBatchName,
+    public Result findGradeBatchPage(@ApiParam(value = "学期") @RequestParam(required = false) String semesterId,
+                                     @ApiParam(value = "考试") @RequestParam(required = false) String examId,
+                                     @ApiParam(value = "分析批次名称") @RequestParam(required = false) String gradeBatchName,
                                      @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) {
-
+        if (SystemConstant.isOneNull(semesterId)){
+            throw ExceptionResultEnum.ERROR.exception("请选择学期");
+        }
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
-        return ResultUtil.ok(gradeBatchService.gradeBatchPage(gradeBatchName, pageNumber, pageSize, requestUser));
+        return ResultUtil.ok(gradeBatchService.gradeBatchPage(SystemConstant.convertIdToLong(semesterId),SystemConstant.convertIdToLong(examId), gradeBatchName, pageNumber, pageSize, requestUser));
     }
 
     @ApiOperation(value = "成绩分析批次-新建")
@@ -76,7 +80,7 @@ public class GradeBatchController {
     @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.DELETE)
     public Result deleteGradeBatch(@ApiParam(value = "选择的要删除的成绩分析批次id", required = true) @RequestParam String id) {
         GradeBatch gradeBatch = gradeBatchService.getById(SystemConstant.convertIdToLong(id));
-        if(gradeBatch == null){
+        if (gradeBatch == null) {
             throw ExceptionResultEnum.ERROR.exception("没有批次信息");
         }
         asyncTeachCloudReportService.deleteGradeBatch(gradeBatch);
@@ -123,7 +127,7 @@ public class GradeBatchController {
     @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.IMPORT)
     public Result batchSync(@RequestParam Long batchId) {
         GradeBatch gradeBatch = gradeBatchService.getById(batchId);
-        if(gradeBatch == null){
+        if (gradeBatch == null) {
             throw ExceptionResultEnum.ERROR.exception("没有批次信息");
         }
         asyncTeachCloudReportService.syncGradeBatch(gradeBatch);
@@ -141,7 +145,7 @@ public class GradeBatchController {
     @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.UN_KNOW)
     public Result startCalc(@RequestParam Long batchId) {
         GradeBatch gradeBatch = gradeBatchService.getById(batchId);
-        if(gradeBatch == null){
+        if (gradeBatch == null) {
             throw ExceptionResultEnum.ERROR.exception("没有批次信息");
         }
         asyncTeachCloudReportService.startCalc(gradeBatch);