Browse Source

fix:知学知考分析部分试卷编号在考试下唯一更改

caozixuan 2 years ago
parent
commit
905344fd19
42 changed files with 356 additions and 104 deletions
  1. 14 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/analyze/GradeBatchParam.java
  2. 14 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/analyze/GradeModuleEvaluationParam.java
  3. 11 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/analyze/GradePaperDefineParam.java
  4. 12 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/analyze/GradePaperDimensionParam.java
  5. 11 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/analyze/GradePaperStructParam.java
  6. 23 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/analyze/GradeBatchResult.java
  7. 12 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/GradeBatch.java
  8. 12 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/GradeBatchPaper.java
  9. 12 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/GradeModuleDefine.java
  10. 12 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/GradeModuleEvaluation.java
  11. 12 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/GradePaper.java
  12. 12 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/GradePaperDimension.java
  13. 12 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/GradePaperStruct.java
  14. 3 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/GradeBatchPaperMapper.java
  15. 5 3
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/GradePaperDimensionMapper.java
  16. 1 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/GradePaperMapper.java
  17. 2 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/GradePaperStructMapper.java
  18. 8 5
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/GradeBatchPaperService.java
  19. 3 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/GradeModuleDefineService.java
  20. 8 5
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/GradeModuleEvaluationService.java
  21. 6 3
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/GradePaperDimensionService.java
  22. 2 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/GradePaperService.java
  23. 3 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/GradePaperStructService.java
  24. 2 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/PrintCommonService.java
  25. 2 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/DataSyncReportServiceImpl.java
  26. 18 9
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradeBatchPaperServiceImpl.java
  27. 6 3
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradeBatchServiceImpl.java
  28. 11 5
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradeModuleDefineServiceImpl.java
  29. 10 5
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradeModuleEvaluationServiceImpl.java
  30. 10 10
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradePaperDimensionServiceImpl.java
  31. 12 8
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradePaperServiceImpl.java
  32. 16 14
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradePaperStructServiceImpl.java
  33. 16 3
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/OpenApiServiceImpl.java
  34. 7 3
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/PrintCommonServiceImpl.java
  35. 4 0
      distributed-print-business/src/main/resources/mapper/GradeBatchMapper.xml
  36. 3 0
      distributed-print-business/src/main/resources/mapper/GradePaperDimensionMapper.xml
  37. 3 0
      distributed-print-business/src/main/resources/mapper/GradePaperMapper.xml
  38. 3 0
      distributed-print-business/src/main/resources/mapper/GradePaperStructMapper.xml
  39. 5 3
      distributed-print/src/main/java/com/qmth/distributed/print/api/GradeModuleEvaluationController.java
  40. 3 2
      distributed-print/src/main/java/com/qmth/distributed/print/api/GradePaperController.java
  41. 8 6
      distributed-print/src/main/java/com/qmth/distributed/print/api/GradePaperDimensionController.java
  42. 7 5
      distributed-print/src/main/java/com/qmth/distributed/print/api/GradePaperStructController.java

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

@@ -25,6 +25,12 @@ public class GradeBatchParam {
     @Range(min = 1L, message = "请选择学期")
     @Range(min = 1L, message = "请选择学期")
     private Long semesterId;
     private Long semesterId;
 
 
+    @ApiModelProperty(value = "考试id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    @NotNull(message = "请选择考试")
+    @Range(min = 1L, message = "请选择考试")
+    private Long examId;
+
     @ApiModelProperty(value = "批次名称")
     @ApiModelProperty(value = "批次名称")
     @NotNull(message = "请输入批次名称")
     @NotNull(message = "请输入批次名称")
     private String batchName;
     private String batchName;
@@ -50,6 +56,14 @@ public class GradeBatchParam {
         this.semesterId = semesterId;
         this.semesterId = semesterId;
     }
     }
 
 
+    public Long getExamId() {
+        return examId;
+    }
+
+    public void setExamId(Long examId) {
+        this.examId = examId;
+    }
+
     public String getBatchName() {
     public String getBatchName() {
         return batchName;
         return batchName;
     }
     }

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

@@ -1,5 +1,7 @@
 package com.qmth.distributed.print.business.bean.params.analyze;
 package com.qmth.distributed.print.business.bean.params.analyze;
 
 
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 
 
 import java.util.List;
 import java.util.List;
@@ -10,6 +12,10 @@ import java.util.List;
  * @Date: 2022-05-31
  * @Date: 2022-05-31
  */
  */
 public class GradeModuleEvaluationParam {
 public class GradeModuleEvaluationParam {
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty(value = "考试id")
+    private Long examId;
+
     @ApiModelProperty(value = "试卷编号")
     @ApiModelProperty(value = "试卷编号")
     private String paperNumber;
     private String paperNumber;
 
 
@@ -22,6 +28,14 @@ public class GradeModuleEvaluationParam {
     @ApiModelProperty(value = "模块评价详细信息集合")
     @ApiModelProperty(value = "模块评价详细信息集合")
     private List<GradeModuleEvaluationDatasource> gradeModuleEvaluationDatasourceList;
     private List<GradeModuleEvaluationDatasource> gradeModuleEvaluationDatasourceList;
 
 
+    public Long getExamId() {
+        return examId;
+    }
+
+    public void setExamId(Long examId) {
+        this.examId = examId;
+    }
+
     public String getPaperNumber() {
     public String getPaperNumber() {
         return paperNumber;
         return paperNumber;
     }
     }

+ 11 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/analyze/GradePaperDefineParam.java

@@ -13,6 +13,9 @@ import java.util.List;
  * @Date: 2022-05-30
  * @Date: 2022-05-30
  */
  */
 public class GradePaperDefineParam {
 public class GradePaperDefineParam {
+    @ApiModelProperty(value = "考试id")
+    @NotNull(message = "缺少考试id")
+    private Long examId;
     // 基础信息
     // 基础信息
     @ApiModelProperty(value = "试卷编号")
     @ApiModelProperty(value = "试卷编号")
     @NotNull(message = "缺少试卷编号")
     @NotNull(message = "缺少试卷编号")
@@ -57,6 +60,14 @@ public class GradePaperDefineParam {
         this.paperNumber = paperNumber;
         this.paperNumber = paperNumber;
     }
     }
 
 
+    public Long getExamId() {
+        return examId;
+    }
+
+    public void setExamId(Long examId) {
+        this.examId = examId;
+    }
+
     public String getPaperType() {
     public String getPaperType() {
         return paperType;
         return paperType;
     }
     }

+ 12 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/analyze/GradePaperDimensionParam.java

@@ -2,7 +2,6 @@ package com.qmth.distributed.print.business.bean.params.analyze;
 
 
 import com.qmth.teachcloud.common.enums.DimensionEnum;
 import com.qmth.teachcloud.common.enums.DimensionEnum;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
-import org.hibernate.validator.constraints.Range;
 
 
 import javax.validation.constraints.NotNull;
 import javax.validation.constraints.NotNull;
 import java.util.List;
 import java.util.List;
@@ -13,6 +12,10 @@ import java.util.List;
  * @Date: 2022-06-02
  * @Date: 2022-06-02
  */
  */
 public class GradePaperDimensionParam {
 public class GradePaperDimensionParam {
+    @ApiModelProperty(value = "考试id")
+    @NotNull(message = "缺少考试id")
+    private Long examId;
+
     @ApiModelProperty(value = "试卷编号")
     @ApiModelProperty(value = "试卷编号")
     @NotNull(message = "缺少试卷编号")
     @NotNull(message = "缺少试卷编号")
     private String paperNumber;
     private String paperNumber;
@@ -33,6 +36,14 @@ public class GradePaperDimensionParam {
     @NotNull(message = "缺少试卷维度")
     @NotNull(message = "缺少试卷维度")
     private List<GradePaperDimensionDatasource> datasource;
     private List<GradePaperDimensionDatasource> datasource;
 
 
+    public Long getExamId() {
+        return examId;
+    }
+
+    public void setExamId(Long examId) {
+        this.examId = examId;
+    }
+
     public String getPaperNumber() {
     public String getPaperNumber() {
         return paperNumber;
         return paperNumber;
     }
     }

+ 11 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/analyze/GradePaperStructParam.java

@@ -11,6 +11,9 @@ import java.util.List;
  * @Date: 2022-05-30
  * @Date: 2022-05-30
  */
  */
 public class GradePaperStructParam {
 public class GradePaperStructParam {
+    @ApiModelProperty(value = "试卷编号")
+    @NotNull(message = "缺少试卷编号")
+    private Long examId;
 
 
     @ApiModelProperty(value = "试卷编号")
     @ApiModelProperty(value = "试卷编号")
     @NotNull(message = "缺少试卷编号")
     @NotNull(message = "缺少试卷编号")
@@ -28,6 +31,14 @@ public class GradePaperStructParam {
     @NotNull(message = "请填写试卷结构")
     @NotNull(message = "请填写试卷结构")
     private List<GradePaperStructDatasource> datasource;
     private List<GradePaperStructDatasource> datasource;
 
 
+    public Long getExamId() {
+        return examId;
+    }
+
+    public void setExamId(Long examId) {
+        this.examId = examId;
+    }
+
     public String getPaperNumber() {
     public String getPaperNumber() {
         return paperNumber;
         return paperNumber;
     }
     }

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

@@ -32,6 +32,13 @@ public class GradeBatchResult {
     @ApiModelProperty(value = "学期名称")
     @ApiModelProperty(value = "学期名称")
     private String semesterName;
     private String semesterName;
 
 
+    @ApiModelProperty(value = "考试id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long examId;
+
+    @ApiModelProperty(value = "考试名称")
+    private String examName;
+
     @ApiModelProperty(value = "批次状态")
     @ApiModelProperty(value = "批次状态")
     private GradeAnalyzePaperStatusEnum status;
     private GradeAnalyzePaperStatusEnum status;
 
 
@@ -93,6 +100,22 @@ public class GradeBatchResult {
         this.semesterName = semesterName;
         this.semesterName = semesterName;
     }
     }
 
 
+    public Long getExamId() {
+        return examId;
+    }
+
+    public void setExamId(Long examId) {
+        this.examId = examId;
+    }
+
+    public String getExamName() {
+        return examName;
+    }
+
+    public void setExamName(String examName) {
+        this.examName = examName;
+    }
+
     public GradeAnalyzePaperStatusEnum getStatus() {
     public GradeAnalyzePaperStatusEnum getStatus() {
         return status;
         return status;
     }
     }

+ 12 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/GradeBatch.java

@@ -38,6 +38,10 @@ public class GradeBatch extends BaseEntity implements Serializable {
     @JsonSerialize(using = ToStringSerializer.class)
     @JsonSerialize(using = ToStringSerializer.class)
     private Long semesterId;
     private Long semesterId;
 
 
+    @ApiModelProperty(value = "知学知考考试id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long examId;
+
     @ApiModelProperty(value = "批次编号(在学校下唯一)")
     @ApiModelProperty(value = "批次编号(在学校下唯一)")
     private String batchCode;
     private String batchCode;
 
 
@@ -140,6 +144,14 @@ public class GradeBatch extends BaseEntity implements Serializable {
         this.semesterId = semesterId;
         this.semesterId = semesterId;
     }
     }
 
 
+    public Long getExamId() {
+        return examId;
+    }
+
+    public void setExamId(Long examId) {
+        this.examId = examId;
+    }
+
     public String getBatchCode() {
     public String getBatchCode() {
         return batchCode;
         return batchCode;
     }
     }

+ 12 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/GradeBatchPaper.java

@@ -32,6 +32,10 @@ public class GradeBatchPaper extends BaseEntity implements Serializable {
     @JsonSerialize(using = ToStringSerializer.class)
     @JsonSerialize(using = ToStringSerializer.class)
     private Long orgId;
     private Long orgId;
 
 
+    @ApiModelProperty(value = "分析批次id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long examId;
+
     @ApiModelProperty(value = "分析批次id")
     @ApiModelProperty(value = "分析批次id")
     @JsonSerialize(using = ToStringSerializer.class)
     @JsonSerialize(using = ToStringSerializer.class)
     private Long batchId;
     private Long batchId;
@@ -85,6 +89,14 @@ public class GradeBatchPaper extends BaseEntity implements Serializable {
         this.orgId = orgId;
         this.orgId = orgId;
     }
     }
 
 
+    public Long getExamId() {
+        return examId;
+    }
+
+    public void setExamId(Long examId) {
+        this.examId = examId;
+    }
+
     public Long getBatchId() {
     public Long getBatchId() {
         return batchId;
         return batchId;
     }
     }

+ 12 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/GradeModuleDefine.java

@@ -26,6 +26,10 @@ public class GradeModuleDefine extends BaseEntity implements Serializable {
     @JsonSerialize(using = ToStringSerializer.class)
     @JsonSerialize(using = ToStringSerializer.class)
     private Long schoolId;
     private Long schoolId;
 
 
+    @ApiModelProperty(value = "知学知考考试id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long examId;
+
     @ApiModelProperty(value = "试卷编号")
     @ApiModelProperty(value = "试卷编号")
     private String paperNumber;
     private String paperNumber;
 
 
@@ -67,6 +71,14 @@ public class GradeModuleDefine extends BaseEntity implements Serializable {
         this.schoolId = schoolId;
         this.schoolId = schoolId;
     }
     }
 
 
+    public Long getExamId() {
+        return examId;
+    }
+
+    public void setExamId(Long examId) {
+        this.examId = examId;
+    }
+
     public String getPaperNumber() {
     public String getPaperNumber() {
         return paperNumber;
         return paperNumber;
     }
     }

+ 12 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/GradeModuleEvaluation.java

@@ -27,6 +27,10 @@ public class GradeModuleEvaluation extends BaseEntity implements Serializable {
     @JsonSerialize(using = ToStringSerializer.class)
     @JsonSerialize(using = ToStringSerializer.class)
     private Long schoolId;
     private Long schoolId;
 
 
+    @ApiModelProperty(value = "考试id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long examId;
+
     @ApiModelProperty(value = "试卷编号")
     @ApiModelProperty(value = "试卷编号")
     private String paperNumber;
     private String paperNumber;
 
 
@@ -65,6 +69,14 @@ public class GradeModuleEvaluation extends BaseEntity implements Serializable {
         this.schoolId = schoolId;
         this.schoolId = schoolId;
     }
     }
 
 
+    public Long getExamId() {
+        return examId;
+    }
+
+    public void setExamId(Long examId) {
+        this.examId = examId;
+    }
+
     public String getPaperNumber() {
     public String getPaperNumber() {
         return paperNumber;
         return paperNumber;
     }
     }

+ 12 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/GradePaper.java

@@ -27,6 +27,10 @@ public class GradePaper extends BaseEntity implements Serializable {
     @JsonSerialize(using = ToStringSerializer.class)
     @JsonSerialize(using = ToStringSerializer.class)
     private Long schoolId;
     private Long schoolId;
 
 
+    @ApiModelProperty(value = "考试id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long examId;
+
     @ApiModelProperty(value = "试卷编号")
     @ApiModelProperty(value = "试卷编号")
     private String paperNumber;
     private String paperNumber;
 
 
@@ -62,6 +66,14 @@ public class GradePaper extends BaseEntity implements Serializable {
         this.schoolId = schoolId;
         this.schoolId = schoolId;
     }
     }
 
 
+    public Long getExamId() {
+        return examId;
+    }
+
+    public void setExamId(Long examId) {
+        this.examId = examId;
+    }
+
     public String getPaperNumber() {
     public String getPaperNumber() {
         return paperNumber;
         return paperNumber;
     }
     }

+ 12 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/GradePaperDimension.java

@@ -26,6 +26,10 @@ public class GradePaperDimension extends BaseEntity implements Serializable {
     @JsonSerialize(using = ToStringSerializer.class)
     @JsonSerialize(using = ToStringSerializer.class)
     private Long schoolId;
     private Long schoolId;
 
 
+    @ApiModelProperty(value = "考试id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long examId;
+
     @ApiModelProperty(value = "试卷编号")
     @ApiModelProperty(value = "试卷编号")
     private String paperNumber;
     private String paperNumber;
 
 
@@ -61,6 +65,14 @@ public class GradePaperDimension extends BaseEntity implements Serializable {
         this.schoolId = schoolId;
         this.schoolId = schoolId;
     }
     }
 
 
+    public Long getExamId() {
+        return examId;
+    }
+
+    public void setExamId(Long examId) {
+        this.examId = examId;
+    }
+
     public String getPaperNumber() {
     public String getPaperNumber() {
         return paperNumber;
         return paperNumber;
     }
     }

+ 12 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/GradePaperStruct.java

@@ -27,6 +27,10 @@ public class GradePaperStruct extends BaseEntity implements Serializable {
     @JsonSerialize(using = ToStringSerializer.class)
     @JsonSerialize(using = ToStringSerializer.class)
     private Long schoolId;
     private Long schoolId;
 
 
+    @ApiModelProperty(value = "考试id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long examId;
+
     @ApiModelProperty(value = "试卷编号")
     @ApiModelProperty(value = "试卷编号")
     private String paperNumber;
     private String paperNumber;
 
 
@@ -77,6 +81,14 @@ public class GradePaperStruct extends BaseEntity implements Serializable {
         this.schoolId = schoolId;
         this.schoolId = schoolId;
     }
     }
 
 
+    public Long getExamId() {
+        return examId;
+    }
+
+    public void setExamId(Long examId) {
+        this.examId = examId;
+    }
+
     public String getPaperNumber() {
     public String getPaperNumber() {
         return paperNumber;
         return paperNumber;
     }
     }

+ 3 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/GradeBatchPaperMapper.java

@@ -59,5 +59,7 @@ public interface GradeBatchPaperMapper extends BaseMapper<GradeBatchPaper> {
                                                      @Param("schoolId") Long schoolId);
                                                      @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);
 }
 }

+ 5 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/GradePaperDimensionMapper.java

@@ -20,12 +20,14 @@ public interface GradePaperDimensionMapper extends BaseMapper<GradePaperDimensio
 
 
     /**
     /**
      * 查询分析参数维度列表
      * 查询分析参数维度列表
+     *
+     * @param examId      考试id
      * @param paperNumber 试卷编号
      * @param paperNumber 试卷编号
-     * @param paperType 试卷类型
-     * @param schoolId 学校id
+     * @param paperType   试卷类型
+     * @param schoolId    学校id
      * @return 分析试卷维度列表
      * @return 分析试卷维度列表
      */
      */
-    List<GradePaperDimensionResult> findGradePaperDimensionList(@Param("paperNumber") String paperNumber,@Param("paperType") String paperType,@Param("schoolId") Long schoolId);
+    List<GradePaperDimensionResult> findGradePaperDimensionList(@Param("examId") Long examId, @Param("paperNumber") String paperNumber, @Param("paperType") String paperType, @Param("schoolId") Long schoolId);
 
 
     List<PaperDimension> findBySchoolIdAndPaperNumberAndPaperType(@Param("schoolId") Long schoolId, @Param("paperNumber") String paperNumber, @Param("paperType") String paperType);
     List<PaperDimension> findBySchoolIdAndPaperNumberAndPaperType(@Param("schoolId") Long schoolId, @Param("paperNumber") String paperNumber, @Param("paperType") String paperType);
 
 

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

@@ -15,5 +15,5 @@ import org.apache.ibatis.annotations.Param;
  */
  */
 public interface GradePaperMapper extends BaseMapper<GradePaper> {
 public interface GradePaperMapper extends BaseMapper<GradePaper> {
 
 
-    PaperConfig findBySchoolIdAndPaperNumberAndPaperType(@Param("schoolId") Long schoolId, @Param("paperNumber") String paperNumber, @Param("paperType") String paperType);
+    PaperConfig findBySchoolIdAndPaperNumberAndPaperType(@Param("schoolId") Long schoolId, @Param("examId") Long examId, @Param("paperNumber") String paperNumber, @Param("paperType") String paperType);
 }
 }

+ 2 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/GradePaperStructMapper.java

@@ -21,11 +21,12 @@ public interface GradePaperStructMapper extends BaseMapper<GradePaperStruct> {
      * 从分析试卷结构中查找试卷结构数据
      * 从分析试卷结构中查找试卷结构数据
      *
      *
      * @param schoolId    学校id
      * @param schoolId    学校id
+     * @param examId      考试id
      * @param paperNumber 试卷编号
      * @param paperNumber 试卷编号
      * @param paperType   试卷类型
      * @param paperType   试卷类型
      * @return 结果
      * @return 结果
      */
      */
-    List<GradePaperStructResult> findStructByGradePaper(@Param("schoolId") Long schoolId, @Param("paperNumber") String paperNumber, @Param("paperType") String paperType);
+    List<GradePaperStructResult> findStructByGradePaper(@Param("schoolId") Long schoolId, @Param("examId") Long examId, @Param("paperNumber") String paperNumber, @Param("paperType") String paperType);
 
 
     List<PaperStructure> findBySchoolIdAndPaperNumberAndPaperType(@Param("schoolId") Long schoolId, @Param("paperNumber") String paperNumber, @Param("paperType") String paperType);
     List<PaperStructure> findBySchoolIdAndPaperNumberAndPaperType(@Param("schoolId") Long schoolId, @Param("paperNumber") String paperNumber, @Param("paperType") String paperType);
 }
 }

+ 8 - 5
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/GradeBatchPaperService.java

@@ -6,7 +6,6 @@ import com.qmth.distributed.print.business.bean.params.analyze.GradeBatchPaperPa
 import com.qmth.distributed.print.business.bean.result.DictionaryResult;
 import com.qmth.distributed.print.business.bean.result.DictionaryResult;
 import com.qmth.distributed.print.business.bean.result.analyze.GradeBatchPaperResult;
 import com.qmth.distributed.print.business.bean.result.analyze.GradeBatchPaperResult;
 import com.qmth.distributed.print.business.entity.GradeBatchPaper;
 import com.qmth.distributed.print.business.entity.GradeBatchPaper;
-import com.qmth.teachcloud.common.entity.SysOrg;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.entity.SysUser;
 
 
 import java.util.List;
 import java.util.List;
@@ -66,10 +65,11 @@ public interface GradeBatchPaperService extends IService<GradeBatchPaper> {
      * 根据试卷编号和试卷类型判断分析课程是否有操作权限(批次分析试卷没有在计算中的才能操作)
      * 根据试卷编号和试卷类型判断分析课程是否有操作权限(批次分析试卷没有在计算中的才能操作)
      *
      *
      * @param schoolId    学校id
      * @param schoolId    学校id
+     * @param examId      考试id
      * @param paperNumber 试卷编号
      * @param paperNumber 试卷编号
      * @param paperType   试卷类型
      * @param paperType   试卷类型
      */
      */
-    void checkOperateAuth(Long schoolId, String paperNumber, String paperType);
+    void checkOperateAuth(Long schoolId, Long examId, String paperNumber, String paperType);
 
 
     GradeBatchPaper findByThirdExamIdAndGradeCourseCode(Long schoolId, String thirdExamId, String gradeCourseCode);
     GradeBatchPaper findByThirdExamIdAndGradeCourseCode(Long schoolId, String thirdExamId, String gradeCourseCode);
 
 
@@ -81,25 +81,28 @@ public interface GradeBatchPaperService extends IService<GradeBatchPaper> {
      * </p>
      * </p>
      *
      *
      * @param schoolId    学校id
      * @param schoolId    学校id
+     * @param examId      考试id
      * @param paperNumber 试卷编号
      * @param paperNumber 试卷编号
      * @param paperType   试卷类型
      * @param paperType   试卷类型
      */
      */
-    void updatePaperAndBatchStatus(Long schoolId, String paperNumber, String paperType);
+    void updatePaperAndBatchStatus(Long schoolId, Long examId, String paperNumber, String paperType);
 
 
     /**
     /**
      * 分析试卷数据准备状态(分析试卷 四个模块都准备好才算准备好)
      * 分析试卷数据准备状态(分析试卷 四个模块都准备好才算准备好)
      *
      *
      * @param schoolId    学校id
      * @param schoolId    学校id
+     * @param examId      考试id
      * @param paperNumber 试卷编号
      * @param paperNumber 试卷编号
      * @param paperType   试卷类型
      * @param paperType   试卷类型
      * @return 分析数据准备完成?true 是|| false 否
      * @return 分析数据准备完成?true 是|| false 否
      */
      */
-    boolean analyzeDataReady(Long schoolId, String paperNumber, String paperType);
+    boolean analyzeDataReady(Long schoolId, Long examId, String paperNumber, String paperType);
 
 
     /**
     /**
      * 根据考试id查询开课学院信息
      * 根据考试id查询开课学院信息
+     *
      * @param schoolId 学校id
      * @param schoolId 学校id
-     * @param examId 考试id
+     * @param examId   考试id
      * @return 结果
      * @return 结果
      */
      */
     List<DictionaryResult> findTeachCollegeList(Long schoolId, Long examId);
     List<DictionaryResult> findTeachCollegeList(Long schoolId, Long examId);

+ 3 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/GradeModuleDefineService.java

@@ -18,10 +18,11 @@ import java.util.List;
 public interface GradeModuleDefineService extends IService<GradeModuleDefine> {
 public interface GradeModuleDefineService extends IService<GradeModuleDefine> {
     /**
     /**
      * 批量新增二级维度熟练度定义
      * 批量新增二级维度熟练度定义
+     *
      * @param gradePaperDefineParam 分析试卷定义
      * @param gradePaperDefineParam 分析试卷定义
-     * @param requestUser 请求用户
+     * @param requestUser           请求用户
      */
      */
     void saveGradeModuleDefineBatch(GradePaperDefineParam gradePaperDefineParam, SysUser requestUser);
     void saveGradeModuleDefineBatch(GradePaperDefineParam gradePaperDefineParam, SysUser requestUser);
 
 
-    List<GradeModuleDefine> findBySchoolIdAndPaperNumberAndPaperType(Long schoolId, String paperNumber, String paperType);
+    List<GradeModuleDefine> findBySchoolIdAndPaperNumberAndPaperType(Long schoolId, Long examId, String paperNumber, String paperType);
 }
 }

+ 8 - 5
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/GradeModuleEvaluationService.java

@@ -21,19 +21,22 @@ public interface GradeModuleEvaluationService extends IService<GradeModuleEvalua
 
 
     /**
     /**
      * 查询分析维度模块评价
      * 查询分析维度模块评价
+     *
+     * @param examId      考试id
      * @param paperNumber 试卷编号
      * @param paperNumber 试卷编号
-     * @param paperType 试卷类型
+     * @param paperType   试卷类型
      * @param requestUser 请求用户
      * @param requestUser 请求用户
      * @return 结果
      * @return 结果
      */
      */
-    List<GradeModuleEvaluationResult> findGradeModuleEvaluation(String paperNumber, String paperType, SysUser requestUser);
+    List<GradeModuleEvaluationResult> findGradeModuleEvaluation(Long examId, String paperNumber, String paperType, SysUser requestUser);
 
 
     /**
     /**
      * 保存分析维度模块评价
      * 保存分析维度模块评价
+     *
      * @param gradeModuleEvaluationParam 模块评价参数
      * @param gradeModuleEvaluationParam 模块评价参数
-     * @param requestUser 请求用户
+     * @param requestUser                请求用户
      */
      */
-    void saveGradeModuleEvaluationBatch(GradeModuleEvaluationParam gradeModuleEvaluationParam,SysUser requestUser);
+    void saveGradeModuleEvaluationBatch(GradeModuleEvaluationParam gradeModuleEvaluationParam, SysUser requestUser);
 
 
-    List<GradeModuleEvaluation> findBySchoolIdAndPaperNumberAndPaperType(Long schoolId, String paperNumber, String paperType);
+    List<GradeModuleEvaluation> findBySchoolIdAndPaperNumberAndPaperType(Long schoolId, Long examId, String paperNumber, String paperType);
 }
 }

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

@@ -25,12 +25,13 @@ public interface GradePaperDimensionService extends IService<GradePaperDimension
     /**
     /**
      * 查询分析试卷维度
      * 查询分析试卷维度
      *
      *
+     * @param examId      考试id
      * @param paperNumber 试卷编号
      * @param paperNumber 试卷编号
      * @param paperType   试卷类型
      * @param paperType   试卷类型
      * @param requestUser 请求用户
      * @param requestUser 请求用户
      * @return 结果集
      * @return 结果集
      */
      */
-    List<GradePaperDimensionResult> findGradePaperDimensionList(String paperNumber, String paperType, SysUser requestUser);
+    List<GradePaperDimensionResult> findGradePaperDimensionList(Long examId, String paperNumber, String paperType, SysUser requestUser);
 
 
     /**
     /**
      * 批量保存分析试卷维度数据
      * 批量保存分析试卷维度数据
@@ -44,23 +45,25 @@ public interface GradePaperDimensionService extends IService<GradePaperDimension
      * 分析 - 试卷知识维度数据导入
      * 分析 - 试卷知识维度数据导入
      *
      *
      * @param file        excel 文件
      * @param file        excel 文件
+     * @param examId      考试id
      * @param paperNumber 试卷编号
      * @param paperNumber 试卷编号
      * @param paperType   试卷类型
      * @param paperType   试卷类型
      * @param paperName   试卷名称
      * @param paperName   试卷名称
      * @param requestUser 请求用户
      * @param requestUser 请求用户
      */
      */
-    void importGradePaperKnowledgeDimension(MultipartFile file, String paperNumber, String paperType, String paperName, SysUser requestUser) throws IOException, NoSuchFieldException;
+    void importGradePaperKnowledgeDimension(MultipartFile file, Long examId, String paperNumber, String paperType, String paperName, SysUser requestUser) throws IOException, NoSuchFieldException;
 
 
     /**
     /**
      * 分析 - 试卷能力维度数据导入
      * 分析 - 试卷能力维度数据导入
      *
      *
      * @param file        excel 文件
      * @param file        excel 文件
+     * @param examId      考试id
      * @param paperNumber 试卷编号
      * @param paperNumber 试卷编号
      * @param paperType   试卷类型
      * @param paperType   试卷类型
      * @param paperName   试卷名称
      * @param paperName   试卷名称
      * @param requestUser 请求用户
      * @param requestUser 请求用户
      */
      */
-    void importGradePaperAbilityDimension(MultipartFile file, String paperNumber, String paperType, String paperName, SysUser requestUser) throws IOException, NoSuchFieldException;
+    void importGradePaperAbilityDimension(MultipartFile file, Long examId, String paperNumber, String paperType, String paperName, SysUser requestUser) throws IOException, NoSuchFieldException;
 
 
     /**
     /**
      * 分析 - 试卷维度模板导出
      * 分析 - 试卷维度模板导出

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

@@ -19,7 +19,7 @@ import java.util.Map;
  */
  */
 public interface GradePaperService extends IService<GradePaper> {
 public interface GradePaperService extends IService<GradePaper> {
 
 
-    GradePaperDefineResult findGradePaperDefine(String paperNumber, String paperType, SysUser requestUser);
+    GradePaperDefineResult findGradePaperDefine(Long examId, String paperNumber, String paperType, SysUser requestUser);
 
 
     /**
     /**
      * 新增分析试卷定义
      * 新增分析试卷定义
@@ -38,5 +38,5 @@ public interface GradePaperService extends IService<GradePaper> {
      */
      */
     Long saveGradePaper(GradePaperDefineParam gradePaperDefineParam, SysUser requestUser);
     Long saveGradePaper(GradePaperDefineParam gradePaperDefineParam, SysUser requestUser);
 
 
-    PaperConfig findBySchoolIdAndPaperNumberAndPaperType(Long schoolId, String paperNumber, String paperType);
+    PaperConfig findBySchoolIdAndPaperNumberAndPaperType(Long schoolId,Long examId, String paperNumber, String paperType);
 }
 }

+ 3 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/GradePaperStructService.java

@@ -24,12 +24,13 @@ public interface GradePaperStructService extends IService<GradePaperStruct> {
     /**
     /**
      * 查找分析试卷结构列表
      * 查找分析试卷结构列表
      *
      *
+     * @param examId      考试id
      * @param paperNumber 试卷编号
      * @param paperNumber 试卷编号
      * @param paperType   试卷类型
      * @param paperType   试卷类型
      * @param requestUser 请求的用户
      * @param requestUser 请求的用户
      * @return 结果
      * @return 结果
      */
      */
-    List<GradePaperStructResult> findGradePaperStructureResultList(String paperNumber, String paperType, SysUser requestUser);
+    List<GradePaperStructResult> findGradePaperStructureResultList(Long examId, String paperNumber, String paperType, SysUser requestUser);
 
 
     /**
     /**
      * 批量保存分析试卷结构
      * 批量保存分析试卷结构
@@ -58,7 +59,7 @@ public interface GradePaperStructService extends IService<GradePaperStruct> {
      * @param requestUser 请求用户
      * @param requestUser 请求用户
      * @throws Exception 异常
      * @throws Exception 异常
      */
      */
-    void exportGradePaperStructTemplate(String paperNumber, String paperType, SysUser requestUser) throws Exception;
+    void exportGradePaperStructTemplate(Long examId, String paperNumber, String paperType, SysUser requestUser) throws Exception;
 
 
     List<PaperStructure> findBySchoolIdAndPaperNumberAndPaperType(Long schoolId, String paperNumber, String paperType);
     List<PaperStructure> findBySchoolIdAndPaperNumberAndPaperType(Long schoolId, String paperNumber, String paperType);
 
 

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

@@ -306,9 +306,10 @@ public interface PrintCommonService {
      *
      *
      * @param schoolId    学校ID
      * @param schoolId    学校ID
      * @param paperNumber 试卷编号
      * @param paperNumber 试卷编号
+     * @param examId 考试id
      * @param paperType   试卷类型
      * @param paperType   试卷类型
      */
      */
-    public void updateGradeBatchStatus(Long schoolId, String paperNumber, String paperType);
+    public void updateGradeBatchStatus(Long schoolId,Long examId, String paperNumber, String paperType);
 
 
     void saveAttachmentPackagePdf(PdfPackageDto pdfPackageDto, ExamDetail examDetail, List<PdfDto> variablePdfList, Integer printCount, List<File> fileTempList);
     void saveAttachmentPackagePdf(PdfPackageDto pdfPackageDto, ExamDetail examDetail, List<PdfDto> variablePdfList, Integer printCount, List<File> fileTempList);
 
 

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

@@ -65,6 +65,7 @@ public class DataSyncReportServiceImpl implements DataSyncReportService {
         Long thirdSemesterId = gradeBatch.getThirdSemesterId();
         Long thirdSemesterId = gradeBatch.getThirdSemesterId();
         Long thirdExamId = gradeBatch.getThirdExamId();
         Long thirdExamId = gradeBatch.getThirdExamId();
         Long semesterId = gradeBatch.getSemesterId();
         Long semesterId = gradeBatch.getSemesterId();
+        Long examId = gradeBatch.getExamId();
         try {
         try {
             // 同步中
             // 同步中
             status = TaskStatusEnum.RUNNING;
             status = TaskStatusEnum.RUNNING;
@@ -110,7 +111,7 @@ public class DataSyncReportServiceImpl implements DataSyncReportService {
 
 
                     // 更新批次课程状态(如果分析批次课程在其他批次有待计算状态或者该分析课程的分析数据已经全部准备完毕,状态直接变为待计算)
                     // 更新批次课程状态(如果分析批次课程在其他批次有待计算状态或者该分析课程的分析数据已经全部准备完毕,状态直接变为待计算)
                     gradeBatchPaper.setGradeCourseCode(courseCode);
                     gradeBatchPaper.setGradeCourseCode(courseCode);
-                    if (count > 0 || gradeBatchPaperService.analyzeDataReady(schoolId, gradeBatchPaper.getPaperNumber(), gradeBatchPaper.getPaperType())) {
+                    if (count > 0 || gradeBatchPaperService.analyzeDataReady(schoolId, examId, gradeBatchPaper.getPaperNumber(), gradeBatchPaper.getPaperType())) {
                         gradeBatchPaper.setStatus(GradeAnalyzePaperStatusEnum.READY_TO_CALCULATE);
                         gradeBatchPaper.setStatus(GradeAnalyzePaperStatusEnum.READY_TO_CALCULATE);
                     } else {
                     } else {
                         gradeBatchPaper.setStatus(GradeAnalyzePaperStatusEnum.SETTING_GRADE_PAPER_PARAM);
                         gradeBatchPaper.setStatus(GradeAnalyzePaperStatusEnum.SETTING_GRADE_PAPER_PARAM);

+ 18 - 9
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradeBatchPaperServiceImpl.java

@@ -20,7 +20,6 @@ import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.enums.GradeAnalyzePaperStatusEnum;
 import com.qmth.teachcloud.common.enums.GradeAnalyzePaperStatusEnum;
 import com.qmth.teachcloud.common.service.BasicRoleDataPermissionService;
 import com.qmth.teachcloud.common.service.BasicRoleDataPermissionService;
 import com.qmth.teachcloud.common.service.SysOrgService;
 import com.qmth.teachcloud.common.service.SysOrgService;
-import com.qmth.teachcloud.common.service.TeachcloudCommonService;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
@@ -45,8 +44,6 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
     @Resource
     @Resource
     SysOrgService sysOrgService;
     SysOrgService sysOrgService;
     @Resource
     @Resource
-    TeachcloudCommonService teachcloudCommonService;
-    @Resource
     GradeBatchService gradeBatchService;
     GradeBatchService gradeBatchService;
     @Resource
     @Resource
     GradePaperDimensionService gradePaperDimensionService;
     GradePaperDimensionService gradePaperDimensionService;
@@ -81,7 +78,7 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
     @Override
     @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, String courseCode, String teacherName, SysUser requestUser) {
         Long schoolId = requestUser.getSchoolId();
         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);
         GradeBatch gradeBatch = gradeBatchService.getById(batchId);
         if (Objects.isNull(gradeBatch)) {
         if (Objects.isNull(gradeBatch)) {
             throw ExceptionResultEnum.ERROR.exception("教研分析批次不存在");
             throw ExceptionResultEnum.ERROR.exception("教研分析批次不存在");
@@ -122,6 +119,11 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
     public void saveGradeBatchPaper(GradeBatchPaperParam gradeBatchPaperParam, SysUser requestUser) {
     public void saveGradeBatchPaper(GradeBatchPaperParam gradeBatchPaperParam, SysUser requestUser) {
         Long batchId = gradeBatchPaperParam.getBatchId();
         Long batchId = gradeBatchPaperParam.getBatchId();
         Long schoolId = requestUser.getSchoolId();
         Long schoolId = requestUser.getSchoolId();
+        GradeBatch gradeBatch = gradeBatchService.getById(batchId);
+        if (Objects.isNull(gradeBatch)){
+            throw ExceptionResultEnum.ERROR.exception("分析批次不存在");
+        }
+        Long examId = gradeBatch.getExamId();
         List<AbleAnalyzePaperParam> ableAnalyzePaperParamList = gradeBatchPaperParam.getAbleAnalyzePaperList();
         List<AbleAnalyzePaperParam> ableAnalyzePaperParamList = gradeBatchPaperParam.getAbleAnalyzePaperList();
 
 
         // 是否需要更新批次状态
         // 是否需要更新批次状态
@@ -136,6 +138,7 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
             GradeBatchPaper gradeBatchPaper = new GradeBatchPaper();
             GradeBatchPaper gradeBatchPaper = new GradeBatchPaper();
             gradeBatchPaper.setSchoolId(schoolId);
             gradeBatchPaper.setSchoolId(schoolId);
             gradeBatchPaper.setBatchId(batchId);
             gradeBatchPaper.setBatchId(batchId);
+            gradeBatchPaper.setExamId(examId);
             gradeBatchPaper.setPaperNumber(paperNumber);
             gradeBatchPaper.setPaperNumber(paperNumber);
             gradeBatchPaper.setPaperType(paperType);
             gradeBatchPaper.setPaperType(paperType);
             gradeBatchPaper.setPaperName(e.getPaperName());
             gradeBatchPaper.setPaperName(e.getPaperName());
@@ -222,9 +225,10 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
 
 
     @Transactional
     @Transactional
     @Override
     @Override
-    public void checkOperateAuth(Long schoolId, String paperNumber, String paperType) {
+    public void checkOperateAuth(Long schoolId, Long examId, String paperNumber, String paperType) {
         List<GradeBatchPaper> gradeBatchPaperList = this.list(new QueryWrapper<GradeBatchPaper>().lambda()
         List<GradeBatchPaper> gradeBatchPaperList = this.list(new QueryWrapper<GradeBatchPaper>().lambda()
                 .eq(GradeBatchPaper::getSchoolId, schoolId)
                 .eq(GradeBatchPaper::getSchoolId, schoolId)
+                .eq(GradeBatchPaper::getExamId, examId)
                 .eq(GradeBatchPaper::getPaperNumber, paperNumber)
                 .eq(GradeBatchPaper::getPaperNumber, paperNumber)
                 .eq(GradeBatchPaper::getPaperType, paperType));
                 .eq(GradeBatchPaper::getPaperType, paperType));
         if (gradeBatchPaperList.stream().anyMatch(e -> GradeAnalyzePaperStatusEnum.CALCULATING.equals(e.getStatus()))) {
         if (gradeBatchPaperList.stream().anyMatch(e -> GradeAnalyzePaperStatusEnum.CALCULATING.equals(e.getStatus()))) {
@@ -243,8 +247,8 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
 
 
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
     @Override
     @Override
-    public void updatePaperAndBatchStatus(Long schoolId, String paperNumber, String paperType) {
-        if (this.analyzeDataReady(schoolId, paperNumber, paperType)) {
+    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()
             List<GradeBatchPaper> gradeBatchPaperList = this.list(new QueryWrapper<GradeBatchPaper>().lambda()
                     .eq(GradeBatchPaper::getSchoolId, schoolId)
                     .eq(GradeBatchPaper::getSchoolId, schoolId)
                     .eq(GradeBatchPaper::getPaperNumber, paperNumber)
                     .eq(GradeBatchPaper::getPaperNumber, paperNumber)
@@ -283,10 +287,11 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
     }
     }
 
 
     @Override
     @Override
-    public boolean analyzeDataReady(Long schoolId, String paperNumber, String paperType) {
+    public boolean analyzeDataReady(Long schoolId, Long examId, String paperNumber, String paperType) {
         // 检验维度数据存在
         // 检验维度数据存在
         boolean dimensionExist = gradePaperDimensionService.list(new QueryWrapper<GradePaperDimension>().lambda()
         boolean dimensionExist = gradePaperDimensionService.list(new QueryWrapper<GradePaperDimension>().lambda()
                         .eq(GradePaperDimension::getSchoolId, schoolId)
                         .eq(GradePaperDimension::getSchoolId, schoolId)
+                        .eq(GradePaperDimension::getExamId, examId)
                         .eq(GradePaperDimension::getPaperNumber, paperNumber)
                         .eq(GradePaperDimension::getPaperNumber, paperNumber)
                         .eq(GradePaperDimension::getPaperType, paperType))
                         .eq(GradePaperDimension::getPaperType, paperType))
                 .size() > 0;
                 .size() > 0;
@@ -296,6 +301,7 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
         // 检验结构数据存在
         // 检验结构数据存在
         boolean structExist = gradePaperStructService.list(new QueryWrapper<GradePaperStruct>().lambda()
         boolean structExist = gradePaperStructService.list(new QueryWrapper<GradePaperStruct>().lambda()
                         .eq(GradePaperStruct::getSchoolId, schoolId)
                         .eq(GradePaperStruct::getSchoolId, schoolId)
+                        .eq(GradePaperStruct::getExamId, examId)
                         .eq(GradePaperStruct::getPaperNumber, paperNumber)
                         .eq(GradePaperStruct::getPaperNumber, paperNumber)
                         .eq(GradePaperStruct::getPaperType, paperType))
                         .eq(GradePaperStruct::getPaperType, paperType))
                 .size() > 0;
                 .size() > 0;
@@ -306,6 +312,7 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
         boolean paperExist = gradePaperService.list(new QueryWrapper<GradePaper>()
         boolean paperExist = gradePaperService.list(new QueryWrapper<GradePaper>()
                         .lambda()
                         .lambda()
                         .eq(GradePaper::getSchoolId, schoolId)
                         .eq(GradePaper::getSchoolId, schoolId)
+                        .eq(GradePaper::getExamId, examId)
                         .eq(GradePaper::getPaperNumber, paperNumber)
                         .eq(GradePaper::getPaperNumber, paperNumber)
                         .eq(GradePaper::getPaperType, paperType))
                         .eq(GradePaper::getPaperType, paperType))
                 .size() > 0;
                 .size() > 0;
@@ -316,6 +323,7 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
         boolean moduleDefineExist = gradeModuleDefineService.list(new QueryWrapper<GradeModuleDefine>()
         boolean moduleDefineExist = gradeModuleDefineService.list(new QueryWrapper<GradeModuleDefine>()
                         .lambda()
                         .lambda()
                         .eq(GradeModuleDefine::getSchoolId, schoolId)
                         .eq(GradeModuleDefine::getSchoolId, schoolId)
+                        .eq(GradeModuleDefine::getExamId, examId)
                         .eq(GradeModuleDefine::getPaperNumber, paperNumber)
                         .eq(GradeModuleDefine::getPaperNumber, paperNumber)
                         .eq(GradeModuleDefine::getPaperType, paperType))
                         .eq(GradeModuleDefine::getPaperType, paperType))
                 .size() > 0;
                 .size() > 0;
@@ -327,6 +335,7 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
         return gradeModuleEvaluationService.list(new QueryWrapper<GradeModuleEvaluation>()
         return gradeModuleEvaluationService.list(new QueryWrapper<GradeModuleEvaluation>()
                         .lambda()
                         .lambda()
                         .eq(GradeModuleEvaluation::getSchoolId, schoolId)
                         .eq(GradeModuleEvaluation::getSchoolId, schoolId)
+                        .eq(GradeModuleEvaluation::getExamId, examId)
                         .eq(GradeModuleEvaluation::getPaperNumber, paperNumber)
                         .eq(GradeModuleEvaluation::getPaperNumber, paperNumber)
                         .eq(GradeModuleEvaluation::getPaperType, paperType))
                         .eq(GradeModuleEvaluation::getPaperType, paperType))
                 .size() > 0;
                 .size() > 0;
@@ -364,4 +373,4 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
             return Stream.of(dictionaryResult);
             return Stream.of(dictionaryResult);
         }).collect(Collectors.toList());
         }).collect(Collectors.toList());
     }
     }
-}
+}

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

@@ -98,7 +98,7 @@ public class GradeBatchServiceImpl extends ServiceImpl<GradeBatchMapper, GradeBa
     public IPage<GradeBatchResult> gradeBatchPage(String batchName, int pageNumber, int pageSize, SysUser requestUser) {
     public IPage<GradeBatchResult> gradeBatchPage(String batchName, int pageNumber, int pageSize, SysUser requestUser) {
         batchName = SystemConstant.translateSpecificSign(batchName);
         batchName = SystemConstant.translateSpecificSign(batchName);
         DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission();
         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), batchName, requestUser.getSchoolId(), dpr);
         for (GradeBatchResult record : page.getRecords()) {
         for (GradeBatchResult record : page.getRecords()) {
             String txtPath = record.getReportFilePath();
             String txtPath = record.getReportFilePath();
             if (SystemConstant.strNotNull(txtPath)) {
             if (SystemConstant.strNotNull(txtPath)) {
@@ -113,6 +113,7 @@ public class GradeBatchServiceImpl extends ServiceImpl<GradeBatchMapper, GradeBa
     public Long editGradeBatch(GradeBatchParam gradeBatchParam, SysUser requestUser) {
     public Long editGradeBatch(GradeBatchParam gradeBatchParam, SysUser requestUser) {
         Long schoolId = requestUser.getSchoolId();
         Long schoolId = requestUser.getSchoolId();
         Long semesterId = gradeBatchParam.getSemesterId();
         Long semesterId = gradeBatchParam.getSemesterId();
+        Long examId = gradeBatchParam.getExamId();
         Long id = gradeBatchParam.getId();
         Long id = gradeBatchParam.getId();
         String batchName = gradeBatchParam.getBatchName();
         String batchName = gradeBatchParam.getBatchName();
         Long batchTime = gradeBatchParam.getBatchTime();
         Long batchTime = gradeBatchParam.getBatchTime();
@@ -133,11 +134,12 @@ public class GradeBatchServiceImpl extends ServiceImpl<GradeBatchMapper, GradeBa
         gradeBatch.setStatus(GradeAnalyzePaperStatusEnum.SETTING_GRADE_PAPER);
         gradeBatch.setStatus(GradeAnalyzePaperStatusEnum.SETTING_GRADE_PAPER);
         gradeBatch.setSchoolId(schoolId);
         gradeBatch.setSchoolId(schoolId);
         gradeBatch.setSemesterId(semesterId);
         gradeBatch.setSemesterId(semesterId);
+        gradeBatch.setExamId(examId);
         if (!SystemConstant.longNotNull(id)) {
         if (!SystemConstant.longNotNull(id)) {
             // 新增
             // 新增
             gradeBatch.insertInfo(requestUser.getId());
             gradeBatch.insertInfo(requestUser.getId());
             gradeBatch.setOrgId(requestUser.getOrgId());
             gradeBatch.setOrgId(requestUser.getOrgId());
-        }else {
+        } else {
             gradeBatch.updateInfo(requestUser.getId());
             gradeBatch.updateInfo(requestUser.getId());
         }
         }
         this.saveOrUpdate(gradeBatch);
         this.saveOrUpdate(gradeBatch);
@@ -156,6 +158,7 @@ public class GradeBatchServiceImpl extends ServiceImpl<GradeBatchMapper, GradeBa
 
 
         List<ExamStudentCourseClassDto> finalList = new ArrayList<>();
         List<ExamStudentCourseClassDto> finalList = new ArrayList<>();
         for (GradeBatchPaper gradeBatchPaper : gradeBatchPaperList) {
         for (GradeBatchPaper gradeBatchPaper : gradeBatchPaperList) {
+            // TODO: 2023/4/13  
             List<ExamStudentCourseClassDto> examStudentClassList = examStudentMapper.listExamStudentByPaperNumberAndPaperType(batchId, gradeBatchPaper.getPaperNumber(), gradeBatchPaper.getPaperType());
             List<ExamStudentCourseClassDto> examStudentClassList = examStudentMapper.listExamStudentByPaperNumberAndPaperType(batchId, gradeBatchPaper.getPaperNumber(), gradeBatchPaper.getPaperType());
             if (!examStudentClassList.isEmpty()) {
             if (!examStudentClassList.isEmpty()) {
                 finalList.addAll(examStudentClassList);
                 finalList.addAll(examStudentClassList);
@@ -426,7 +429,7 @@ public class GradeBatchServiceImpl extends ServiceImpl<GradeBatchMapper, GradeBa
             List<Long> orgIds = dtoList.stream().map(m -> m.getCourseCode() + "##" + m.getPaperNumber()).distinct().map(m -> {
             List<Long> orgIds = dtoList.stream().map(m -> m.getCourseCode() + "##" + m.getPaperNumber()).distinct().map(m -> {
                 String[] strings = m.split("##");
                 String[] strings = m.split("##");
                 // todo xf 20230413
                 // todo xf 20230413
-                ExamTask examTask = examTaskService.getByCourseCodeAndPaperNumber(schoolId, null, strings[0], strings[1]);
+                ExamTask examTask = examTaskService.getByCourseCodeAndPaperNumber(schoolId, gradeBatch.getExamId(), strings[0], strings[1]);
                 SysOrg sysOrg = sysOrgService.findCollegeLevelOrgByOrgId(examTask.getTeachingRoomId());
                 SysOrg sysOrg = sysOrgService.findCollegeLevelOrgByOrgId(examTask.getTeachingRoomId());
                 return sysOrg.getId();
                 return sysOrg.getId();
             }).distinct().collect(Collectors.toList());
             }).distinct().collect(Collectors.toList());

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

@@ -5,11 +5,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.distributed.print.business.bean.params.analyze.GradeModuleKnowledgeDefineParam;
 import com.qmth.distributed.print.business.bean.params.analyze.GradeModuleKnowledgeDefineParam;
 import com.qmth.distributed.print.business.bean.params.analyze.GradePaperDefineParam;
 import com.qmth.distributed.print.business.bean.params.analyze.GradePaperDefineParam;
 import com.qmth.distributed.print.business.entity.GradeModuleDefine;
 import com.qmth.distributed.print.business.entity.GradeModuleDefine;
-import com.qmth.teachcloud.common.enums.DimensionEnum;
 import com.qmth.distributed.print.business.mapper.GradeModuleDefineMapper;
 import com.qmth.distributed.print.business.mapper.GradeModuleDefineMapper;
 import com.qmth.distributed.print.business.service.GradeBatchPaperService;
 import com.qmth.distributed.print.business.service.GradeBatchPaperService;
 import com.qmth.distributed.print.business.service.GradeModuleDefineService;
 import com.qmth.distributed.print.business.service.GradeModuleDefineService;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.entity.SysUser;
+import com.qmth.teachcloud.common.enums.DimensionEnum;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
@@ -38,6 +38,7 @@ public class GradeModuleDefineServiceImpl extends ServiceImpl<GradeModuleDefineM
         String paperNumber = gradePaperDefineParam.getPaperNumber();
         String paperNumber = gradePaperDefineParam.getPaperNumber();
         String paperType = gradePaperDefineParam.getPaperType();
         String paperType = gradePaperDefineParam.getPaperType();
         String paperName = gradePaperDefineParam.getPaperName();
         String paperName = gradePaperDefineParam.getPaperName();
+        Long examId = gradePaperDefineParam.getExamId();
 
 
         String knowledgeInterpret = gradePaperDefineParam.getKnowledgeInterpret();
         String knowledgeInterpret = gradePaperDefineParam.getKnowledgeInterpret();
         String abilityInterpret = gradePaperDefineParam.getAbilityInterpret();
         String abilityInterpret = gradePaperDefineParam.getAbilityInterpret();
@@ -47,6 +48,7 @@ public class GradeModuleDefineServiceImpl extends ServiceImpl<GradeModuleDefineM
         List<GradeModuleDefine> gradeModuleDefineList = gradeModuleKnowledgeDefineParamList.stream().flatMap(e -> {
         List<GradeModuleDefine> gradeModuleDefineList = gradeModuleKnowledgeDefineParamList.stream().flatMap(e -> {
             GradeModuleDefine gradeModuleDefine = new GradeModuleDefine();
             GradeModuleDefine gradeModuleDefine = new GradeModuleDefine();
             gradeModuleDefine.setSchoolId(schoolId);
             gradeModuleDefine.setSchoolId(schoolId);
+            gradeModuleDefine.setExamId(examId);
             gradeModuleDefine.setPaperNumber(paperNumber);
             gradeModuleDefine.setPaperNumber(paperNumber);
             gradeModuleDefine.setPaperType(paperType);
             gradeModuleDefine.setPaperType(paperType);
             gradeModuleDefine.setPaperName(paperName);
             gradeModuleDefine.setPaperName(paperName);
@@ -62,6 +64,7 @@ public class GradeModuleDefineServiceImpl extends ServiceImpl<GradeModuleDefineM
         // 针对能力的
         // 针对能力的
         GradeModuleDefine abilityDefine = new GradeModuleDefine();
         GradeModuleDefine abilityDefine = new GradeModuleDefine();
         abilityDefine.setSchoolId(schoolId);
         abilityDefine.setSchoolId(schoolId);
+        abilityDefine.setExamId(examId);
         abilityDefine.setPaperNumber(paperNumber);
         abilityDefine.setPaperNumber(paperNumber);
         abilityDefine.setPaperType(paperType);
         abilityDefine.setPaperType(paperType);
         abilityDefine.setPaperName(paperName);
         abilityDefine.setPaperName(paperName);
@@ -69,20 +72,23 @@ public class GradeModuleDefineServiceImpl extends ServiceImpl<GradeModuleDefineM
         abilityDefine.setInterpret(abilityInterpret);
         abilityDefine.setInterpret(abilityInterpret);
         gradeModuleDefineList.add(abilityDefine);
         gradeModuleDefineList.add(abilityDefine);
 
 
-        gradeBatchPaperService.checkOperateAuth(schoolId, paperNumber, paperType);
+        gradeBatchPaperService.checkOperateAuth(schoolId, examId, paperNumber, paperType);
         this.remove(new QueryWrapper<GradeModuleDefine>()
         this.remove(new QueryWrapper<GradeModuleDefine>()
                 .lambda()
                 .lambda()
+                .eq(GradeModuleDefine::getExamId, examId)
                 .eq(GradeModuleDefine::getSchoolId, schoolId)
                 .eq(GradeModuleDefine::getSchoolId, schoolId)
                 .eq(GradeModuleDefine::getPaperNumber, paperNumber)
                 .eq(GradeModuleDefine::getPaperNumber, paperNumber)
                 .eq(GradeModuleDefine::getPaperType, paperType));
                 .eq(GradeModuleDefine::getPaperType, paperType));
         this.saveBatch(gradeModuleDefineList);
         this.saveBatch(gradeModuleDefineList);
-        gradeBatchPaperService.updatePaperAndBatchStatus(schoolId, paperNumber, paperType);
+        gradeBatchPaperService.updatePaperAndBatchStatus(schoolId, examId, paperNumber, paperType);
     }
     }
 
 
     @Override
     @Override
-    public List<GradeModuleDefine> findBySchoolIdAndPaperNumberAndPaperType(Long schoolId, String paperNumber, String paperType) {
+    public List<GradeModuleDefine> findBySchoolIdAndPaperNumberAndPaperType(Long schoolId, Long examId, String paperNumber, String paperType) {
         QueryWrapper<GradeModuleDefine> queryWrapper = new QueryWrapper<>();
         QueryWrapper<GradeModuleDefine> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(GradeModuleDefine::getSchoolId, schoolId)
+        queryWrapper.lambda()
+                .eq(GradeModuleDefine::getSchoolId, schoolId)
+                .eq(GradeModuleDefine::getExamId, examId)
                 .eq(GradeModuleDefine::getPaperNumber, paperNumber)
                 .eq(GradeModuleDefine::getPaperNumber, paperNumber)
                 .eq(GradeModuleDefine::getPaperType, paperType);
                 .eq(GradeModuleDefine::getPaperType, paperType);
         return this.baseMapper.selectList(queryWrapper);
         return this.baseMapper.selectList(queryWrapper);

+ 10 - 5
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradeModuleEvaluationServiceImpl.java

@@ -34,11 +34,12 @@ public class GradeModuleEvaluationServiceImpl extends ServiceImpl<GradeModuleEva
     private GradeBatchPaperService gradeBatchPaperService;
     private GradeBatchPaperService gradeBatchPaperService;
 
 
     @Override
     @Override
-    public List<GradeModuleEvaluationResult> findGradeModuleEvaluation(String paperNumber, String paperType, SysUser requestUser) {
+    public List<GradeModuleEvaluationResult> findGradeModuleEvaluation(Long examId, String paperNumber, String paperType, SysUser requestUser) {
         Long schoolId = requestUser.getSchoolId();
         Long schoolId = requestUser.getSchoolId();
         List<GradeModuleEvaluation> evaluationList = this.list(new QueryWrapper<GradeModuleEvaluation>()
         List<GradeModuleEvaluation> evaluationList = this.list(new QueryWrapper<GradeModuleEvaluation>()
                 .lambda()
                 .lambda()
                 .eq(GradeModuleEvaluation::getSchoolId, schoolId)
                 .eq(GradeModuleEvaluation::getSchoolId, schoolId)
+                .eq(GradeModuleEvaluation::getExamId, examId)
                 .eq(GradeModuleEvaluation::getPaperNumber, paperNumber)
                 .eq(GradeModuleEvaluation::getPaperNumber, paperNumber)
                 .eq(GradeModuleEvaluation::getPaperType, paperType));
                 .eq(GradeModuleEvaluation::getPaperType, paperType));
 
 
@@ -71,6 +72,7 @@ public class GradeModuleEvaluationServiceImpl extends ServiceImpl<GradeModuleEva
     @Override
     @Override
     public void saveGradeModuleEvaluationBatch(GradeModuleEvaluationParam gradeModuleEvaluationParam, SysUser requestUser) {
     public void saveGradeModuleEvaluationBatch(GradeModuleEvaluationParam gradeModuleEvaluationParam, SysUser requestUser) {
         Long schoolId = requestUser.getSchoolId();
         Long schoolId = requestUser.getSchoolId();
+        Long examId = gradeModuleEvaluationParam.getExamId();
         String paperNumber = gradeModuleEvaluationParam.getPaperNumber();
         String paperNumber = gradeModuleEvaluationParam.getPaperNumber();
         String paperType = gradeModuleEvaluationParam.getPaperType();
         String paperType = gradeModuleEvaluationParam.getPaperType();
         String paperName = gradeModuleEvaluationParam.getPaperName();
         String paperName = gradeModuleEvaluationParam.getPaperName();
@@ -79,6 +81,7 @@ public class GradeModuleEvaluationServiceImpl extends ServiceImpl<GradeModuleEva
         List<GradeModuleEvaluation> gradeModuleEvaluationList = datasource.stream().flatMap(e -> {
         List<GradeModuleEvaluation> gradeModuleEvaluationList = datasource.stream().flatMap(e -> {
             GradeModuleEvaluation cell = new GradeModuleEvaluation();
             GradeModuleEvaluation cell = new GradeModuleEvaluation();
             cell.setSchoolId(schoolId);
             cell.setSchoolId(schoolId);
+            cell.setExamId(examId);
             cell.setPaperNumber(paperNumber);
             cell.setPaperNumber(paperNumber);
             cell.setPaperType(paperType);
             cell.setPaperType(paperType);
             cell.setPaperName(paperName);
             cell.setPaperName(paperName);
@@ -93,7 +96,7 @@ public class GradeModuleEvaluationServiceImpl extends ServiceImpl<GradeModuleEva
         }).collect(Collectors.toList());
         }).collect(Collectors.toList());
 
 
         // 根据试卷编号和试卷类型判断分析课程是否有操作权限(批次分析试卷没有在计算中的才能操作)
         // 根据试卷编号和试卷类型判断分析课程是否有操作权限(批次分析试卷没有在计算中的才能操作)
-        gradeBatchPaperService.checkOperateAuth(schoolId, paperNumber, paperType);
+        gradeBatchPaperService.checkOperateAuth(schoolId, examId, paperNumber, paperType);
         // 删除原有的模块评价
         // 删除原有的模块评价
         this.remove(new QueryWrapper<GradeModuleEvaluation>()
         this.remove(new QueryWrapper<GradeModuleEvaluation>()
                 .lambda()
                 .lambda()
@@ -103,13 +106,15 @@ public class GradeModuleEvaluationServiceImpl extends ServiceImpl<GradeModuleEva
 
 
         // 新增
         // 新增
         this.saveBatch(gradeModuleEvaluationList);
         this.saveBatch(gradeModuleEvaluationList);
-        gradeBatchPaperService.updatePaperAndBatchStatus(schoolId, paperNumber, paperType);
+        gradeBatchPaperService.updatePaperAndBatchStatus(schoolId, examId, paperNumber, paperType);
     }
     }
 
 
     @Override
     @Override
-    public List<GradeModuleEvaluation> findBySchoolIdAndPaperNumberAndPaperType(Long schoolId, String paperNumber, String paperType) {
+    public List<GradeModuleEvaluation> findBySchoolIdAndPaperNumberAndPaperType(Long schoolId, Long examId, String paperNumber, String paperType) {
         QueryWrapper<GradeModuleEvaluation> queryWrapper = new QueryWrapper<>();
         QueryWrapper<GradeModuleEvaluation> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(GradeModuleEvaluation::getSchoolId, schoolId)
+        queryWrapper.lambda()
+                .eq(GradeModuleEvaluation::getSchoolId, schoolId)
+                .eq(GradeModuleEvaluation::getExamId, examId)
                 .eq(GradeModuleEvaluation::getPaperNumber, paperNumber)
                 .eq(GradeModuleEvaluation::getPaperNumber, paperNumber)
                 .eq(GradeModuleEvaluation::getPaperType, paperType);
                 .eq(GradeModuleEvaluation::getPaperType, paperType);
         return this.baseMapper.selectList(queryWrapper);
         return this.baseMapper.selectList(queryWrapper);

+ 10 - 10
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradePaperDimensionServiceImpl.java

@@ -10,14 +10,13 @@ import com.qmth.distributed.print.business.bean.dto.open.PaperDimension;
 import com.qmth.distributed.print.business.bean.params.analyze.GradePaperDimensionDatasource;
 import com.qmth.distributed.print.business.bean.params.analyze.GradePaperDimensionDatasource;
 import com.qmth.distributed.print.business.bean.params.analyze.GradePaperDimensionParam;
 import com.qmth.distributed.print.business.bean.params.analyze.GradePaperDimensionParam;
 import com.qmth.distributed.print.business.bean.result.analyze.GradePaperDimensionResult;
 import com.qmth.distributed.print.business.bean.result.analyze.GradePaperDimensionResult;
-import com.qmth.distributed.print.business.bean.result.analyze.SecondDimensionResult;
 import com.qmth.distributed.print.business.entity.GradePaperDimension;
 import com.qmth.distributed.print.business.entity.GradePaperDimension;
-import com.qmth.teachcloud.common.enums.DimensionEnum;
 import com.qmth.distributed.print.business.mapper.GradePaperDimensionMapper;
 import com.qmth.distributed.print.business.mapper.GradePaperDimensionMapper;
 import com.qmth.distributed.print.business.service.GradeBatchPaperService;
 import com.qmth.distributed.print.business.service.GradeBatchPaperService;
 import com.qmth.distributed.print.business.service.GradePaperDimensionService;
 import com.qmth.distributed.print.business.service.GradePaperDimensionService;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.entity.SysUser;
+import com.qmth.teachcloud.common.enums.DimensionEnum;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.util.ExcelUtil;
 import com.qmth.teachcloud.common.util.ExcelUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
@@ -29,8 +28,6 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import java.io.IOException;
 import java.io.IOException;
 import java.util.*;
 import java.util.*;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -46,8 +43,8 @@ public class GradePaperDimensionServiceImpl extends ServiceImpl<GradePaperDimens
     private GradeBatchPaperService gradeBatchPaperService;
     private GradeBatchPaperService gradeBatchPaperService;
 
 
     @Override
     @Override
-    public List<GradePaperDimensionResult> findGradePaperDimensionList(String paperNumber, String paperType, SysUser requestUser) {
-        return this.baseMapper.findGradePaperDimensionList(paperNumber, paperType, requestUser.getSchoolId());
+    public List<GradePaperDimensionResult> findGradePaperDimensionList(Long examId, String paperNumber, String paperType, SysUser requestUser) {
+        return this.baseMapper.findGradePaperDimensionList(examId, paperNumber, paperType, requestUser.getSchoolId());
     }
     }
 
 
     @Override
     @Override
@@ -56,10 +53,11 @@ public class GradePaperDimensionServiceImpl extends ServiceImpl<GradePaperDimens
         String paperType = gradePaperDimensionParam.getPaperType();
         String paperType = gradePaperDimensionParam.getPaperType();
         String paperName = gradePaperDimensionParam.getPaperName();
         String paperName = gradePaperDimensionParam.getPaperName();
         Long schoolId = requestUser.getSchoolId();
         Long schoolId = requestUser.getSchoolId();
+        Long examId = gradePaperDimensionParam.getExamId();
         DimensionEnum dimensionType = gradePaperDimensionParam.getDimensionType();
         DimensionEnum dimensionType = gradePaperDimensionParam.getDimensionType();
         List<GradePaperDimensionDatasource> datasource = gradePaperDimensionParam.getDatasource();
         List<GradePaperDimensionDatasource> datasource = gradePaperDimensionParam.getDatasource();
 
 
-        gradeBatchPaperService.checkOperateAuth(schoolId, paperNumber, paperType);
+        gradeBatchPaperService.checkOperateAuth(schoolId, examId, paperNumber, paperType);
         List<GradePaperDimension> gradePaperDimensionList = this.checkAndBuildGradePaperDimensionList(datasource, paperNumber, paperType, paperName, dimensionType, requestUser);
         List<GradePaperDimension> gradePaperDimensionList = this.checkAndBuildGradePaperDimensionList(datasource, paperNumber, paperType, paperName, dimensionType, requestUser);
         this.remove(new QueryWrapper<GradePaperDimension>().lambda()
         this.remove(new QueryWrapper<GradePaperDimension>().lambda()
                 .eq(GradePaperDimension::getSchoolId, requestUser.getSchoolId())
                 .eq(GradePaperDimension::getSchoolId, requestUser.getSchoolId())
@@ -67,12 +65,12 @@ public class GradePaperDimensionServiceImpl extends ServiceImpl<GradePaperDimens
                 .eq(GradePaperDimension::getPaperType, paperType)
                 .eq(GradePaperDimension::getPaperType, paperType)
                 .eq(GradePaperDimension::getDimensionType, dimensionType));
                 .eq(GradePaperDimension::getDimensionType, dimensionType));
         this.saveBatch(gradePaperDimensionList);
         this.saveBatch(gradePaperDimensionList);
-        gradeBatchPaperService.updatePaperAndBatchStatus(schoolId, paperNumber, paperType);
+        gradeBatchPaperService.updatePaperAndBatchStatus(examId, schoolId, paperNumber, paperType);
     }
     }
 
 
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
     @Override
     @Override
-    public void importGradePaperKnowledgeDimension(MultipartFile file, String paperNumber, String paperType, String paperName, SysUser requestUser) throws IOException, NoSuchFieldException {
+    public void importGradePaperKnowledgeDimension(MultipartFile file, Long examId, String paperNumber, String paperType, String paperName, SysUser requestUser) throws IOException, NoSuchFieldException {
         if (Objects.isNull(file)) {
         if (Objects.isNull(file)) {
             throw ExceptionResultEnum.ERROR.exception("找不到附件");
             throw ExceptionResultEnum.ERROR.exception("找不到附件");
         }
         }
@@ -106,6 +104,7 @@ public class GradePaperDimensionServiceImpl extends ServiceImpl<GradePaperDimens
         }
         }
         GradePaperDimensionParam gradePaperDimensionParam = new GradePaperDimensionParam();
         GradePaperDimensionParam gradePaperDimensionParam = new GradePaperDimensionParam();
         gradePaperDimensionParam.setDatasource(gradePaperDimensionDatasourceList);
         gradePaperDimensionParam.setDatasource(gradePaperDimensionDatasourceList);
+        gradePaperDimensionParam.setExamId(examId);
         gradePaperDimensionParam.setPaperNumber(paperNumber);
         gradePaperDimensionParam.setPaperNumber(paperNumber);
         gradePaperDimensionParam.setPaperType(paperType);
         gradePaperDimensionParam.setPaperType(paperType);
         gradePaperDimensionParam.setPaperName(paperName);
         gradePaperDimensionParam.setPaperName(paperName);
@@ -115,7 +114,7 @@ public class GradePaperDimensionServiceImpl extends ServiceImpl<GradePaperDimens
 
 
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
     @Override
     @Override
-    public void importGradePaperAbilityDimension(MultipartFile file, String paperNumber, String paperType, String paperName, SysUser requestUser) throws IOException, NoSuchFieldException {
+    public void importGradePaperAbilityDimension(MultipartFile file, Long examId, String paperNumber, String paperType, String paperName, SysUser requestUser) throws IOException, NoSuchFieldException {
         if (Objects.isNull(file)) {
         if (Objects.isNull(file)) {
             throw ExceptionResultEnum.ERROR.exception("找不到附件");
             throw ExceptionResultEnum.ERROR.exception("找不到附件");
         }
         }
@@ -148,6 +147,7 @@ public class GradePaperDimensionServiceImpl extends ServiceImpl<GradePaperDimens
         }
         }
         GradePaperDimensionParam gradePaperDimensionParam = new GradePaperDimensionParam();
         GradePaperDimensionParam gradePaperDimensionParam = new GradePaperDimensionParam();
         gradePaperDimensionParam.setDatasource(gradePaperDimensionDatasourceList);
         gradePaperDimensionParam.setDatasource(gradePaperDimensionDatasourceList);
+        gradePaperDimensionParam.setExamId(examId);
         gradePaperDimensionParam.setPaperNumber(paperNumber);
         gradePaperDimensionParam.setPaperNumber(paperNumber);
         gradePaperDimensionParam.setPaperType(paperType);
         gradePaperDimensionParam.setPaperType(paperType);
         gradePaperDimensionParam.setPaperName(paperName);
         gradePaperDimensionParam.setPaperName(paperName);

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

@@ -8,13 +8,13 @@ import com.qmth.distributed.print.business.bean.params.analyze.GradePaperDefineP
 import com.qmth.distributed.print.business.bean.result.analyze.GradePaperDefineResult;
 import com.qmth.distributed.print.business.bean.result.analyze.GradePaperDefineResult;
 import com.qmth.distributed.print.business.entity.GradeModuleDefine;
 import com.qmth.distributed.print.business.entity.GradeModuleDefine;
 import com.qmth.distributed.print.business.entity.GradePaper;
 import com.qmth.distributed.print.business.entity.GradePaper;
-import com.qmth.teachcloud.common.enums.DimensionEnum;
 import com.qmth.distributed.print.business.mapper.GradePaperMapper;
 import com.qmth.distributed.print.business.mapper.GradePaperMapper;
 import com.qmth.distributed.print.business.service.GradeBatchPaperService;
 import com.qmth.distributed.print.business.service.GradeBatchPaperService;
 import com.qmth.distributed.print.business.service.GradeModuleDefineService;
 import com.qmth.distributed.print.business.service.GradeModuleDefineService;
 import com.qmth.distributed.print.business.service.GradePaperService;
 import com.qmth.distributed.print.business.service.GradePaperService;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.AssignEnum;
 import com.qmth.teachcloud.common.enums.AssignEnum;
+import com.qmth.teachcloud.common.enums.DimensionEnum;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
@@ -41,23 +41,24 @@ public class GradePaperServiceImpl extends ServiceImpl<GradePaperMapper, GradePa
     private GradeModuleDefineService gradeModuleDefineService;
     private GradeModuleDefineService gradeModuleDefineService;
 
 
     @Override
     @Override
-    public GradePaperDefineResult findGradePaperDefine(String paperNumber, String paperType, SysUser requestUser) {
+    public GradePaperDefineResult findGradePaperDefine(Long examId, String paperNumber, String paperType, SysUser requestUser) {
         Long schoolId = requestUser.getSchoolId();
         Long schoolId = requestUser.getSchoolId();
         GradePaper gradePaper = this.getOne(new QueryWrapper<GradePaper>()
         GradePaper gradePaper = this.getOne(new QueryWrapper<GradePaper>()
                 .lambda()
                 .lambda()
+                .eq(GradePaper::getExamId, examId)
                 .eq(GradePaper::getSchoolId, schoolId)
                 .eq(GradePaper::getSchoolId, schoolId)
                 .eq(GradePaper::getPaperNumber, paperNumber)
                 .eq(GradePaper::getPaperNumber, paperNumber)
                 .eq(GradePaper::getPaperType, paperType));
                 .eq(GradePaper::getPaperType, paperType));
 
 
-
         List<GradeModuleDefine> gradeModuleDefineList = gradeModuleDefineService.list(new QueryWrapper<GradeModuleDefine>()
         List<GradeModuleDefine> gradeModuleDefineList = gradeModuleDefineService.list(new QueryWrapper<GradeModuleDefine>()
                 .lambda()
                 .lambda()
+                .eq(GradeModuleDefine::getExamId, examId)
                 .eq(GradeModuleDefine::getSchoolId, schoolId)
                 .eq(GradeModuleDefine::getSchoolId, schoolId)
                 .eq(GradeModuleDefine::getPaperNumber, paperNumber)
                 .eq(GradeModuleDefine::getPaperNumber, paperNumber)
                 .eq(GradeModuleDefine::getPaperType, paperType));
                 .eq(GradeModuleDefine::getPaperType, paperType));
 
 
         GradePaperDefineResult gradePaperDefineResult = new GradePaperDefineResult();
         GradePaperDefineResult gradePaperDefineResult = new GradePaperDefineResult();
-        if (Objects.isNull(gradePaper) && gradeModuleDefineList.isEmpty()){
+        if (Objects.isNull(gradePaper) && gradeModuleDefineList.isEmpty()) {
             return null;
             return null;
         }
         }
         if (Objects.nonNull(gradePaper)) {
         if (Objects.nonNull(gradePaper)) {
@@ -106,16 +107,18 @@ public class GradePaperServiceImpl extends ServiceImpl<GradePaperMapper, GradePa
         String paperNumber = gradePaperDefineParam.getPaperNumber();
         String paperNumber = gradePaperDefineParam.getPaperNumber();
         String paperType = gradePaperDefineParam.getPaperType();
         String paperType = gradePaperDefineParam.getPaperType();
         String paperName = gradePaperDefineParam.getPaperName();
         String paperName = gradePaperDefineParam.getPaperName();
+        Long examId = gradePaperDefineParam.getExamId();
         Long schoolId = requestUser.getSchoolId();
         Long schoolId = requestUser.getSchoolId();
 
 
         // 判断分析课程是否有操作权限
         // 判断分析课程是否有操作权限
-        gradeBatchPaperService.checkOperateAuth(schoolId, paperNumber, paperType);
+        gradeBatchPaperService.checkOperateAuth(schoolId, examId, paperNumber, paperType);
 
 
         BigDecimal totalScore = gradePaperDefineParam.getTotalScore();
         BigDecimal totalScore = gradePaperDefineParam.getTotalScore();
         BigDecimal passScore = gradePaperDefineParam.getPassScore();
         BigDecimal passScore = gradePaperDefineParam.getPassScore();
 
 
         GradePaper gradePaper = new GradePaper();
         GradePaper gradePaper = new GradePaper();
         gradePaper.setSchoolId(schoolId);
         gradePaper.setSchoolId(schoolId);
+        gradePaper.setExamId(examId);
         gradePaper.setPaperNumber(paperNumber);
         gradePaper.setPaperNumber(paperNumber);
         gradePaper.setPaperType(paperType);
         gradePaper.setPaperType(paperType);
         gradePaper.setPaperName(paperName);
         gradePaper.setPaperName(paperName);
@@ -128,17 +131,18 @@ public class GradePaperServiceImpl extends ServiceImpl<GradePaperMapper, GradePa
         this.remove(new QueryWrapper<GradePaper>()
         this.remove(new QueryWrapper<GradePaper>()
                 .lambda()
                 .lambda()
                 .eq(GradePaper::getSchoolId, schoolId)
                 .eq(GradePaper::getSchoolId, schoolId)
+                .eq(GradePaper::getExamId, examId)
                 .eq(GradePaper::getPaperNumber, paperNumber)
                 .eq(GradePaper::getPaperNumber, paperNumber)
                 .eq(GradePaper::getPaperType, paperType));
                 .eq(GradePaper::getPaperType, paperType));
 
 
         gradePaper.insertInfo(requestUser.getId());
         gradePaper.insertInfo(requestUser.getId());
         this.save(gradePaper);
         this.save(gradePaper);
-        gradeBatchPaperService.updatePaperAndBatchStatus(schoolId,paperNumber,paperType);
+        gradeBatchPaperService.updatePaperAndBatchStatus(schoolId, examId, paperNumber, paperType);
         return gradePaper.getId();
         return gradePaper.getId();
     }
     }
 
 
     @Override
     @Override
-    public PaperConfig findBySchoolIdAndPaperNumberAndPaperType(Long schoolId, String paperNumber, String paperType) {
-        return this.baseMapper.findBySchoolIdAndPaperNumberAndPaperType(schoolId, paperNumber, paperType);
+    public PaperConfig findBySchoolIdAndPaperNumberAndPaperType(Long schoolId, Long examId, String paperNumber, String paperType) {
+        return this.baseMapper.findBySchoolIdAndPaperNumberAndPaperType(schoolId, examId, paperNumber, paperType);
     }
     }
 }
 }

+ 16 - 14
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradePaperStructServiceImpl.java

@@ -60,11 +60,11 @@ public class GradePaperStructServiceImpl extends ServiceImpl<GradePaperStructMap
     private CloudMarkingTaskUtils cloudMarkingTaskUtils;
     private CloudMarkingTaskUtils cloudMarkingTaskUtils;
 
 
     @Override
     @Override
-    public List<GradePaperStructResult> findGradePaperStructureResultList(String paperNumber, String paperType, SysUser requestUser) {
+    public List<GradePaperStructResult> findGradePaperStructureResultList(Long examId, String paperNumber, String paperType, SysUser requestUser) {
         Long schoolId = requestUser.getSchoolId();
         Long schoolId = requestUser.getSchoolId();
         List<GradePaperStructResult> result = new ArrayList<>();
         List<GradePaperStructResult> result = new ArrayList<>();
         // 先从分析试卷结构表取
         // 先从分析试卷结构表取
-        List<GradePaperStructResult> gradeStructDatasource = this.baseMapper.findStructByGradePaper(schoolId, paperNumber, paperType);
+        List<GradePaperStructResult> gradeStructDatasource = this.baseMapper.findStructByGradePaper(schoolId, examId, paperNumber, paperType);
         if (gradeStructDatasource != null && gradeStructDatasource.size() > 0) {
         if (gradeStructDatasource != null && gradeStructDatasource.size() > 0) {
             // 如果已经设置了试卷结构查询之前配置好的分析参数-试卷结构
             // 如果已经设置了试卷结构查询之前配置好的分析参数-试卷结构
             result = gradeStructDatasource;
             result = gradeStructDatasource;
@@ -76,6 +76,7 @@ public class GradePaperStructServiceImpl extends ServiceImpl<GradePaperStructMap
             ExamPaperStructure examPaperStructure = examPaperStructureService.getOne(new QueryWrapper<ExamPaperStructure>()
             ExamPaperStructure examPaperStructure = examPaperStructureService.getOne(new QueryWrapper<ExamPaperStructure>()
                     .lambda()
                     .lambda()
                     .eq(ExamPaperStructure::getSchoolId, schoolId)
                     .eq(ExamPaperStructure::getSchoolId, schoolId)
+                    .eq(ExamPaperStructure::getExamId, examId)
                     .eq(ExamPaperStructure::getPaperNumber, paperNumber)
                     .eq(ExamPaperStructure::getPaperNumber, paperNumber)
                     .eq(ExamPaperStructure::getPaperType, paperType));
                     .eq(ExamPaperStructure::getPaperType, paperType));
             if (Objects.isNull(examPaperStructure)) {
             if (Objects.isNull(examPaperStructure)) {
@@ -142,10 +143,9 @@ public class GradePaperStructServiceImpl extends ServiceImpl<GradePaperStructMap
                 result.add(cell);
                 result.add(cell);
             }
             }
         }
         }
-        Comparator<GradePaperStructResult> bigComparator=Comparator.comparing(o -> Integer.parseInt(o.getBigQuestionNumber()));
-        Comparator<GradePaperStructResult> smallComparator=Comparator.comparing(o -> Integer.parseInt(o.getSmallQuestionNumber()));
+        Comparator<GradePaperStructResult> bigComparator = Comparator.comparing(o -> Integer.parseInt(o.getBigQuestionNumber()));
+        Comparator<GradePaperStructResult> smallComparator = Comparator.comparing(o -> Integer.parseInt(o.getSmallQuestionNumber()));
         result.sort(bigComparator.thenComparing(smallComparator));
         result.sort(bigComparator.thenComparing(smallComparator));
-
         return result;
         return result;
     }
     }
 
 
@@ -156,20 +156,22 @@ public class GradePaperStructServiceImpl extends ServiceImpl<GradePaperStructMap
         String paperNumber = gradePaperStructParam.getPaperNumber();
         String paperNumber = gradePaperStructParam.getPaperNumber();
         String paperType = gradePaperStructParam.getPaperType();
         String paperType = gradePaperStructParam.getPaperType();
         String paperName = gradePaperStructParam.getPaperName();
         String paperName = gradePaperStructParam.getPaperName();
+        Long examId = gradePaperStructParam.getExamId();
         List<GradePaperStructDatasource> datasource = gradePaperStructParam.getDatasource();
         List<GradePaperStructDatasource> datasource = gradePaperStructParam.getDatasource();
 
 
         // 验证批次分析试卷是否在计算
         // 验证批次分析试卷是否在计算
-        gradeBatchPaperService.checkOperateAuth(schoolId, paperNumber, paperType);
+        gradeBatchPaperService.checkOperateAuth(schoolId, examId, paperNumber, paperType);
         // 检验结构正确性并构建分析试卷结构
         // 检验结构正确性并构建分析试卷结构
         List<GradePaperStruct> gradePaperStructList = this.checkAndBuildGradePaperStruct(datasource, paperNumber, paperType, paperName, requestUser);
         List<GradePaperStruct> gradePaperStructList = this.checkAndBuildGradePaperStruct(datasource, paperNumber, paperType, paperName, requestUser);
         // 删除旧的试卷结构
         // 删除旧的试卷结构
         this.remove(new QueryWrapper<GradePaperStruct>()
         this.remove(new QueryWrapper<GradePaperStruct>()
                 .lambda()
                 .lambda()
                 .eq(GradePaperStruct::getSchoolId, schoolId)
                 .eq(GradePaperStruct::getSchoolId, schoolId)
+                .eq(GradePaperStruct::getExamId, examId)
                 .eq(GradePaperStruct::getPaperNumber, paperNumber)
                 .eq(GradePaperStruct::getPaperNumber, paperNumber)
                 .eq(GradePaperStruct::getPaperType, paperType));
                 .eq(GradePaperStruct::getPaperType, paperType));
         this.saveBatch(gradePaperStructList);
         this.saveBatch(gradePaperStructList);
-        gradeBatchPaperService.updatePaperAndBatchStatus(schoolId, paperNumber, paperType);
+        gradeBatchPaperService.updatePaperAndBatchStatus(schoolId, examId, paperNumber, paperType);
     }
     }
 
 
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
@@ -216,7 +218,7 @@ public class GradePaperStructServiceImpl extends ServiceImpl<GradePaperStructMap
     }
     }
 
 
     @Override
     @Override
-    public void exportGradePaperStructTemplate(String paperNumber, String paperType, @NotNull SysUser requestUser) throws Exception {
+    public void exportGradePaperStructTemplate(Long examId, String paperNumber, String paperType, @NotNull SysUser requestUser) throws Exception {
 
 
         ExamTask examTask = examTaskService.getOne(new QueryWrapper<ExamTask>().lambda()
         ExamTask examTask = examTaskService.getOne(new QueryWrapper<ExamTask>().lambda()
                 .eq(ExamTask::getSchoolId, requestUser.getSchoolId())
                 .eq(ExamTask::getSchoolId, requestUser.getSchoolId())
@@ -227,7 +229,7 @@ public class GradePaperStructServiceImpl extends ServiceImpl<GradePaperStructMap
         String courseCode = examTask.getCourseCode();
         String courseCode = examTask.getCourseCode();
         String courseName = examTask.getCourseName();
         String courseName = examTask.getCourseName();
 
 
-        List<GradePaperStructResult> datasource = this.findGradePaperStructureResultList(paperNumber, paperType, requestUser);
+        List<GradePaperStructResult> datasource = this.findGradePaperStructureResultList(examId, paperNumber, paperType, requestUser);
         List<GradePaperStructDto> gradePaperStructDtoList = datasource.stream().flatMap(e -> {
         List<GradePaperStructDto> gradePaperStructDtoList = datasource.stream().flatMap(e -> {
             GradePaperStructDto cell = new GradePaperStructDto();
             GradePaperStructDto cell = new GradePaperStructDto();
             cell.setCourseCode(courseCode);
             cell.setCourseCode(courseCode);
@@ -259,8 +261,8 @@ public class GradePaperStructServiceImpl extends ServiceImpl<GradePaperStructMap
         queryWrapper.lambda()
         queryWrapper.lambda()
                 .eq(ExamPaperStructure::getSchoolId, schoolId)
                 .eq(ExamPaperStructure::getSchoolId, schoolId)
                 .eq(ExamPaperStructure::getPaperNumber, paperNumber);
                 .eq(ExamPaperStructure::getPaperNumber, paperNumber);
-        if (SystemConstant.strNotNull(paperType)){
-            queryWrapper.lambda().eq(ExamPaperStructure::getPaperType,paperType);
+        if (SystemConstant.strNotNull(paperType)) {
+            queryWrapper.lambda().eq(ExamPaperStructure::getPaperType, paperType);
         }
         }
 
 
         List<ExamPaperStructure> examPaperStructureList = examPaperStructureService.list(queryWrapper);
         List<ExamPaperStructure> examPaperStructureList = examPaperStructureService.list(queryWrapper);
@@ -292,9 +294,9 @@ public class GradePaperStructServiceImpl extends ServiceImpl<GradePaperStructMap
 
 
         // 更新grade_paper_struct
         // 更新grade_paper_struct
         QueryWrapper<GradePaperStruct> willDeleteQueryWrapper = new QueryWrapper<>();
         QueryWrapper<GradePaperStruct> willDeleteQueryWrapper = new QueryWrapper<>();
-        willDeleteQueryWrapper.lambda().eq(GradePaperStruct::getSchoolId,schoolId).eq(GradePaperStruct::getPaperNumber,paperNumber);
-        if (SystemConstant.strNotNull(paperType)){
-            willDeleteQueryWrapper.lambda().eq(GradePaperStruct::getPaperType,paperType);
+        willDeleteQueryWrapper.lambda().eq(GradePaperStruct::getSchoolId, schoolId).eq(GradePaperStruct::getPaperNumber, paperNumber);
+        if (SystemConstant.strNotNull(paperType)) {
+            willDeleteQueryWrapper.lambda().eq(GradePaperStruct::getPaperType, paperType);
         }
         }
         this.remove(willDeleteQueryWrapper);
         this.remove(willDeleteQueryWrapper);
     }
     }

+ 16 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/OpenApiServiceImpl.java

@@ -57,13 +57,21 @@ public class OpenApiServiceImpl implements OpenApiService {
     @Resource
     @Resource
     private GradeBatchStudentClazzService gradeBatchStudentClazzService;
     private GradeBatchStudentClazzService gradeBatchStudentClazzService;
 
 
+    @Resource
+    private GradeBatchService gradeBatchService;
+
     @Override
     @Override
     public PaperConfig getPaperConfig(BasicSchool basicSchool, String thirdExamId, String gradeCourseCode) {
     public PaperConfig getPaperConfig(BasicSchool basicSchool, String thirdExamId, String gradeCourseCode) {
         GradeBatchPaper gradeBatchPaper = gradeBatchPaperService.findByThirdExamIdAndGradeCourseCode(basicSchool.getId(), thirdExamId, gradeCourseCode);
         GradeBatchPaper gradeBatchPaper = gradeBatchPaperService.findByThirdExamIdAndGradeCourseCode(basicSchool.getId(), thirdExamId, gradeCourseCode);
         if (gradeBatchPaper == null) {
         if (gradeBatchPaper == null) {
             return null;
             return null;
         }
         }
-        return gradePaperService.findBySchoolIdAndPaperNumberAndPaperType(gradeBatchPaper.getSchoolId(), gradeBatchPaper.getPaperNumber(), gradeBatchPaper.getPaperType());
+        Long examId = null;
+        GradeBatch gradeBatch = gradeBatchService.getOne(new QueryWrapper<GradeBatch>().lambda().eq(GradeBatch::getThirdExamId,thirdExamId));
+        if (Objects.nonNull(gradeBatch)){
+            examId = gradeBatch.getExamId();
+        }
+        return gradePaperService.findBySchoolIdAndPaperNumberAndPaperType(gradeBatchPaper.getSchoolId(),examId, gradeBatchPaper.getPaperNumber(), gradeBatchPaper.getPaperType());
     }
     }
 
 
     @Override
     @Override
@@ -91,8 +99,13 @@ public class OpenApiServiceImpl implements OpenApiService {
         if (gradeBatchPaper == null) {
         if (gradeBatchPaper == null) {
             return paperEvaluations;
             return paperEvaluations;
         }
         }
-        List<GradeModuleDefine> gradeModuleDefineList = gradeModuleDefineService.findBySchoolIdAndPaperNumberAndPaperType(gradeBatchPaper.getSchoolId(), gradeBatchPaper.getPaperNumber(), gradeBatchPaper.getPaperType());
-        List<GradeModuleEvaluation> gradeModuleEvaluationList = gradeModuleEvaluationService.findBySchoolIdAndPaperNumberAndPaperType(gradeBatchPaper.getSchoolId(), gradeBatchPaper.getPaperNumber(), gradeBatchPaper.getPaperType());
+        Long examId = null;
+        GradeBatch gradeBatch = gradeBatchService.getOne(new QueryWrapper<GradeBatch>().lambda().eq(GradeBatch::getThirdExamId,thirdExamId));
+        if (Objects.nonNull(gradeBatch)){
+            examId = gradeBatch.getExamId();
+        }
+        List<GradeModuleDefine> gradeModuleDefineList = gradeModuleDefineService.findBySchoolIdAndPaperNumberAndPaperType(gradeBatchPaper.getSchoolId(),examId, gradeBatchPaper.getPaperNumber(), gradeBatchPaper.getPaperType());
+        List<GradeModuleEvaluation> gradeModuleEvaluationList = gradeModuleEvaluationService.findBySchoolIdAndPaperNumberAndPaperType(gradeBatchPaper.getSchoolId(),examId, gradeBatchPaper.getPaperNumber(), gradeBatchPaper.getPaperType());
         // 分组(分隔符_)
         // 分组(分隔符_)
         if (!gradeModuleDefineList.isEmpty()) {
         if (!gradeModuleDefineList.isEmpty()) {
 
 

+ 7 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/PrintCommonServiceImpl.java

@@ -1253,14 +1253,18 @@ public class PrintCommonServiceImpl implements PrintCommonService {
     }
     }
 
 
     @Override
     @Override
-    public void updateGradeBatchStatus(Long schoolId, String paperNumber, String paperType) {
+    public void updateGradeBatchStatus(Long schoolId,Long examId, String paperNumber, String paperType) {
         QueryWrapper<GradeBatchPaper> gradeBatchPaperQueryWrapper = new QueryWrapper<>();
         QueryWrapper<GradeBatchPaper> gradeBatchPaperQueryWrapper = new QueryWrapper<>();
-        gradeBatchPaperQueryWrapper.lambda().eq(GradeBatchPaper::getSchoolId, schoolId).eq(GradeBatchPaper::getPaperNumber, paperNumber).eq(GradeBatchPaper::getPaperType, paperType);
+        gradeBatchPaperQueryWrapper.lambda()
+                .eq(GradeBatchPaper::getSchoolId, schoolId)
+                .eq(GradeBatchPaper::getExamId,examId)
+                .eq(GradeBatchPaper::getPaperNumber, paperNumber)
+                .eq(GradeBatchPaper::getPaperType, paperType);
         List<GradeBatchPaper> gradeBatchPaperList = gradeBatchPaperService.list(gradeBatchPaperQueryWrapper);
         List<GradeBatchPaper> gradeBatchPaperList = gradeBatchPaperService.list(gradeBatchPaperQueryWrapper);
         if (!gradeBatchPaperList.isEmpty()) {
         if (!gradeBatchPaperList.isEmpty()) {
             for (GradeBatchPaper gradeBatchPaper : gradeBatchPaperList) {
             for (GradeBatchPaper gradeBatchPaper : gradeBatchPaperList) {
                 QueryWrapper<GradeBatchPaper> queryWrapperList = new QueryWrapper<>();
                 QueryWrapper<GradeBatchPaper> queryWrapperList = new QueryWrapper<>();
-                queryWrapperList.lambda().eq(GradeBatchPaper::getBatchId, gradeBatchPaper.getBatchId());
+                queryWrapperList.lambda().eq(GradeBatchPaper::getBatchId, gradeBatchPaper.getBatchId()).eq(GradeBatchPaper::getExamId,examId);
                 List<GradeBatchPaper> gradeBatchPaperAll = gradeBatchPaperService.list(queryWrapperList);
                 List<GradeBatchPaper> gradeBatchPaperAll = gradeBatchPaperService.list(queryWrapperList);
                 if (!gradeBatchPaperAll.isEmpty()) {
                 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();

+ 4 - 0
distributed-print-business/src/main/resources/mapper/GradeBatchMapper.xml

@@ -6,6 +6,8 @@
             resultType="com.qmth.distributed.print.business.bean.result.analyze.GradeBatchResult">
             resultType="com.qmth.distributed.print.business.bean.result.analyze.GradeBatchResult">
         SELECT
         SELECT
             gb.id AS id,
             gb.id AS id,
+            gb.exam_id AS examId,
+            be.name AS examName,
             gb.batch_name AS batchName,
             gb.batch_name AS batchName,
             gb.batch_time AS batchTime,
             gb.batch_time AS batchTime,
             gb.status,
             gb.status,
@@ -27,6 +29,8 @@
              GROUP BY batch_id) gbp ON gb.id = gbp.batch_id
              GROUP BY batch_id) gbp ON gb.id = gbp.batch_id
                 LEFT JOIN
                 LEFT JOIN
             basic_semester bs ON gb.semester_id = bs.id
             basic_semester bs ON gb.semester_id = bs.id
+                LEFT JOIN
+            basic_exam be ON gb.exam_id = be.id
         <where>
         <where>
             <if test="schoolId != null and schoolId != ''">
             <if test="schoolId != null and schoolId != ''">
                 AND gb.school_id = #{schoolId}
                 AND gb.school_id = #{schoolId}

+ 3 - 0
distributed-print-business/src/main/resources/mapper/GradePaperDimensionMapper.xml

@@ -22,6 +22,9 @@
             <if test="schoolId != null and schoolId != ''">
             <if test="schoolId != null and schoolId != ''">
                 AND gpd.school_id = #{schoolId}
                 AND gpd.school_id = #{schoolId}
             </if>
             </if>
+            <if test="examId != null">
+                AND gpd.exam_id = #{examId}
+            </if>
             <if test="paperNumber != null and paperNumber != ''">
             <if test="paperNumber != null and paperNumber != ''">
                 AND gpd.paper_number = #{paperNumber}
                 AND gpd.paper_number = #{paperNumber}
             </if>
             </if>

+ 3 - 0
distributed-print-business/src/main/resources/mapper/GradePaperMapper.xml

@@ -16,5 +16,8 @@
         where school_id = #{schoolId}
         where school_id = #{schoolId}
           and paper_number = #{paperNumber}
           and paper_number = #{paperNumber}
           and paper_type = #{paperType}
           and paper_type = #{paperType}
+         <if test="examId != null">
+             AND exam_id = #{examId}
+         </if>
     </select>
     </select>
 </mapper>
 </mapper>

+ 3 - 0
distributed-print-business/src/main/resources/mapper/GradePaperStructMapper.xml

@@ -51,6 +51,9 @@
             <if test="schoolId != null and schoolId != ''">
             <if test="schoolId != null and schoolId != ''">
                 AND gps.school_id = #{schoolId}
                 AND gps.school_id = #{schoolId}
             </if>
             </if>
+            <if test="examId != null">
+                AND gps.exam_id = #{examId}
+            </if>
             <if test="paperNumber != null and paperNumber != ''">
             <if test="paperNumber != null and paperNumber != ''">
                 AND gps.paper_number = #{paperNumber}
                 AND gps.paper_number = #{paperNumber}
             </if>
             </if>

+ 5 - 3
distributed-print/src/main/java/com/qmth/distributed/print/api/GradeModuleEvaluationController.java

@@ -44,14 +44,15 @@ public class GradeModuleEvaluationController {
     @ApiOperation(value = "成绩分析模块评价-查询")
     @ApiOperation(value = "成绩分析模块评价-查询")
     @RequestMapping(value = "/list", method = RequestMethod.POST)
     @RequestMapping(value = "/list", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = GradeModuleEvaluationResult.class)})
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = GradeModuleEvaluationResult.class)})
-    public Result findGradeModuleEvaluationList(@ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber,
+    public Result findGradeModuleEvaluationList(@ApiParam(value = "考试id", required = true) @RequestParam String examId,
+                                                @ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber,
                                                 @ApiParam(value = "试卷类型", required = true) @RequestParam String paperType) {
                                                 @ApiParam(value = "试卷类型", required = true) @RequestParam String paperType) {
 
 
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         if (SystemConstant.isOneNull(paperNumber, paperType)) {
         if (SystemConstant.isOneNull(paperNumber, paperType)) {
             throw ExceptionResultEnum.ERROR.exception("试卷参数不完整");
             throw ExceptionResultEnum.ERROR.exception("试卷参数不完整");
         }
         }
-        return ResultUtil.ok(gradeModuleEvaluationService.findGradeModuleEvaluation(paperNumber, paperType, requestUser));
+        return ResultUtil.ok(gradeModuleEvaluationService.findGradeModuleEvaluation(SystemConstant.convertIdToLong(examId),paperNumber, paperType, requestUser));
     }
     }
 
 
     @ApiOperation(value = "成绩分析模块评价-新建模块评价")
     @ApiOperation(value = "成绩分析模块评价-新建模块评价")
@@ -64,8 +65,9 @@ public class GradeModuleEvaluationController {
         }
         }
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         gradeModuleEvaluationService.saveGradeModuleEvaluationBatch(gradeModuleEvaluationParam, requestUser);
         gradeModuleEvaluationService.saveGradeModuleEvaluationBatch(gradeModuleEvaluationParam, requestUser);
+        Long examId = gradeModuleEvaluationParam.getExamId();
         // 更新批次状态
         // 更新批次状态
-        printCommonService.updateGradeBatchStatus(requestUser.getSchoolId(), gradeModuleEvaluationParam.getPaperNumber(), gradeModuleEvaluationParam.getPaperType());
+        printCommonService.updateGradeBatchStatus(requestUser.getSchoolId(),examId, gradeModuleEvaluationParam.getPaperNumber(), gradeModuleEvaluationParam.getPaperType());
         return ResultUtil.ok();
         return ResultUtil.ok();
     }
     }
 }
 }

+ 3 - 2
distributed-print/src/main/java/com/qmth/distributed/print/api/GradePaperController.java

@@ -58,10 +58,11 @@ public class GradePaperController {
     @ApiOperation(value = "成绩分析课程-查询定义")
     @ApiOperation(value = "成绩分析课程-查询定义")
     @RequestMapping(value = "/paper_define", method = RequestMethod.POST)
     @RequestMapping(value = "/paper_define", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = GradePaperDefineResult.class)})
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = GradePaperDefineResult.class)})
-    public Result findGradePaperDefine(@ApiParam(value = "课程编号", required = true) @RequestParam String paperNumber,
+    public Result findGradePaperDefine(@ApiParam(value = "考试id", required = true) @RequestParam String examId,
+                                       @ApiParam(value = "课程编号", required = true) @RequestParam String paperNumber,
                                        @ApiParam(value = "课程编号", required = true) @RequestParam String paperType) {
                                        @ApiParam(value = "课程编号", required = true) @RequestParam String paperType) {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
-        return ResultUtil.ok(gradePaperService.findGradePaperDefine(paperNumber, paperType, requestUser));
+        return ResultUtil.ok(gradePaperService.findGradePaperDefine(SystemConstant.convertIdToLong(examId),paperNumber, paperType, requestUser));
     }
     }
 
 
 
 

+ 8 - 6
distributed-print/src/main/java/com/qmth/distributed/print/api/GradePaperDimensionController.java

@@ -43,14 +43,15 @@ public class GradePaperDimensionController {
     @ApiOperation(value = "成绩分析维度-查询")
     @ApiOperation(value = "成绩分析维度-查询")
     @RequestMapping(value = "/list", method = RequestMethod.POST)
     @RequestMapping(value = "/list", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = GradePaperDimensionResult.class)})
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = GradePaperDimensionResult.class)})
-    public Result findGradePaperDimensionList(@ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber,
+    public Result findGradePaperDimensionList(@ApiParam(value = "考试id", required = true) @RequestParam String examId,
+                                              @ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber,
                                               @ApiParam(value = "试卷类型", required = true) @RequestParam String paperType) {
                                               @ApiParam(value = "试卷类型", required = true) @RequestParam String paperType) {
 
 
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         if (SystemConstant.isOneNull(paperNumber, paperType)) {
         if (SystemConstant.isOneNull(paperNumber, paperType)) {
             throw ExceptionResultEnum.ERROR.exception("试卷参数不完整");
             throw ExceptionResultEnum.ERROR.exception("试卷参数不完整");
         }
         }
-        return ResultUtil.ok(gradePaperDimensionService.findGradePaperDimensionList(paperNumber, paperType, requestUser));
+        return ResultUtil.ok(gradePaperDimensionService.findGradePaperDimensionList(SystemConstant.convertIdToLong(examId), paperNumber, paperType, requestUser));
     }
     }
 
 
     @ApiOperation(value = "成绩分析维度-新建维度")
     @ApiOperation(value = "成绩分析维度-新建维度")
@@ -71,6 +72,7 @@ public class GradePaperDimensionController {
     @ApiResponses({@ApiResponse(code = 200, message = "{\"success\":true}", response = Result.class)})
     @ApiResponses({@ApiResponse(code = 200, message = "{\"success\":true}", response = Result.class)})
     @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.IMPORT)
     @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.IMPORT)
     public Result gradePaperDimensionImport(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file,
     public Result gradePaperDimensionImport(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file,
+                                            @ApiParam(value = "考试id", required = true) @RequestParam String examId,
                                             @ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber,
                                             @ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber,
                                             @ApiParam(value = "试卷类型", required = true) @RequestParam String paperType,
                                             @ApiParam(value = "试卷类型", required = true) @RequestParam String paperType,
                                             @ApiParam(value = "试卷名称", required = true) @RequestParam String paperName,
                                             @ApiParam(value = "试卷名称", required = true) @RequestParam String paperName,
@@ -83,10 +85,10 @@ public class GradePaperDimensionController {
 
 
         switch (dimensionType) {
         switch (dimensionType) {
             case KNOWLEDGE:
             case KNOWLEDGE:
-                gradePaperDimensionService.importGradePaperKnowledgeDimension(file, paperNumber, paperType, paperName, requestUser);
+                gradePaperDimensionService.importGradePaperKnowledgeDimension(file,SystemConstant.convertIdToLong(examId), paperNumber, paperType, paperName, requestUser);
                 break;
                 break;
             case ABILITY:
             case ABILITY:
-                gradePaperDimensionService.importGradePaperAbilityDimension(file, paperNumber, paperType, paperName, requestUser);
+                gradePaperDimensionService.importGradePaperAbilityDimension(file,SystemConstant.convertIdToLong(examId), paperNumber, paperType, paperName, requestUser);
                 break;
                 break;
             default:
             default:
                 break;
                 break;
@@ -103,10 +105,10 @@ public class GradePaperDimensionController {
                                             @ApiParam(value = "维度类型", required = true) @RequestParam DimensionEnum dimensionType) throws Exception {
                                             @ApiParam(value = "维度类型", required = true) @RequestParam DimensionEnum dimensionType) throws Exception {
 
 
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
-        if (SystemConstant.isOneNull(courseCode,courseName, dimensionType)) {
+        if (SystemConstant.isOneNull(courseCode, courseName, dimensionType)) {
             throw ExceptionResultEnum.ERROR.exception("参数不完整");
             throw ExceptionResultEnum.ERROR.exception("参数不完整");
         }
         }
-        gradePaperDimensionService.exportGradePaperDimensionTemplate(courseCode,courseName,dimensionType);
+        gradePaperDimensionService.exportGradePaperDimensionTemplate(courseCode, courseName, dimensionType);
         return ResultUtil.ok();
         return ResultUtil.ok();
     }
     }
 }
 }

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

@@ -43,14 +43,15 @@ public class GradePaperStructController {
     @ApiOperation(value = "成绩分析试卷结构-查询")
     @ApiOperation(value = "成绩分析试卷结构-查询")
     @RequestMapping(value = "/list", method = RequestMethod.POST)
     @RequestMapping(value = "/list", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = GradePaperStructResult.class)})
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = GradePaperStructResult.class)})
-    public Result findGradePaperStructList(@ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber,
+    public Result findGradePaperStructList(@ApiParam(value = "考试id", required = true) @RequestParam String examId,
+                                           @ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber,
                                            @ApiParam(value = "试卷类型", required = true) @RequestParam String paperType) {
                                            @ApiParam(value = "试卷类型", required = true) @RequestParam String paperType) {
 
 
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         if (SystemConstant.isOneNull(paperNumber, paperType)) {
         if (SystemConstant.isOneNull(paperNumber, paperType)) {
             throw ExceptionResultEnum.ERROR.exception("试卷参数不完整");
             throw ExceptionResultEnum.ERROR.exception("试卷参数不完整");
         }
         }
-        return ResultUtil.ok(gradePaperStructService.findGradePaperStructureResultList(paperNumber, paperType, requestUser));
+        return ResultUtil.ok(gradePaperStructService.findGradePaperStructureResultList(SystemConstant.convertIdToLong(examId),paperNumber, paperType, requestUser));
     }
     }
 
 
     @ApiOperation(value = "成绩分析试卷结构-新建试卷结构")
     @ApiOperation(value = "成绩分析试卷结构-新建试卷结构")
@@ -87,14 +88,15 @@ public class GradePaperStructController {
     @RequestMapping(value = "/export", method = RequestMethod.POST)
     @RequestMapping(value = "/export", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "{\"success\":true}", response = Result.class)})
     @ApiResponses({@ApiResponse(code = 200, message = "{\"success\":true}", response = Result.class)})
     @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.EXPORT)
     @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.EXPORT)
-    public Result gradePaperStructExport(@ApiParam(value = "课程编号", required = true) @RequestParam String paperNumber,
+    public Result gradePaperStructExport(@ApiParam(value = "考试id",required = true) @RequestParam String examId,
+                                         @ApiParam(value = "课程编号", required = true) @RequestParam String paperNumber,
                                          @ApiParam(value = "课程名称", required = true) @RequestParam String paperType) throws Exception {
                                          @ApiParam(value = "课程名称", required = true) @RequestParam String paperType) throws Exception {
 
 
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
-        if (SystemConstant.isOneNull(paperNumber, paperType)) {
+        if (SystemConstant.isOneNull(examId, paperNumber, paperType)) {
             throw ExceptionResultEnum.ERROR.exception("参数不完整");
             throw ExceptionResultEnum.ERROR.exception("参数不完整");
         }
         }
-        gradePaperStructService.exportGradePaperStructTemplate(paperNumber, paperType, requestUser);
+        gradePaperStructService.exportGradePaperStructTemplate(SystemConstant.convertIdToLong(examId), paperNumber, paperType, requestUser);
         return ResultUtil.ok();
         return ResultUtil.ok();
     }
     }