瀏覽代碼

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

wangliang 3 年之前
父節點
當前提交
53e6596702
共有 32 個文件被更改,包括 1180 次插入70 次删除
  1. 190 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/open/ExamStudentScore.java
  2. 0 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/analyze/GradeBatchParam.java
  3. 89 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/analyze/GradeModuleEvaluationDatasource.java
  4. 56 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/analyze/GradeModuleEvaluationParam.java
  5. 66 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/analyze/GradeModuleKnowledgeDefineParam.java
  6. 115 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/analyze/GradePaperDefineParam.java
  7. 111 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/analyze/GradeModuleEvaluationResult.java
  8. 71 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/analyze/GradePaperDefineResult.java
  9. 4 3
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/GradeModuleDefine.java
  10. 8 6
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/GradeModuleEvaluation.java
  11. 4 4
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/GradePaper.java
  12. 1 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/GradeBatchPaperMapper.java
  13. 1 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/GradeBatchPaperService.java
  14. 8 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/GradeModuleDefineService.java
  15. 20 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/GradeModuleEvaluationService.java
  16. 24 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/GradePaperService.java
  17. 8 8
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/OpenApiService.java
  18. 2 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradeBatchPaperServiceImpl.java
  19. 58 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradeModuleDefineServiceImpl.java
  20. 85 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradeModuleEvaluationServiceImpl.java
  21. 114 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradePaperServiceImpl.java
  22. 87 18
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/OpenApiServiceImpl.java
  23. 4 2
      distributed-print-business/src/main/resources/mapper/GradeBatchPaperMapper.xml
  24. 26 15
      distributed-print/src/main/java/com/qmth/distributed/print/api/OpenApiController.java
  25. 1 3
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/enums/AssignEnum.java
  26. 21 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/enums/EvaluationEnum.java
  27. 1 1
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TBPaper.java
  28. 1 0
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/AnalyzeForReportServiceImpl.java
  29. 1 1
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TBExamStudentServiceImpl.java
  30. 1 1
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/templete/service/impl/TaskCalculateServiceImpl.java
  31. 1 1
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/BasicDatasourceController.java
  32. 1 1
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/CourseController.java

+ 190 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/open/ExamStudentScore.java

@@ -0,0 +1,190 @@
+package com.qmth.distributed.print.business.bean.dto.open;
+
+import java.util.List;
+
+public class ExamStudentScore {
+
+    private String name;
+    private String studentCode;
+    private String paperNumber;
+    private String paperName;
+    private String paperType;
+    private String college;
+    private String major;
+    private String className;
+    private String teacherName;
+    private String teacherCode;
+    private Integer status;
+    private Double totalScore;
+    private Double objectiveScore;
+    private Double subjectiveScore;
+    private List<TopicInfo> objectiveScoreDetail;
+    private List<TopicInfo> subjectiveScoreDetail;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getStudentCode() {
+        return studentCode;
+    }
+
+    public void setStudentCode(String studentCode) {
+        this.studentCode = studentCode;
+    }
+
+    public String getPaperNumber() {
+        return paperNumber;
+    }
+
+    public void setPaperNumber(String paperNumber) {
+        this.paperNumber = paperNumber;
+    }
+
+    public String getPaperName() {
+        return paperName;
+    }
+
+    public void setPaperName(String paperName) {
+        this.paperName = paperName;
+    }
+
+    public String getPaperType() {
+        return paperType;
+    }
+
+    public void setPaperType(String paperType) {
+        this.paperType = paperType;
+    }
+
+    public String getCollege() {
+        return college;
+    }
+
+    public void setCollege(String college) {
+        this.college = college;
+    }
+
+    public String getMajor() {
+        return major;
+    }
+
+    public void setMajor(String major) {
+        this.major = major;
+    }
+
+    public String getClassName() {
+        return className;
+    }
+
+    public void setClassName(String className) {
+        this.className = className;
+    }
+
+    public String getTeacherName() {
+        return teacherName;
+    }
+
+    public void setTeacherName(String teacherName) {
+        this.teacherName = teacherName;
+    }
+
+    public String getTeacherCode() {
+        return teacherCode;
+    }
+
+    public void setTeacherCode(String teacherCode) {
+        this.teacherCode = teacherCode;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public Double getTotalScore() {
+        return totalScore;
+    }
+
+    public void setTotalScore(Double totalScore) {
+        this.totalScore = totalScore;
+    }
+
+    public Double getObjectiveScore() {
+        return objectiveScore;
+    }
+
+    public void setObjectiveScore(Double objectiveScore) {
+        this.objectiveScore = objectiveScore;
+    }
+
+    public Double getSubjectiveScore() {
+        return subjectiveScore;
+    }
+
+    public void setSubjectiveScore(Double subjectiveScore) {
+        this.subjectiveScore = subjectiveScore;
+    }
+
+    public List<TopicInfo> getObjectiveScoreDetail() {
+        return objectiveScoreDetail;
+    }
+
+    public void setObjectiveScoreDetail(List<TopicInfo> objectiveScoreDetail) {
+        this.objectiveScoreDetail = objectiveScoreDetail;
+    }
+
+    public List<TopicInfo> getSubjectiveScoreDetail() {
+        return subjectiveScoreDetail;
+    }
+
+    public void setSubjectiveScoreDetail(List<TopicInfo> subjectiveScoreDetail) {
+        this.subjectiveScoreDetail = subjectiveScoreDetail;
+    }
+
+    public static class TopicInfo{
+        private String score;
+        private String answer;
+        private Integer mainNumber;
+        private String subNumber;
+
+        public String getScore() {
+            return score;
+        }
+
+        public void setScore(String score) {
+            this.score = score;
+        }
+
+        public String getAnswer() {
+            return answer;
+        }
+
+        public void setAnswer(String answer) {
+            this.answer = answer;
+        }
+
+        public Integer getMainNumber() {
+            return mainNumber;
+        }
+
+        public void setMainNumber(Integer mainNumber) {
+            this.mainNumber = mainNumber;
+        }
+
+        public String getSubNumber() {
+            return subNumber;
+        }
+
+        public void setSubNumber(String subNumber) {
+            this.subNumber = subNumber;
+        }
+    }
+}

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

@@ -1,6 +1,5 @@
 package com.qmth.distributed.print.business.bean.params.analyze;
 
-import com.alibaba.fastjson.annotation.JSONField;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModelProperty;

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

@@ -0,0 +1,89 @@
+package com.qmth.distributed.print.business.bean.params.analyze;
+
+import com.qmth.distributed.print.business.enums.DimensionEnum;
+import com.qmth.teachcloud.common.enums.EvaluationEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description: 分析维度模块评价详细内容
+ * @Author: CaoZixuan
+ * @Date: 2022-05-31
+ */
+public class GradeModuleEvaluationDatasource {
+    @ApiModelProperty(value = "模块类型(知识、维度、素养)")
+    private DimensionEnum moduleType;
+
+    @ApiModelProperty(value = "计算公式规则")
+    private EvaluationEnum formula;
+
+    @ApiModelProperty(value = "取值范围(计算用)")
+    private String scope;
+
+    @ApiModelProperty(value = "等级")
+    private String levelCode;
+
+    @ApiModelProperty(value = "水平等级层次")
+    private String levelName;
+
+    @ApiModelProperty(value = "诊断结果")
+    private String result;
+
+    @ApiModelProperty(value = "学习建议")
+    private String advice;
+
+    public DimensionEnum getModuleType() {
+        return moduleType;
+    }
+
+    public void setModuleType(DimensionEnum moduleType) {
+        this.moduleType = moduleType;
+    }
+
+    public EvaluationEnum getFormula() {
+        return formula;
+    }
+
+    public void setFormula(EvaluationEnum formula) {
+        this.formula = formula;
+    }
+
+    public String getScope() {
+        return scope;
+    }
+
+    public void setScope(String scope) {
+        this.scope = scope;
+    }
+
+    public String getLevelCode() {
+        return levelCode;
+    }
+
+    public void setLevelCode(String levelCode) {
+        this.levelCode = levelCode;
+    }
+
+    public String getLevelName() {
+        return levelName;
+    }
+
+    public void setLevelName(String levelName) {
+        this.levelName = levelName;
+    }
+
+    public String getResult() {
+        return result;
+    }
+
+    public void setResult(String result) {
+        this.result = result;
+    }
+
+    public String getAdvice() {
+        return advice;
+    }
+
+    public void setAdvice(String advice) {
+        this.advice = advice;
+    }
+}

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

@@ -0,0 +1,56 @@
+package com.qmth.distributed.print.business.bean.params.analyze;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.List;
+
+/**
+ * @Description: 分析维度模块评价参数
+ * @Author: CaoZixuan
+ * @Date: 2022-05-31
+ */
+public class GradeModuleEvaluationParam {
+    @ApiModelProperty(value = "试卷编号")
+    private String paperNumber;
+
+    @ApiModelProperty(value = "试卷类型")
+    private String paperType;
+
+    @ApiModelProperty(value = "试卷名称")
+    private String paperName;
+
+    @ApiModelProperty(value = "模块评价详细信息集合")
+    private List<GradeModuleEvaluationDatasource> gradeModuleEvaluationDatasourceList;
+
+    public String getPaperNumber() {
+        return paperNumber;
+    }
+
+    public void setPaperNumber(String paperNumber) {
+        this.paperNumber = paperNumber;
+    }
+
+    public String getPaperType() {
+        return paperType;
+    }
+
+    public void setPaperType(String paperType) {
+        this.paperType = paperType;
+    }
+
+    public String getPaperName() {
+        return paperName;
+    }
+
+    public void setPaperName(String paperName) {
+        this.paperName = paperName;
+    }
+
+    public List<GradeModuleEvaluationDatasource> getGradeModuleEvaluationDatasourceList() {
+        return gradeModuleEvaluationDatasourceList;
+    }
+
+    public void setGradeModuleEvaluationDatasourceList(List<GradeModuleEvaluationDatasource> gradeModuleEvaluationDatasourceList) {
+        this.gradeModuleEvaluationDatasourceList = gradeModuleEvaluationDatasourceList;
+    }
+}

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

@@ -0,0 +1,66 @@
+package com.qmth.distributed.print.business.bean.params.analyze;
+
+import com.qmth.distributed.print.business.enums.DimensionEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description: 分析模块定义参数
+ * @Author: CaoZixuan
+ * @Date: 2022-05-30
+ */
+public class GradeModuleKnowledgeDefineParam {
+    @ApiModelProperty(value = "二级熟练度定义")
+    private String define;
+
+    @ApiModelProperty(value = "等级")
+    private String level;
+
+    @ApiModelProperty(value = "展示用最小边界")
+    private String min;
+
+    @ApiModelProperty(value = "展示用最大边界")
+    private String max;
+
+    @ApiModelProperty(value = "取值范围(计算用)")
+    private String scope;
+
+    public String getDefine() {
+        return define;
+    }
+
+    public void setDefine(String define) {
+        this.define = define;
+    }
+
+    public String getLevel() {
+        return level;
+    }
+
+    public void setLevel(String level) {
+        this.level = level;
+    }
+
+    public String getMin() {
+        return min;
+    }
+
+    public void setMin(String min) {
+        this.min = min;
+    }
+
+    public String getMax() {
+        return max;
+    }
+
+    public void setMax(String max) {
+        this.max = max;
+    }
+
+    public String getScope() {
+        return scope;
+    }
+
+    public void setScope(String scope) {
+        this.scope = scope;
+    }
+}

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

@@ -0,0 +1,115 @@
+package com.qmth.distributed.print.business.bean.params.analyze;
+
+import io.swagger.annotations.ApiModelProperty;
+import org.hibernate.validator.constraints.Range;
+
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @Description: 基础分析试卷定义
+ * @Author: CaoZixuan
+ * @Date: 2022-05-30
+ */
+public class GradePaperDefineParam {
+    // 基础信息
+    @ApiModelProperty(value = "试卷编号")
+    @NotNull(message = "缺少试卷编号")
+    private String paperNumber;
+
+    @ApiModelProperty(value = "试卷类型")
+    @NotNull(message = "缺少试卷类型")
+    private String paperType;
+
+    @ApiModelProperty(value = "试卷名称")
+    @NotNull(message = "缺少试卷名称")
+    private String paperName;
+
+    // 试卷信息
+    @ApiModelProperty(value = "卷面总分")
+    @NotNull(message = "缺少卷面总分")
+    private BigDecimal totalScore;
+
+    @ApiModelProperty(value = "试卷及格分")
+    @NotNull(message = "缺少试卷及格分")
+    private BigDecimal passScore;
+
+    // 二级维度定义
+    @ApiModelProperty(value = "知识维度解释")
+    @NotNull(message = "缺少知识维度解释")
+    private String knowledgeInterpret;
+
+    @ApiModelProperty(value = "能力维度解释")
+    @NotNull(message = "缺少能力维度解释")
+    private String abilityInterpret;
+
+    @ApiModelProperty(value = "二级维度精熟度定义")
+    @NotNull(message = "缺少二级维度精熟度定义")
+    @Range(min = 1L, message = "缺少二级维度精熟度定义")
+    private List<GradeModuleKnowledgeDefineParam> gradeModuleKnowledgeDefineParamList;
+
+    public String getPaperNumber() {
+        return paperNumber;
+    }
+
+    public void setPaperNumber(String paperNumber) {
+        this.paperNumber = paperNumber;
+    }
+
+    public String getPaperType() {
+        return paperType;
+    }
+
+    public void setPaperType(String paperType) {
+        this.paperType = paperType;
+    }
+
+    public String getPaperName() {
+        return paperName;
+    }
+
+    public void setPaperName(String paperName) {
+        this.paperName = paperName;
+    }
+
+    public BigDecimal getTotalScore() {
+        return totalScore;
+    }
+
+    public void setTotalScore(BigDecimal totalScore) {
+        this.totalScore = totalScore;
+    }
+
+    public BigDecimal getPassScore() {
+        return passScore;
+    }
+
+    public void setPassScore(BigDecimal passScore) {
+        this.passScore = passScore;
+    }
+
+    public String getKnowledgeInterpret() {
+        return knowledgeInterpret;
+    }
+
+    public void setKnowledgeInterpret(String knowledgeInterpret) {
+        this.knowledgeInterpret = knowledgeInterpret;
+    }
+
+    public String getAbilityInterpret() {
+        return abilityInterpret;
+    }
+
+    public void setAbilityInterpret(String abilityInterpret) {
+        this.abilityInterpret = abilityInterpret;
+    }
+
+    public List<GradeModuleKnowledgeDefineParam> getGradeModuleDefineParamList() {
+        return gradeModuleKnowledgeDefineParamList;
+    }
+
+    public void setGradeModuleDefineParamList(List<GradeModuleKnowledgeDefineParam> gradeModuleKnowledgeDefineParamList) {
+        this.gradeModuleKnowledgeDefineParamList = gradeModuleKnowledgeDefineParamList;
+    }
+}

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

@@ -0,0 +1,111 @@
+package com.qmth.distributed.print.business.bean.result.analyze;
+
+import com.qmth.distributed.print.business.enums.DimensionEnum;
+import com.qmth.teachcloud.common.enums.EvaluationEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description: 分析维度模块评价查询返回值
+ * @Author: CaoZixuan
+ * @Date: 2022-05-31
+ */
+public class GradeModuleEvaluationResult {
+    @ApiModelProperty(value = "模块类型(知识、维度、素养)")
+    private DimensionEnum moduleType;
+
+    @ApiModelProperty(value = "计算公式规则")
+    private EvaluationEnum formula;
+
+    @ApiModelProperty(value = "取值范围(计算用)")
+    private String scope;
+
+    @ApiModelProperty(value = "展示用范围最小阈值")
+    private String min;
+
+    @ApiModelProperty(value = "展示用范围最大阈值")
+    private String max;
+
+    @ApiModelProperty(value = "等级")
+    private String levelCode;
+
+    @ApiModelProperty(value = "水平等级层次")
+    private String levelName;
+
+    @ApiModelProperty(value = "诊断结果")
+    private String result;
+
+    @ApiModelProperty(value = "学习建议")
+    private String advice;
+
+    public DimensionEnum getModuleType() {
+        return moduleType;
+    }
+
+    public void setModuleType(DimensionEnum moduleType) {
+        this.moduleType = moduleType;
+    }
+
+    public EvaluationEnum getFormula() {
+        return formula;
+    }
+
+    public void setFormula(EvaluationEnum formula) {
+        this.formula = formula;
+    }
+
+    public String getScope() {
+        return scope;
+    }
+
+    public void setScope(String scope) {
+        this.scope = scope;
+    }
+
+    public String getMin() {
+        return min;
+    }
+
+    public void setMin(String min) {
+        this.min = min;
+    }
+
+    public String getMax() {
+        return max;
+    }
+
+    public void setMax(String max) {
+        this.max = max;
+    }
+
+    public String getLevelCode() {
+        return levelCode;
+    }
+
+    public void setLevelCode(String levelCode) {
+        this.levelCode = levelCode;
+    }
+
+    public String getLevelName() {
+        return levelName;
+    }
+
+    public void setLevelName(String levelName) {
+        this.levelName = levelName;
+    }
+
+    public String getResult() {
+        return result;
+    }
+
+    public void setResult(String result) {
+        this.result = result;
+    }
+
+    public String getAdvice() {
+        return advice;
+    }
+
+    public void setAdvice(String advice) {
+        this.advice = advice;
+    }
+}

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

@@ -0,0 +1,71 @@
+package com.qmth.distributed.print.business.bean.result.analyze;
+
+import com.qmth.distributed.print.business.bean.params.analyze.GradeModuleKnowledgeDefineParam;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @Description: 分析试卷定义结果
+ * @Author: CaoZixuan
+ * @Date: 2022-05-31
+ */
+public class GradePaperDefineResult {
+    // 试卷信息
+    @ApiModelProperty(value = "卷面总分")
+    private BigDecimal totalScore;
+
+    @ApiModelProperty(value = "试卷及格分")
+    private BigDecimal passScore;
+
+    // 二级维度定义
+    @ApiModelProperty(value = "知识维度解释")
+    private String knowledgeInterpret;
+
+    @ApiModelProperty(value = "能力维度解释")
+    private String abilityInterpret;
+
+    @ApiModelProperty(value = "二级维度精熟度定义")
+    private List<GradeModuleKnowledgeDefineParam> gradeModuleKnowledgeDefineParamList;
+
+    public BigDecimal getTotalScore() {
+        return totalScore;
+    }
+
+    public void setTotalScore(BigDecimal totalScore) {
+        this.totalScore = totalScore;
+    }
+
+    public BigDecimal getPassScore() {
+        return passScore;
+    }
+
+    public void setPassScore(BigDecimal passScore) {
+        this.passScore = passScore;
+    }
+
+    public String getKnowledgeInterpret() {
+        return knowledgeInterpret;
+    }
+
+    public void setKnowledgeInterpret(String knowledgeInterpret) {
+        this.knowledgeInterpret = knowledgeInterpret;
+    }
+
+    public String getAbilityInterpret() {
+        return abilityInterpret;
+    }
+
+    public void setAbilityInterpret(String abilityInterpret) {
+        this.abilityInterpret = abilityInterpret;
+    }
+
+    public List<GradeModuleKnowledgeDefineParam> getGradeModuleKnowledgeDefineParamList() {
+        return gradeModuleKnowledgeDefineParamList;
+    }
+
+    public void setGradeModuleKnowledgeDefineParamList(List<GradeModuleKnowledgeDefineParam> gradeModuleKnowledgeDefineParamList) {
+        this.gradeModuleKnowledgeDefineParamList = gradeModuleKnowledgeDefineParamList;
+    }
+}

+ 4 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/GradeModuleDefine.java

@@ -2,6 +2,7 @@ package com.qmth.distributed.print.business.entity;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.distributed.print.business.enums.DimensionEnum;
 import com.qmth.teachcloud.common.base.BaseEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -35,7 +36,7 @@ public class GradeModuleDefine extends BaseEntity implements Serializable {
     private String paperName;
 
     @ApiModelProperty(value = "维度模块类型")
-    private String moduleType;
+    private DimensionEnum moduleType;
 
     @ApiModelProperty(value = "解释")
     private String interpret;
@@ -90,11 +91,11 @@ public class GradeModuleDefine extends BaseEntity implements Serializable {
         this.paperName = paperName;
     }
 
-    public String getModuleType() {
+    public DimensionEnum getModuleType() {
         return moduleType;
     }
 
-    public void setModuleType(String moduleType) {
+    public void setModuleType(DimensionEnum moduleType) {
         this.moduleType = moduleType;
     }
 

+ 8 - 6
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/GradeModuleEvaluation.java

@@ -2,7 +2,9 @@ package com.qmth.distributed.print.business.entity;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.distributed.print.business.enums.DimensionEnum;
 import com.qmth.teachcloud.common.base.BaseEntity;
+import com.qmth.teachcloud.common.enums.EvaluationEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -35,10 +37,10 @@ public class GradeModuleEvaluation extends BaseEntity implements Serializable {
     private String paperName;
 
     @ApiModelProperty(value = "模块类型(知识、维度、素养)")
-    private String moduleType;
+    private DimensionEnum moduleType;
 
     @ApiModelProperty(value = "计算公式规则")
-    private String formula;
+    private EvaluationEnum formula;
 
     @ApiModelProperty(value = "取值范围(计算用)")
     private String scope;
@@ -87,19 +89,19 @@ public class GradeModuleEvaluation extends BaseEntity implements Serializable {
         this.paperName = paperName;
     }
 
-    public String getModuleType() {
+    public DimensionEnum getModuleType() {
         return moduleType;
     }
 
-    public void setModuleType(String moduleType) {
+    public void setModuleType(DimensionEnum moduleType) {
         this.moduleType = moduleType;
     }
 
-    public String getFormula() {
+    public EvaluationEnum getFormula() {
         return formula;
     }
 
-    public void setFormula(String formula) {
+    public void setFormula(EvaluationEnum formula) {
         this.formula = formula;
     }
 

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

@@ -1,9 +1,9 @@
 package com.qmth.distributed.print.business.entity;
 
-import com.baomidou.mybatisplus.annotation.TableId;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.qmth.teachcloud.common.base.BaseEntity;
+import com.qmth.teachcloud.common.enums.AssignEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -52,7 +52,7 @@ public class GradePaper extends BaseEntity implements Serializable {
     private BigDecimal passScore;
 
     @ApiModelProperty(value = "赋分类型\\n1.NEED_ASSIGN_SCORE('是','需要且按照公式赋分')\\n2.NO_NEED_ASSIGN_SCORE('否','不需要赋分,标准分即为赋分')\\n3.SPECIAL_ASSIGN_SCORE('特殊赋分','特殊赋分,按照excel表进行赋分')")
-    private String scoreType;
+    private AssignEnum scoreType;
 
     public Long getSchoolId() {
         return schoolId;
@@ -126,11 +126,11 @@ public class GradePaper extends BaseEntity implements Serializable {
         this.passScore = passScore;
     }
 
-    public String getScoreType() {
+    public AssignEnum getScoreType() {
         return scoreType;
     }
 
-    public void setScoreType(String scoreType) {
+    public void setScoreType(AssignEnum scoreType) {
         this.scoreType = scoreType;
     }
 }

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

@@ -54,5 +54,5 @@ public interface GradeBatchPaperMapper extends BaseMapper<GradeBatchPaper> {
                                                      @Param("schoolId") Long schoolId);
 
 
-    GradeBatchPaper findByThirdExamIdAndGradeCourseCode(@Param("thirdExamId") String thirdExamId, @Param("gradeCourseCode") String gradeCourseCode);
+    GradeBatchPaper findByThirdExamIdAndGradeCourseCode(@Param("schoolId") Long schoolId, @Param("thirdExamId") String thirdExamId, @Param("gradeCourseCode") String gradeCourseCode);
 }

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

@@ -2,7 +2,6 @@ package com.qmth.distributed.print.business.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.qmth.distributed.print.business.bean.params.analyze.AbleAnalyzePaperParam;
 import com.qmth.distributed.print.business.bean.params.analyze.GradeBatchPaperParam;
 import com.qmth.distributed.print.business.bean.result.analyze.GradeBatchPaperResult;
 import com.qmth.distributed.print.business.entity.GradeBatchPaper;
@@ -70,5 +69,5 @@ public interface GradeBatchPaperService extends IService<GradeBatchPaper> {
      */
     void checkOperateAuth(Long schoolId, String paperNumber, String paperType);
 
-    GradeBatchPaper findByThirdExamIdAndGradeCourseCode(String thirdExamId, String gradeCourseCode);
+    GradeBatchPaper findByThirdExamIdAndGradeCourseCode(Long schoolId, String thirdExamId, String gradeCourseCode);
 }

+ 8 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/GradeModuleDefineService.java

@@ -1,7 +1,9 @@
 package com.qmth.distributed.print.business.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.distributed.print.business.bean.params.analyze.GradePaperDefineParam;
 import com.qmth.distributed.print.business.entity.GradeModuleDefine;
+import com.qmth.teachcloud.common.entity.SysUser;
 
 import java.util.List;
 
@@ -14,6 +16,12 @@ import java.util.List;
  * @since 2022-05-20
  */
 public interface GradeModuleDefineService extends IService<GradeModuleDefine> {
+    /**
+     * 批量新增二级维度熟练度定义
+     * @param gradePaperDefineParam 分析试卷定义
+     * @param requestUser 请求用户
+     */
+    void saveGradeModuleDefineBatch(GradePaperDefineParam gradePaperDefineParam, SysUser requestUser);
 
     List<GradeModuleDefine> findBySchoolIdAndPaperNumberAndPaperType(Long schoolId, String paperNumber, String paperType);
 }

+ 20 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/GradeModuleEvaluationService.java

@@ -1,9 +1,13 @@
 package com.qmth.distributed.print.business.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.distributed.print.business.bean.params.analyze.GradeModuleEvaluationParam;
+import com.qmth.distributed.print.business.bean.result.analyze.GradeModuleEvaluationResult;
 import com.qmth.distributed.print.business.entity.GradeModuleEvaluation;
+import com.qmth.teachcloud.common.entity.SysUser;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -15,5 +19,21 @@ import java.util.List;
  */
 public interface GradeModuleEvaluationService extends IService<GradeModuleEvaluation> {
 
+    /**
+     * 查询分析维度模块评价
+     * @param paperNumber 试卷编号
+     * @param paperType 试卷类型
+     * @param requestUser 请求用户
+     * @return 结果
+     */
+    List<GradeModuleEvaluationResult> findGradeModuleEvaluation(String paperNumber, String paperType, SysUser requestUser);
+
+    /**
+     * 保存分析维度模块评价
+     * @param gradeModuleEvaluationParam 模块评价参数
+     * @param requestUser 请求用户
+     */
+    void saveGradeModuleEvaluationBatch(GradeModuleEvaluationParam gradeModuleEvaluationParam,SysUser requestUser);
+
     List<GradeModuleEvaluation> findBySchoolIdAndPaperNumberAndPaperType(Long schoolId, String paperNumber, String paperType);
 }

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

@@ -2,7 +2,12 @@ package com.qmth.distributed.print.business.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.distributed.print.business.bean.dto.open.PaperConfig;
+import com.qmth.distributed.print.business.bean.params.analyze.GradePaperDefineParam;
+import com.qmth.distributed.print.business.bean.result.analyze.GradePaperDefineResult;
 import com.qmth.distributed.print.business.entity.GradePaper;
+import com.qmth.teachcloud.common.entity.SysUser;
+
+import java.util.Map;
 
 /**
  * <p>
@@ -14,5 +19,24 @@ import com.qmth.distributed.print.business.entity.GradePaper;
  */
 public interface GradePaperService extends IService<GradePaper> {
 
+    GradePaperDefineResult findGradePaperDefine(String paperNumber, String paperType, SysUser requestUser);
+
+    /**
+     * 新增分析试卷定义
+     *
+     * @param gradePaperDefineParam 试卷定义参数
+     * @param requestUser      请求用户
+     */
+    void saveGradePaperDefine(GradePaperDefineParam gradePaperDefineParam, SysUser requestUser);
+
+    /**
+     * 新增基础分析试卷配置
+     *
+     * @param gradePaperDefineParam 试卷定义参数
+     * @param requestUser      请求用户
+     * @return 分析试卷id
+     */
+    Long saveGradePaper(GradePaperDefineParam gradePaperDefineParam, SysUser requestUser);
+
     PaperConfig findBySchoolIdAndPaperNumberAndPaperType(Long schoolId, String paperNumber, String paperType);
 }

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

@@ -1,19 +1,19 @@
 package com.qmth.distributed.print.business.service;
 
-import com.qmth.distributed.print.business.bean.dto.open.PaperConfig;
-import com.qmth.distributed.print.business.bean.dto.open.PaperDimension;
-import com.qmth.distributed.print.business.bean.dto.open.PaperEvaluation;
-import com.qmth.distributed.print.business.bean.dto.open.PaperStructure;
+import com.qmth.distributed.print.business.bean.dto.open.*;
+import com.qmth.teachcloud.common.entity.BasicSchool;
 
 import java.util.List;
 
 public interface OpenApiService {
 
-    PaperConfig getPaperConfig(String thirdExamId, String gradeCourseCode);
+    PaperConfig getPaperConfig(BasicSchool basicSchool, String thirdExamId, String gradeCourseCode);
 
-    PaperDimension getPaperDimension(String thirdExamId, String gradeCourseCode);
+    PaperDimension getPaperDimension(BasicSchool basicSchool, String thirdExamId, String gradeCourseCode);
 
-    PaperStructure getPaperStructure(String thirdExamId, String gradeCourseCode);
+    PaperStructure getPaperStructure(BasicSchool basicSchool, String thirdExamId, String gradeCourseCode);
 
-    List<PaperEvaluation> getPaperEvaluation(String thirdExamId, String gradeCourseCode);
+    List<PaperEvaluation> getPaperEvaluation(BasicSchool basicSchool, String thirdExamId, String gradeCourseCode);
+
+    List<ExamStudentScore> listExamStudentScore(BasicSchool basicSchool, String thirdExamId, String gradeCourseCode, Integer pageNumber, Integer pageSize);
 }

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

@@ -153,8 +153,8 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
     }
 
     @Override
-    public GradeBatchPaper findByThirdExamIdAndGradeCourseCode(String thirdExamId, String gradeCourseCode) {
-        return this.baseMapper.findByThirdExamIdAndGradeCourseCode(thirdExamId, gradeCourseCode);
+    public GradeBatchPaper findByThirdExamIdAndGradeCourseCode(Long schoolId, String thirdExamId, String gradeCourseCode) {
+        return this.baseMapper.findByThirdExamIdAndGradeCourseCode(schoolId, thirdExamId, gradeCourseCode);
     }
 
     @Override

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

@@ -2,12 +2,21 @@ package com.qmth.distributed.print.business.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 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.GradePaperDefineParam;
 import com.qmth.distributed.print.business.entity.GradeModuleDefine;
+import com.qmth.distributed.print.business.enums.DimensionEnum;
 import com.qmth.distributed.print.business.mapper.GradeModuleDefineMapper;
+import com.qmth.distributed.print.business.service.GradeBatchPaperService;
 import com.qmth.distributed.print.business.service.GradeModuleDefineService;
+import com.qmth.teachcloud.common.entity.SysUser;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
+import javax.annotation.Resource;
 import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * <p>
@@ -19,6 +28,55 @@ import java.util.List;
  */
 @Service
 public class GradeModuleDefineServiceImpl extends ServiceImpl<GradeModuleDefineMapper, GradeModuleDefine> implements GradeModuleDefineService {
+    @Resource
+    private GradeBatchPaperService gradeBatchPaperService;
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void saveGradeModuleDefineBatch(GradePaperDefineParam gradePaperDefineParam, SysUser requestUser) {
+        Long schoolId = requestUser.getSchoolId();
+        String paperNumber = gradePaperDefineParam.getPaperNumber();
+        String paperType = gradePaperDefineParam.getPaperType();
+        String paperName = gradePaperDefineParam.getPaperName();
+
+        String knowledgeInterpret = gradePaperDefineParam.getKnowledgeInterpret();
+        String abilityInterpret = gradePaperDefineParam.getAbilityInterpret();
+
+        List<GradeModuleKnowledgeDefineParam> gradeModuleKnowledgeDefineParamList = gradePaperDefineParam.getGradeModuleDefineParamList();
+        // 针对知识的
+        List<GradeModuleDefine> gradeModuleDefineList = gradeModuleKnowledgeDefineParamList.stream().flatMap(e -> {
+            GradeModuleDefine gradeModuleDefine = new GradeModuleDefine();
+            gradeModuleDefine.setSchoolId(schoolId);
+            gradeModuleDefine.setPaperNumber(paperNumber);
+            gradeModuleDefine.setPaperType(paperType);
+            gradeModuleDefine.setPaperName(paperName);
+            gradeModuleDefine.setModuleType(DimensionEnum.KNOWLEDGE);
+            gradeModuleDefine.setInterpret(knowledgeInterpret);
+            gradeModuleDefine.setDefine(e.getDefine());
+            gradeModuleDefine.setLevel(e.getLevel());
+            gradeModuleDefine.setMin(e.getMin());
+            gradeModuleDefine.setMax(e.getMax());
+            gradeModuleDefine.setScope(e.getScope());
+            return Stream.of(gradeModuleDefine);
+        }).collect(Collectors.toList());
+        // 针对能力的
+        GradeModuleDefine abilityDefine = new GradeModuleDefine();
+        abilityDefine.setSchoolId(schoolId);
+        abilityDefine.setPaperNumber(paperNumber);
+        abilityDefine.setPaperType(paperType);
+        abilityDefine.setPaperName(paperName);
+        abilityDefine.setModuleType(DimensionEnum.ABILITY);
+        abilityDefine.setInterpret(abilityInterpret);
+        gradeModuleDefineList.add(abilityDefine);
+
+        gradeBatchPaperService.checkOperateAuth(schoolId,paperNumber,paperType);
+        this.remove(new QueryWrapper<GradeModuleDefine>()
+                .lambda()
+                .eq(GradeModuleDefine::getSchoolId,schoolId)
+                .eq(GradeModuleDefine::getPaperNumber,paperNumber)
+                .eq(GradeModuleDefine::getPaperType,paperType));
+        this.saveBatch(gradeModuleDefineList);
+    }
 
     @Override
     public List<GradeModuleDefine> findBySchoolIdAndPaperNumberAndPaperType(Long schoolId, String paperNumber, String paperType) {

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

@@ -2,12 +2,23 @@ package com.qmth.distributed.print.business.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.distributed.print.business.bean.params.analyze.GradeModuleEvaluationDatasource;
+import com.qmth.distributed.print.business.bean.params.analyze.GradeModuleEvaluationParam;
+import com.qmth.distributed.print.business.bean.result.analyze.GradeModuleEvaluationResult;
 import com.qmth.distributed.print.business.entity.GradeModuleEvaluation;
 import com.qmth.distributed.print.business.mapper.GradeModuleEvaluationMapper;
+import com.qmth.distributed.print.business.service.GradeBatchPaperService;
 import com.qmth.distributed.print.business.service.GradeModuleEvaluationService;
+import com.qmth.teachcloud.common.entity.SysUser;
+import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
+import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * <p>
@@ -19,6 +30,80 @@ import java.util.List;
  */
 @Service
 public class GradeModuleEvaluationServiceImpl extends ServiceImpl<GradeModuleEvaluationMapper, GradeModuleEvaluation> implements GradeModuleEvaluationService {
+    @Resource
+    private GradeBatchPaperService gradeBatchPaperService;
+
+    @Override
+    public List<GradeModuleEvaluationResult> findGradeModuleEvaluation(String paperNumber, String paperType, SysUser requestUser) {
+        Long schoolId = requestUser.getSchoolId();
+        List<GradeModuleEvaluation> evaluationList = this.list(new QueryWrapper<GradeModuleEvaluation>()
+                .lambda()
+                .eq(GradeModuleEvaluation::getSchoolId, schoolId)
+                .eq(GradeModuleEvaluation::getPaperNumber, paperNumber)
+                .eq(GradeModuleEvaluation::getPaperType, paperType));
+
+        List<GradeModuleEvaluationResult> result = new ArrayList<>();
+        if (evaluationList != null && evaluationList.size() > 0) {
+            result = evaluationList.stream().flatMap(e -> {
+                GradeModuleEvaluationResult cell = new GradeModuleEvaluationResult();
+                cell.setModuleType(e.getModuleType());
+                cell.setFormula(e.getFormula());
+                String scope = e.getScope();
+                // 解析区间
+                String[] scopeArr = scope.substring(1, scope.length() - 1).split(",");
+                if (scopeArr.length != 2) {
+                    throw ExceptionResultEnum.ERROR.exception("区间【" + scope + "】解析失败");
+                }
+                cell.setScope(scope);
+                cell.setMin(scopeArr[0]);
+                cell.setMax(scopeArr[1]);
+                cell.setLevelCode(e.getLevelCode());
+                cell.setLevelName(e.getLevelName());
+                cell.setResult(e.getResult());
+                cell.setAdvice(e.getAdvice());
+                return Stream.of(cell);
+            }).collect(Collectors.toList());
+        }
+        return result;
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void saveGradeModuleEvaluationBatch(GradeModuleEvaluationParam gradeModuleEvaluationParam, SysUser requestUser) {
+        Long schoolId = requestUser.getSchoolId();
+        String paperNumber = gradeModuleEvaluationParam.getPaperNumber();
+        String paperType = gradeModuleEvaluationParam.getPaperType();
+        String paperName = gradeModuleEvaluationParam.getPaperName();
+        List<GradeModuleEvaluationDatasource> datasource = gradeModuleEvaluationParam.getGradeModuleEvaluationDatasourceList();
+
+        List<GradeModuleEvaluation> gradeModuleEvaluationList = datasource.stream().flatMap(e -> {
+            GradeModuleEvaluation cell = new GradeModuleEvaluation();
+            cell.setSchoolId(schoolId);
+            cell.setPaperNumber(paperNumber);
+            cell.setPaperType(paperType);
+            cell.setPaperName(paperName);
+            cell.setModuleType(e.getModuleType());
+            cell.setFormula(e.getFormula());
+            cell.setScope(e.getScope());
+            cell.setLevelCode(e.getLevelCode());
+            cell.setLevelName(e.getLevelName());
+            cell.setResult(e.getResult());
+            cell.setAdvice(e.getAdvice());
+            return Stream.of(cell);
+        }).collect(Collectors.toList());
+
+        // 根据试卷编号和试卷类型判断分析课程是否有操作权限(批次分析试卷没有在计算中的才能操作)
+        gradeBatchPaperService.checkOperateAuth(schoolId, paperNumber, paperType);
+        // 删除原有的模块评价
+        this.remove(new QueryWrapper<GradeModuleEvaluation>()
+                .lambda()
+                .eq(GradeModuleEvaluation::getSchoolId, schoolId)
+                .eq(GradeModuleEvaluation::getPaperNumber, paperNumber)
+                .eq(GradeModuleEvaluation::getPaperType, paperType));
+
+        // 新增
+        this.saveBatch(gradeModuleEvaluationList);
+    }
 
     @Override
     public List<GradeModuleEvaluation> findBySchoolIdAndPaperNumberAndPaperType(Long schoolId, String paperNumber, String paperType) {

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

@@ -3,10 +3,27 @@ package com.qmth.distributed.print.business.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.distributed.print.business.bean.dto.open.PaperConfig;
+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.result.analyze.GradePaperDefineResult;
+import com.qmth.distributed.print.business.entity.GradeModuleDefine;
 import com.qmth.distributed.print.business.entity.GradePaper;
+import com.qmth.distributed.print.business.enums.DimensionEnum;
 import com.qmth.distributed.print.business.mapper.GradePaperMapper;
+import com.qmth.distributed.print.business.service.GradeBatchPaperService;
+import com.qmth.distributed.print.business.service.GradeModuleDefineService;
 import com.qmth.distributed.print.business.service.GradePaperService;
+import com.qmth.teachcloud.common.entity.SysUser;
+import com.qmth.teachcloud.common.enums.AssignEnum;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * <p>
@@ -18,6 +35,103 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class GradePaperServiceImpl extends ServiceImpl<GradePaperMapper, GradePaper> implements GradePaperService {
+    @Resource
+    private GradeBatchPaperService gradeBatchPaperService;
+    @Resource
+    private GradeModuleDefineService gradeModuleDefineService;
+
+    @Override
+    public GradePaperDefineResult findGradePaperDefine(String paperNumber, String paperType, SysUser requestUser) {
+        Long schoolId = requestUser.getSchoolId();
+        GradePaper gradePaper = this.getOne(new QueryWrapper<GradePaper>()
+                .lambda()
+                .eq(GradePaper::getSchoolId, schoolId)
+                .eq(GradePaper::getPaperNumber, paperNumber)
+                .eq(GradePaper::getPaperType, paperType));
+
+
+        List<GradeModuleDefine> gradeModuleDefineList = gradeModuleDefineService.list(new QueryWrapper<GradeModuleDefine>()
+                .lambda()
+                .eq(GradeModuleDefine::getSchoolId, schoolId)
+                .eq(GradeModuleDefine::getPaperNumber, paperNumber)
+                .eq(GradeModuleDefine::getPaperType, paperType));
+
+        GradePaperDefineResult gradePaperDefineResult = new GradePaperDefineResult();
+        if (Objects.nonNull(gradePaper)) {
+            gradePaperDefineResult.setTotalScore(gradePaper.getTotalScore());
+            gradePaperDefineResult.setPassScore(gradePaper.getPassScore());
+        }
+        if (gradeModuleDefineList != null && gradeModuleDefineList.size() > 0) {
+            // 知识维度
+            List<GradeModuleDefine> gradeModuleKnowledgeDefineList = gradeModuleDefineList.stream()
+                    .filter(e -> DimensionEnum.KNOWLEDGE.equals(e.getModuleType()))
+                    .collect(Collectors.toList());
+            if (gradeModuleKnowledgeDefineList.size() > 0) {
+                gradePaperDefineResult.setKnowledgeInterpret(gradeModuleKnowledgeDefineList.get(0).getInterpret());
+                List<GradeModuleKnowledgeDefineParam> gradeModuleKnowledgeDefineParamList = gradeModuleKnowledgeDefineList.stream().flatMap(e -> {
+                    GradeModuleKnowledgeDefineParam cell = new GradeModuleKnowledgeDefineParam();
+                    cell.setDefine(e.getDefine());
+                    cell.setLevel(e.getLevel());
+                    cell.setScope(e.getScope());
+                    cell.setMax(e.getMax());
+                    cell.setMin(e.getMin());
+                    return Stream.of(cell);
+                }).collect(Collectors.toList());
+                gradePaperDefineResult.setGradeModuleKnowledgeDefineParamList(gradeModuleKnowledgeDefineParamList);
+            }
+            // 能力维度
+            List<GradeModuleDefine> gradeModuleAbilityDefineList = gradeModuleDefineList.stream()
+                    .filter(e -> DimensionEnum.ABILITY.equals(e.getModuleType()))
+                    .collect(Collectors.toList());
+            if (gradeModuleAbilityDefineList.size() > 0) {
+                gradePaperDefineResult.setAbilityInterpret(gradeModuleAbilityDefineList.get(0).getInterpret());
+            }
+        }
+        return gradePaperDefineResult;
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void saveGradePaperDefine(GradePaperDefineParam gradePaperDefineParam, SysUser requestUser) {
+        this.saveGradePaper(gradePaperDefineParam, requestUser);
+        gradeModuleDefineService.saveGradeModuleDefineBatch(gradePaperDefineParam, requestUser);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public Long saveGradePaper(GradePaperDefineParam gradePaperDefineParam, SysUser requestUser) {
+        String paperNumber = gradePaperDefineParam.getPaperNumber();
+        String paperType = gradePaperDefineParam.getPaperType();
+        String paperName = gradePaperDefineParam.getPaperName();
+        Long schoolId = requestUser.getSchoolId();
+
+        // 判断分析课程是否有操作权限
+        gradeBatchPaperService.checkOperateAuth(schoolId, paperNumber, paperType);
+
+        BigDecimal totalScore = gradePaperDefineParam.getTotalScore();
+        BigDecimal passScore = gradePaperDefineParam.getPassScore();
+
+        GradePaper gradePaper = new GradePaper();
+        gradePaper.setSchoolId(schoolId);
+        gradePaper.setPaperNumber(paperNumber);
+        gradePaper.setPaperType(paperType);
+        gradePaper.setPaperName(paperName);
+        gradePaper.setCoefficient(BigDecimal.ZERO);
+        gradePaper.setTotalScore(totalScore);
+        gradePaper.setPassScore(passScore);
+        gradePaper.setScoreType(AssignEnum.NO_NEED_ASSIGN_SCORE);
+
+        // 删除原有的
+        this.remove(new QueryWrapper<GradePaper>()
+                .lambda()
+                .eq(GradePaper::getSchoolId, schoolId)
+                .eq(GradePaper::getPaperNumber, paperNumber)
+                .eq(GradePaper::getPaperType, paperType));
+
+        gradePaper.insertInfo(requestUser.getId());
+        this.save(gradePaper);
+        return gradePaper.getId();
+    }
 
     @Override
     public PaperConfig findBySchoolIdAndPaperNumberAndPaperType(Long schoolId, String paperNumber, String paperType) {

+ 87 - 18
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/OpenApiServiceImpl.java

@@ -1,13 +1,16 @@
 package com.qmth.distributed.print.business.service.impl;
 
-import com.qmth.distributed.print.business.bean.dto.open.PaperConfig;
-import com.qmth.distributed.print.business.bean.dto.open.PaperDimension;
-import com.qmth.distributed.print.business.bean.dto.open.PaperEvaluation;
-import com.qmth.distributed.print.business.bean.dto.open.PaperStructure;
-import com.qmth.distributed.print.business.entity.GradeBatchPaper;
-import com.qmth.distributed.print.business.entity.GradeModuleDefine;
-import com.qmth.distributed.print.business.entity.GradeModuleEvaluation;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.qmth.distributed.print.business.bean.dto.open.*;
+import com.qmth.distributed.print.business.entity.*;
 import com.qmth.distributed.print.business.service.*;
+import com.qmth.teachcloud.common.entity.BasicMajor;
+import com.qmth.teachcloud.common.entity.BasicSchool;
+import com.qmth.teachcloud.common.service.BasicMajorService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -37,9 +40,18 @@ public class OpenApiServiceImpl implements OpenApiService {
     @Resource
     private GradeModuleEvaluationService gradeModuleEvaluationService;
 
+    @Resource
+    ExamTaskService examTaskService;
+
+    @Resource
+    BasicMajorService basicMajorService;
+
+    @Resource
+    private TSyncExamStudentScoreService tSyncExamStudentScoreService;
+
     @Override
-    public PaperConfig getPaperConfig(String thirdExamId, String gradeCourseCode) {
-        GradeBatchPaper gradeBatchPaper = gradeBatchPaperService.findByThirdExamIdAndGradeCourseCode(thirdExamId, gradeCourseCode);
+    public PaperConfig getPaperConfig(BasicSchool basicSchool, String thirdExamId, String gradeCourseCode) {
+        GradeBatchPaper gradeBatchPaper = gradeBatchPaperService.findByThirdExamIdAndGradeCourseCode(basicSchool.getId(), thirdExamId, gradeCourseCode);
         if (gradeBatchPaper == null) {
             return null;
         }
@@ -47,8 +59,8 @@ public class OpenApiServiceImpl implements OpenApiService {
     }
 
     @Override
-    public PaperDimension getPaperDimension(String thirdExamId, String gradeCourseCode) {
-        GradeBatchPaper gradeBatchPaper = gradeBatchPaperService.findByThirdExamIdAndGradeCourseCode(thirdExamId, gradeCourseCode);
+    public PaperDimension getPaperDimension(BasicSchool basicSchool, String thirdExamId, String gradeCourseCode) {
+        GradeBatchPaper gradeBatchPaper = gradeBatchPaperService.findByThirdExamIdAndGradeCourseCode(basicSchool.getId(), thirdExamId, gradeCourseCode);
         if (gradeBatchPaper == null) {
             return null;
         }
@@ -56,8 +68,8 @@ public class OpenApiServiceImpl implements OpenApiService {
     }
 
     @Override
-    public PaperStructure getPaperStructure(String thirdExamId, String gradeCourseCode) {
-        GradeBatchPaper gradeBatchPaper = gradeBatchPaperService.findByThirdExamIdAndGradeCourseCode(thirdExamId, gradeCourseCode);
+    public PaperStructure getPaperStructure(BasicSchool basicSchool, String thirdExamId, String gradeCourseCode) {
+        GradeBatchPaper gradeBatchPaper = gradeBatchPaperService.findByThirdExamIdAndGradeCourseCode(basicSchool.getId(), thirdExamId, gradeCourseCode);
         if (gradeBatchPaper == null) {
             return null;
         }
@@ -66,16 +78,17 @@ public class OpenApiServiceImpl implements OpenApiService {
     }
 
     @Override
-    public List<PaperEvaluation> getPaperEvaluation(String thirdExamId, String gradeCourseCode) {
-        GradeBatchPaper gradeBatchPaper = gradeBatchPaperService.findByThirdExamIdAndGradeCourseCode(thirdExamId, gradeCourseCode);
+    public List<PaperEvaluation> getPaperEvaluation(BasicSchool basicSchool, String thirdExamId, String gradeCourseCode) {
+        List<PaperEvaluation> paperEvaluations = new ArrayList<>();
+        GradeBatchPaper gradeBatchPaper = gradeBatchPaperService.findByThirdExamIdAndGradeCourseCode(basicSchool.getId(), thirdExamId, gradeCourseCode);
         if (gradeBatchPaper == null) {
-            return null;
+            return paperEvaluations;
         }
         List<GradeModuleDefine> gradeModuleDefineList = gradeModuleDefineService.findBySchoolIdAndPaperNumberAndPaperType(gradeBatchPaper.getSchoolId(), gradeBatchPaper.getPaperNumber(), gradeBatchPaper.getPaperType());
         List<GradeModuleEvaluation> gradeModuleEvaluationList = gradeModuleEvaluationService.findBySchoolIdAndPaperNumberAndPaperType(gradeBatchPaper.getSchoolId(), gradeBatchPaper.getPaperNumber(), gradeBatchPaper.getPaperType());
         // 分组(分隔符_)
         if (!gradeModuleDefineList.isEmpty()) {
-            List<PaperEvaluation> paperEvaluations = new ArrayList<>();
+
             Map<String, List<GradeModuleDefine>> stringListMap = gradeModuleDefineList.stream().collect(Collectors.groupingBy(m -> m.getModuleType() + "_" + m.getInterpret() + "_" + m.getRemark()));
             for (Map.Entry<String, List<GradeModuleDefine>> stringListEntry : stringListMap.entrySet()) {
                 String[] key = stringListEntry.getKey().split("_");
@@ -117,6 +130,62 @@ public class OpenApiServiceImpl implements OpenApiService {
             }
             return paperEvaluations;
         }
-        return null;
+        return paperEvaluations;
+    }
+
+    @Override
+    public List<ExamStudentScore> listExamStudentScore(BasicSchool basicSchool, String thirdExamId, String gradeCourseCode, Integer pageNumber, Integer pageSize) {
+        GradeBatchPaper gradeBatchPaper = gradeBatchPaperService.findByThirdExamIdAndGradeCourseCode(basicSchool.getId(), thirdExamId, gradeCourseCode);
+        if (gradeBatchPaper == null) {
+            return new ArrayList<>();
+        }
+
+        QueryWrapper<ExamTask> examTaskQueryWrapper = new QueryWrapper<>();
+        examTaskQueryWrapper.lambda().eq(ExamTask::getSchoolId, gradeBatchPaper.getSchoolId())
+                .eq(ExamTask::getPaperNumber, gradeBatchPaper.getPaperNumber());
+        ExamTask examTask = examTaskService.getOne(examTaskQueryWrapper);
+
+        QueryWrapper<TSyncExamStudentScore> examStudentScoreQueryWrapper = new QueryWrapper<>();
+        String subjectCode = examTask.getCourseCode() + gradeBatchPaper.getPaperType() + examTask.getSequence();
+        examStudentScoreQueryWrapper.lambda().eq(TSyncExamStudentScore::getSchoolId, gradeBatchPaper.getSchoolId())
+                .eq(TSyncExamStudentScore::getSubjectCode, subjectCode);
+
+        Page<TSyncExamStudentScore> page = new Page<>(pageNumber, pageSize);
+        IPage<TSyncExamStudentScore> tSyncExamStudentScoreIPage = tSyncExamStudentScoreService.page(page, examStudentScoreQueryWrapper);
+        return tSyncExamStudentScoreIPage.getRecords().stream().map(m -> {
+            ExamStudentScore examStudentScore = new ExamStudentScore();
+            examStudentScore.setName(m.getName());
+            examStudentScore.setStudentCode(m.getStudentCode());
+            examStudentScore.setPaperNumber(gradeBatchPaper.getPaperNumber());
+            examStudentScore.setPaperName(m.getSubjectName());
+            examStudentScore.setPaperType(gradeBatchPaper.getPaperType());
+            examStudentScore.setCollege(m.getCollege());
+            BasicMajor basicMajor = basicMajorService.getById(m.getMajorId());
+            examStudentScore.setMajor(basicMajor == null ? null : basicMajor.getName());
+            examStudentScore.setClassName(m.getClazzName());
+            examStudentScore.setTeacherName(m.getTeacher());
+            // todo 任课老师code 20220530
+//            examStudentScore.setTeacherCode(m.g);
+            examStudentScore.setStatus(m.getStatus());
+            examStudentScore.setTotalScore(m.getTotalScore());
+            examStudentScore.setObjectiveScore(m.getObjectiveScore());
+            examStudentScore.setSubjectiveScore(m.getSubjectiveScore());
+            String syncData = m.getSyncData();
+            JSONObject jsonObject = JSONObject.parseObject(syncData);
+            List<ExamStudentScore.TopicInfo> objectiveTopic = new ArrayList<>();
+            if (jsonObject.containsKey("objectiveScoreDetail")) {
+                String objective = jsonObject.getString("objectiveScoreDetail");
+                objectiveTopic = JSON.parseArray(objective, ExamStudentScore.TopicInfo.class);
+            }
+            examStudentScore.setObjectiveScoreDetail(objectiveTopic);
+
+            List<ExamStudentScore.TopicInfo> subjectiveTopic = new ArrayList<>();
+            if (jsonObject.containsKey("subjectiveScoreDetail")) {
+                String subjective = jsonObject.getString("subjectiveScoreDetail");
+                subjectiveTopic = JSON.parseArray(subjective, ExamStudentScore.TopicInfo.class);
+            }
+            examStudentScore.setSubjectiveScoreDetail(subjectiveTopic);
+            return examStudentScore;
+        }).collect(Collectors.toList());
     }
 }

+ 4 - 2
distributed-print-business/src/main/resources/mapper/GradeBatchPaperMapper.xml

@@ -112,8 +112,10 @@
     <select id="findByThirdExamIdAndGradeCourseCode" resultMap="BaseResultMap">
         select gbp.*
         from grade_batch gb
-                 join grade_batch_paper gbp on gb.id = gbp.batch_id
-        where gb.third_exam_id = #{thirdExamId}
+                 join grade_batch_paper gbp on gb.school_id = gbp.school_id
+            and gb.id = gbp.batch_id
+        where gb.school_id = #{schoolId}
+          and gb.third_exam_id = #{thirdExamId}
           and gbp.grade_course_code = #{gradeCourseCode}
     </select>
 

+ 26 - 15
distributed-print/src/main/java/com/qmth/distributed/print/api/OpenApiController.java

@@ -1,8 +1,11 @@
 package com.qmth.distributed.print.api;
 
-import com.alibaba.fastjson.JSONObject;
+import com.qmth.boot.api.annotation.Aac;
+import com.qmth.boot.api.annotation.BOOL;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.distributed.print.business.service.OpenApiService;
+import com.qmth.teachcloud.common.entity.BasicSchool;
+import com.qmth.teachcloud.common.util.AuthThirdUtil;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import io.swagger.annotations.Api;
@@ -12,7 +15,10 @@ import io.swagger.annotations.ApiResponses;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
 
@@ -34,13 +40,6 @@ public class OpenApiController {
     @Resource
     private OpenApiService openApiService;
 
-    @ApiOperation(value = "查询教研分析数据(1.蓝图数据,2.考生作答数据)")
-    @ApiResponses({@ApiResponse(code = 200, message = "查询教研分析数据(1.蓝图数据,2.考生作答数据)", response = Object.class)})
-    @RequestMapping(value = "/analysis/data", method = RequestMethod.POST)
-    public Result analysisData(JSONObject jsonObject) {
-        return ResultUtil.ok(true);
-    }
-
     /**
      * 试卷基础配置查询
      *
@@ -50,9 +49,11 @@ public class OpenApiController {
     @ApiOperation(value = "试卷基础配置查询")
     @ApiResponses({@ApiResponse(code = 200, message = "试卷基础配置查询", response = Object.class)})
     @PostMapping("/paper_config")
+    @Aac(auth = BOOL.FALSE)
     public Result paperConfig(@RequestParam String thirdExamId,
                               @RequestParam String gradeCourseCode) {
-        return ResultUtil.ok(openApiService.getPaperConfig(thirdExamId, gradeCourseCode));
+        BasicSchool basicSchool = AuthThirdUtil.hasPermission();
+        return ResultUtil.ok(openApiService.getPaperConfig(basicSchool, thirdExamId, gradeCourseCode));
     }
 
     /**
@@ -64,9 +65,11 @@ public class OpenApiController {
     @ApiOperation(value = "试卷考察点查询")
     @ApiResponses({@ApiResponse(code = 200, message = "试卷考察点查询", response = Object.class)})
     @PostMapping("/paper_dimension")
+    @Aac(auth = BOOL.FALSE)
     public Result paperDimension(@RequestParam String thirdExamId,
                                  @RequestParam String gradeCourseCode) {
-        return ResultUtil.ok(openApiService.getPaperDimension(thirdExamId, gradeCourseCode));
+        BasicSchool basicSchool = AuthThirdUtil.hasPermission();
+        return ResultUtil.ok(openApiService.getPaperDimension(basicSchool, thirdExamId, gradeCourseCode));
     }
 
     /**
@@ -78,9 +81,11 @@ public class OpenApiController {
     @ApiOperation(value = "试卷蓝图查询")
     @ApiResponses({@ApiResponse(code = 200, message = "试卷蓝图查询", response = Object.class)})
     @PostMapping("/paper_structure")
+    @Aac(auth = BOOL.FALSE)
     public Result paperStructure(@RequestParam String thirdExamId,
                                  @RequestParam String gradeCourseCode) {
-        return ResultUtil.ok(openApiService.getPaperStructure(thirdExamId, gradeCourseCode));
+        BasicSchool basicSchool = AuthThirdUtil.hasPermission();
+        return ResultUtil.ok(openApiService.getPaperStructure(basicSchool, thirdExamId, gradeCourseCode));
     }
 
     /**
@@ -92,9 +97,11 @@ public class OpenApiController {
     @ApiOperation(value = "试卷评价模型查询")
     @ApiResponses({@ApiResponse(code = 200, message = "试卷评价模型查询", response = Object.class)})
     @PostMapping("/paper_evaluation")
+    @Aac(auth = BOOL.FALSE)
     public Result paperEvaluation(@RequestParam String thirdExamId,
                                   @RequestParam String gradeCourseCode) {
-        return ResultUtil.ok(openApiService.getPaperEvaluation(thirdExamId, gradeCourseCode));
+        BasicSchool basicSchool = AuthThirdUtil.hasPermission();
+        return ResultUtil.ok(openApiService.getPaperEvaluation(basicSchool, thirdExamId, gradeCourseCode));
     }
 
     /**
@@ -106,8 +113,12 @@ public class OpenApiController {
     @ApiOperation(value = "考生成绩查询")
     @ApiResponses({@ApiResponse(code = 200, message = "考生成绩查询", response = Object.class)})
     @PostMapping("/exam_student_score")
+    @Aac(auth = BOOL.FALSE)
     public Result examStudentScore(@RequestParam String thirdExamId,
-                                   @RequestParam String gradeCourseCode) {
-        return ResultUtil.ok(true);
+                                   @RequestParam String gradeCourseCode,
+                                   @RequestParam Integer pageNumber,
+                                   @RequestParam Integer pageSize) {
+        BasicSchool basicSchool = AuthThirdUtil.hasPermission();
+        return ResultUtil.ok(openApiService.listExamStudentScore(basicSchool, thirdExamId, gradeCourseCode, pageNumber, pageSize));
     }
 }

+ 1 - 3
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/enums/AssignEnum.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/enums/AssignEnum.java

@@ -1,8 +1,6 @@
-package com.qmth.teachcloud.report.business.enums;
+package com.qmth.teachcloud.common.enums;
 
 
-import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
-
 import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Collectors;

+ 21 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/enums/EvaluationEnum.java

@@ -0,0 +1,21 @@
+package com.qmth.teachcloud.common.enums;
+
+/**
+ * @Description: 评价方式类型
+ * @Author: CaoZixuan
+ * @Date: 2022-05-31
+ */
+public enum EvaluationEnum {
+    PERSONAL_SCORE_RATE("个人得分率"),
+    PERCENTILE_RANK("百分等级"),
+    ;
+    EvaluationEnum(String desc) {
+        this.desc = desc;
+    }
+
+    private final String desc;
+
+    public String getDesc() {
+        return desc;
+    }
+}

+ 1 - 1
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TBPaper.java

@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.report.business.enums.AssignEnum;
+import com.qmth.teachcloud.common.enums.AssignEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 

+ 1 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/AnalyzeForReportServiceImpl.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.qmth.teachcloud.common.contant.SpringContextHolder;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.SysOrg;
+import com.qmth.teachcloud.common.enums.AssignEnum;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.service.BasicCourseService;
 import com.qmth.teachcloud.common.service.SysOrgService;

+ 1 - 1
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TBExamStudentServiceImpl.java

@@ -22,7 +22,7 @@ import com.qmth.teachcloud.common.util.excel.ExcelError;
 import com.qmth.teachcloud.report.business.bean.dto.ExamStudentTypeDto;
 import com.qmth.teachcloud.report.business.bean.result.*;
 import com.qmth.teachcloud.report.business.entity.*;
-import com.qmth.teachcloud.report.business.enums.AssignEnum;
+import com.qmth.teachcloud.common.enums.AssignEnum;
 import com.qmth.teachcloud.report.business.enums.OrderEnum;
 import com.qmth.teachcloud.report.business.enums.PublishStatusEnum;
 import com.qmth.teachcloud.report.business.enums.SemesterEnum;

+ 1 - 1
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/templete/service/impl/TaskCalculateServiceImpl.java

@@ -3,7 +3,7 @@ package com.qmth.teachcloud.report.business.templete.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.report.business.entity.TBPaper;
-import com.qmth.teachcloud.report.business.enums.AssignEnum;
+import com.qmth.teachcloud.common.enums.AssignEnum;
 import com.qmth.teachcloud.report.business.service.AnalyzeForReportService;
 import com.qmth.teachcloud.report.business.service.TBExamService;
 import com.qmth.teachcloud.report.business.service.TBPaperService;

+ 1 - 1
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/BasicDatasourceController.java

@@ -25,7 +25,7 @@ import com.qmth.teachcloud.report.business.bean.dto.excel.*;
 import com.qmth.teachcloud.report.business.bean.dto.query.*;
 import com.qmth.teachcloud.report.business.bean.params.CollegeCombineParams;
 import com.qmth.teachcloud.report.business.entity.*;
-import com.qmth.teachcloud.report.business.enums.AssignEnum;
+import com.qmth.teachcloud.common.enums.AssignEnum;
 import com.qmth.teachcloud.report.business.enums.ExamCloudDataEnum;
 import com.qmth.teachcloud.report.business.enums.NumberTypeEnum;
 import com.qmth.teachcloud.report.business.enums.PublishStatusEnum;

+ 1 - 1
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/CourseController.java

@@ -18,7 +18,7 @@ import com.qmth.teachcloud.report.business.bean.result.*;
 import com.qmth.teachcloud.report.business.bean.result.inspectCourseExamTotal.InspectCourseTotalReportResult;
 import com.qmth.teachcloud.report.business.entity.TBExamCourse;
 import com.qmth.teachcloud.report.business.entity.TBPaper;
-import com.qmth.teachcloud.report.business.enums.AssignEnum;
+import com.qmth.teachcloud.common.enums.AssignEnum;
 import com.qmth.teachcloud.report.business.enums.OrderEnum;
 import com.qmth.teachcloud.report.business.enums.PublishStatusEnum;
 import com.qmth.teachcloud.report.business.enums.SemesterEnum;