Browse Source

Merge branch 'dev_v2.1.0' into release_v2.1.0
merge

wangliang 4 năm trước cách đây
mục cha
commit
f8f3344a2d
53 tập tin đã thay đổi với 1350 bổ sung275 xóa
  1. 207 0
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/dto/excel/TAExamCourseDto.java
  2. 23 4
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/dto/query/BasicAnswerDto.java
  3. 18 3
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/dto/query/BasicExamRecordDto.java
  4. 8 1
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/dto/query/ValidAnswerDetailDto.java
  5. 22 4
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/SurveyTeacherExamCourseResult.java
  6. 7 7
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/SurveyTeacherViewResult.java
  7. 12 2
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/TAExamCourseCollegeTeacherResult.java
  8. 41 8
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/TAExamCourseResult.java
  9. 82 16
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/TAExamCourseTeacherResult.java
  10. 12 2
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/TBPaperStructResult.java
  11. 6 1
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/TeacherClassRankResult.java
  12. 43 8
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/TrialCalculationResult.java
  13. 77 15
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/inspectCourseExamTotal/CollegeCourseInfo.java
  14. 152 18
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourse.java
  15. 17 3
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseClazz.java
  16. 41 8
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseCollegeInspect.java
  17. 12 2
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseCollegeInspectDio.java
  18. 47 9
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseCollegeTeacher.java
  19. 12 2
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseDifficult.java
  20. 17 3
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseDio.java
  21. 22 4
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseRecord.java
  22. 12 2
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseRecordDio.java
  23. 17 3
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseRecordMod.java
  24. 42 8
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseTeacher.java
  25. 12 2
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseTeacherDifficult.java
  26. 12 2
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseTeacherDio.java
  27. 17 3
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAPaperStruct.java
  28. 7 1
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TBAnswer.java
  29. 12 2
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TBCommonLevelConfig.java
  30. 12 2
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TBCommonRankLevelConfig.java
  31. 17 3
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TBExamRecord.java
  32. 17 3
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TBPaper.java
  33. 7 1
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TBPaperStruct.java
  34. 4 0
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/enums/PublishStatusEnum.java
  35. 29 4
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/AnalyzeForReportService.java
  36. 12 1
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/ReportCommonService.java
  37. 5 4
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/TAExamCourseCollegeTeacherService.java
  38. 2 2
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/TAExamCourseService.java
  39. 5 4
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/TAExamTotalService.java
  40. 78 2
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/AnalyzeForReportServiceImpl.java
  41. 31 1
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/ReportCommonServiceImpl.java
  42. 10 8
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamCourseCollegeTeacherServiceImpl.java
  43. 24 48
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamCourseServiceImpl.java
  44. 17 7
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamTotalServiceImpl.java
  45. 4 1
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TBExamCourseServiceImpl.java
  46. 6 5
      teachcloud-report-business/src/main/resources/mapper/TAExamCourseCollegeTeacherMapper.xml
  47. 3 3
      teachcloud-report-business/src/main/resources/mapper/TAExamCourseMapper.xml
  48. 8 1
      teachcloud-report-business/src/main/resources/mapper/TAExamTotalMapper.xml
  49. 33 5
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/CourseController.java
  50. 1 14
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/DataAnalyzeController.java
  51. 10 9
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/DataDriveController.java
  52. 3 2
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamCourseCollegeTeacherController.java
  53. 3 2
      teachcloud-report/src/test/java/com/qmth/teachcloud/report/AnalyzeForStudentServiceTest.java

+ 207 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/dto/excel/TAExamCourseDto.java

@@ -0,0 +1,207 @@
+package com.qmth.teachcloud.report.business.bean.dto.excel;
+
+import com.qmth.teachcloud.common.annotation.ExcelProperty;
+import com.qmth.teachcloud.common.contant.SystemConstant;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Objects;
+
+/**
+ * @Description: TAExamCourseDto
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2021/6/17
+ */
+public class TAExamCourseDto implements Serializable {
+
+    @ExcelProperty(name = "课程(代码)", width = 40, index = 1)
+    private String courseCodeName;
+
+    @ExcelProperty(name = "开课学院", width = 30, index = 2)
+    private String teachCollegeName;
+
+    @ExcelProperty(name = "考查学院", width = 30, index = 3)
+    private Integer inspectCollegeCount;
+
+    @ExcelProperty(name = "有效人数", width = 30, index = 4)
+    private Integer realityCount;
+
+    @ExcelProperty(name = "应届占比(人数)", width = 50, index = 5)
+    private String currentRealityRate;
+
+    @ExcelProperty(name = "非应届占比(人数)", width = 50, index = 6)
+    private String pastRealityRate;
+
+    @ExcelProperty(name = "总体平均分", width = 30, index = 7)
+    private BigDecimal avgScore;
+
+    @ExcelProperty(name = "不及格率(人数)", width = 40, index = 8)
+    private String notPassRate;
+
+    @ExcelProperty(name = "缺考", width = 30, index = 9)
+    private Integer absentCount;
+
+    @ExcelProperty(name = "应届平均分", width = 30, index = 10)
+    private BigDecimal paperCurrentAvgScore;
+
+    @ExcelProperty(name = "应届不及格率(人数)", width = 50, index = 11)
+    private String currentNotPassRate;
+
+    @ApiModelProperty(value = "科目编码")
+    private String courseCode;
+
+    @ApiModelProperty(value = "科目名称")
+    private String courseName;
+
+    @ApiModelProperty(value = "应届实际考试人数")
+    private Integer currentRealityCount;
+
+    @ApiModelProperty(value = "不通过人数")
+    private Integer notPassCount;
+
+    @ApiModelProperty(value = "应届不通过人数")
+    private Integer currentNotPassCount;
+
+    public Integer getNotPassCount() {
+        return notPassCount;
+    }
+
+    public void setNotPassCount(Integer notPassCount) {
+        this.notPassCount = notPassCount;
+    }
+
+    public Integer getCurrentNotPassCount() {
+        return currentNotPassCount;
+    }
+
+    public void setCurrentNotPassCount(Integer currentNotPassCount) {
+        this.currentNotPassCount = currentNotPassCount;
+    }
+
+    public Integer getCurrentRealityCount() {
+        return currentRealityCount;
+    }
+
+    public void setCurrentRealityCount(Integer currentRealityCount) {
+        this.currentRealityCount = currentRealityCount;
+    }
+
+    public String getCourseCode() {
+        return courseCode;
+    }
+
+    public void setCourseCode(String courseCode) {
+        this.courseCode = courseCode;
+    }
+
+    public String getCourseName() {
+        return courseName;
+    }
+
+    public void setCourseName(String courseName) {
+        this.courseName = courseName;
+    }
+
+    public String getCourseCodeName() {
+        if (Objects.nonNull(courseCode) && Objects.nonNull(courseName)) {
+            return courseCode + "(" + courseName + ")";
+        } else {
+            return courseCodeName;
+        }
+    }
+
+    public void setCourseCodeName(String courseCodeName) {
+        this.courseCodeName = courseCodeName;
+    }
+
+    public String getTeachCollegeName() {
+        return teachCollegeName;
+    }
+
+    public void setTeachCollegeName(String teachCollegeName) {
+        this.teachCollegeName = teachCollegeName;
+    }
+
+    public Integer getInspectCollegeCount() {
+        return inspectCollegeCount;
+    }
+
+    public void setInspectCollegeCount(Integer inspectCollegeCount) {
+        this.inspectCollegeCount = inspectCollegeCount;
+    }
+
+    public Integer getRealityCount() {
+        return realityCount;
+    }
+
+    public void setRealityCount(Integer realityCount) {
+        this.realityCount = realityCount;
+    }
+
+    public String getCurrentRealityRate() {
+        return currentRealityRate + "(" + currentRealityCount + ")";
+    }
+
+    public void setCurrentRealityRate(String currentRealityRate) {
+        this.currentRealityRate = currentRealityRate;
+    }
+
+    public String getPastRealityRate() {
+        return pastRealityRate + "(" + pastRealityRate + ")";
+    }
+
+    public void setPastRealityRate(String pastRealityRate) {
+        this.pastRealityRate = pastRealityRate;
+    }
+
+    public BigDecimal getAvgScore() {
+        if (Objects.nonNull(avgScore)) {
+            return avgScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return avgScore;
+        }
+    }
+
+    public void setAvgScore(BigDecimal avgScore) {
+        this.avgScore = avgScore;
+    }
+
+    public String getNotPassRate() {
+        return notPassRate + "(" + notPassCount + ")";
+    }
+
+    public void setNotPassRate(String notPassRate) {
+        this.notPassRate = notPassRate;
+    }
+
+    public Integer getAbsentCount() {
+        return absentCount;
+    }
+
+    public void setAbsentCount(Integer absentCount) {
+        this.absentCount = absentCount;
+    }
+
+    public BigDecimal getPaperCurrentAvgScore() {
+        if (Objects.nonNull(paperCurrentAvgScore)) {
+            return paperCurrentAvgScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return paperCurrentAvgScore;
+        }
+    }
+
+    public void setPaperCurrentAvgScore(BigDecimal paperCurrentAvgScore) {
+        this.paperCurrentAvgScore = paperCurrentAvgScore;
+    }
+
+    public String getCurrentNotPassRate() {
+        return currentNotPassRate + "(" + currentNotPassCount + ")";
+    }
+
+    public void setCurrentNotPassRate(String currentNotPassRate) {
+        this.currentNotPassRate = currentNotPassRate;
+    }
+}

+ 23 - 4
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/dto/query/BasicAnswerDto.java

@@ -1,6 +1,9 @@
 package com.qmth.teachcloud.report.business.bean.dto.query;
 
+import com.qmth.teachcloud.common.contant.SystemConstant;
+
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * @Description:
@@ -74,7 +77,11 @@ public class BasicAnswerDto {
     }
 
     public BigDecimal getScore() {
-        return score;
+        if (Objects.nonNull(score)) {
+            return score.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return score;
+        }
     }
 
     public void setScore(BigDecimal score) {
@@ -130,7 +137,11 @@ public class BasicAnswerDto {
     }
 
     public BigDecimal getSubjectiveScore() {
-        return subjectiveScore;
+        if (Objects.nonNull(subjectiveScore)) {
+            return subjectiveScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return subjectiveScore;
+        }
     }
 
     public void setSubjectiveScore(BigDecimal subjectiveScore) {
@@ -138,7 +149,11 @@ public class BasicAnswerDto {
     }
 
     public BigDecimal getObjectiveScore() {
-        return objectiveScore;
+        if (Objects.nonNull(objectiveScore)) {
+            return objectiveScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return objectiveScore;
+        }
     }
 
     public void setObjectiveScore(BigDecimal objectiveScore) {
@@ -146,7 +161,11 @@ public class BasicAnswerDto {
     }
 
     public BigDecimal getTotalScore() {
-        return totalScore;
+        if (Objects.nonNull(totalScore)) {
+            return totalScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return totalScore;
+        }
     }
 
     public void setTotalScore(BigDecimal totalScore) {

+ 18 - 3
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/dto/query/BasicExamRecordDto.java

@@ -1,6 +1,9 @@
 package com.qmth.teachcloud.report.business.bean.dto.query;
 
+import com.qmth.teachcloud.common.contant.SystemConstant;
+
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * @Description: 基础考试记录
@@ -175,7 +178,11 @@ public class BasicExamRecordDto {
     }
 
     public BigDecimal getSubjectiveScore() {
-        return subjectiveScore;
+        if (Objects.nonNull(subjectiveScore)) {
+            return subjectiveScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return subjectiveScore;
+        }
     }
 
     public void setSubjectiveScore(BigDecimal subjectiveScore) {
@@ -183,7 +190,11 @@ public class BasicExamRecordDto {
     }
 
     public BigDecimal getObjectiveScore() {
-        return objectiveScore;
+        if (Objects.nonNull(objectiveScore)) {
+            return objectiveScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return objectiveScore;
+        }
     }
 
     public void setObjectiveScore(BigDecimal objectiveScore) {
@@ -191,7 +202,11 @@ public class BasicExamRecordDto {
     }
 
     public BigDecimal getTotalScore() {
-        return totalScore;
+        if (Objects.nonNull(totalScore)) {
+            return totalScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return totalScore;
+        }
     }
 
     public void setTotalScore(BigDecimal totalScore) {

+ 8 - 1
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/dto/query/ValidAnswerDetailDto.java

@@ -1,6 +1,9 @@
 package com.qmth.teachcloud.report.business.bean.dto.query;
 
+import com.qmth.teachcloud.common.contant.SystemConstant;
+
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * @Description:
@@ -61,7 +64,11 @@ public class ValidAnswerDetailDto {
     }
 
     public BigDecimal getScore() {
-        return score;
+        if (Objects.nonNull(score)) {
+            return score.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return score;
+        }
     }
 
     public void setScore(BigDecimal score) {

+ 22 - 4
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/SurveyTeacherExamCourseResult.java

@@ -1,12 +1,14 @@
 package com.qmth.teachcloud.report.business.bean.result;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
+import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.report.business.entity.TAExamCourse;
 import com.qmth.teachcloud.report.business.entity.TBExamCourse;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * @Description: SurveyTeacherExamCourseResult
@@ -42,7 +44,11 @@ public class SurveyTeacherExamCourseResult implements Serializable {
     }
 
     public BigDecimal getAvgScore() {
-        return avgScore;
+        if (Objects.nonNull(avgScore)) {
+            return avgScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return avgScore;
+        }
     }
 
     public void setAvgScore(BigDecimal avgScore) {
@@ -50,7 +56,11 @@ public class SurveyTeacherExamCourseResult implements Serializable {
     }
 
     public BigDecimal getNotPassRate() {
-        return notPassRate;
+        if (Objects.nonNull(notPassRate)) {
+            return notPassRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return notPassRate;
+        }
     }
 
     public void setNotPassRate(BigDecimal notPassRate) {
@@ -58,7 +68,11 @@ public class SurveyTeacherExamCourseResult implements Serializable {
     }
 
     public BigDecimal getCurrentAvgScore() {
-        return currentAvgScore;
+        if (Objects.nonNull(currentAvgScore)) {
+            return currentAvgScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return currentAvgScore;
+        }
     }
 
     public void setCurrentAvgScore(BigDecimal currentAvgScore) {
@@ -66,7 +80,11 @@ public class SurveyTeacherExamCourseResult implements Serializable {
     }
 
     public BigDecimal getCurrentNotPassRate() {
-        return currentNotPassRate;
+        if (Objects.nonNull(currentNotPassRate)) {
+            return currentNotPassRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return currentNotPassRate;
+        }
     }
 
     public void setCurrentNotPassRate(BigDecimal currentNotPassRate) {

+ 7 - 7
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/SurveyTeacherViewResult.java

@@ -18,7 +18,7 @@ public class SurveyTeacherViewResult implements Serializable {
     private List<SurveyTeacherGradeDistributionResult> gradeDistribution;
 
     @ApiModelProperty(value = "题目信息")
-    private QuestionListResult questionList;
+    private QuestionListResult questionInfo;
 
     @ApiModelProperty(value = "分数分布")
     private SurveyTeacherExamCourseResult surveyTeacher;
@@ -27,9 +27,9 @@ public class SurveyTeacherViewResult implements Serializable {
 
     }
 
-    public SurveyTeacherViewResult(List<SurveyTeacherGradeDistributionResult> gradeDistribution, QuestionListResult questionList, SurveyTeacherExamCourseResult surveyTeacher) {
+    public SurveyTeacherViewResult(List<SurveyTeacherGradeDistributionResult> gradeDistribution, QuestionListResult questionInfo, SurveyTeacherExamCourseResult surveyTeacher) {
         this.gradeDistribution = gradeDistribution;
-        this.questionList = questionList;
+        this.questionInfo = questionInfo;
         this.surveyTeacher = surveyTeacher;
     }
 
@@ -41,12 +41,12 @@ public class SurveyTeacherViewResult implements Serializable {
         this.gradeDistribution = gradeDistribution;
     }
 
-    public QuestionListResult getQuestionList() {
-        return questionList;
+    public QuestionListResult getQuestionInfo() {
+        return questionInfo;
     }
 
-    public void setQuestionList(QuestionListResult questionList) {
-        this.questionList = questionList;
+    public void setQuestionInfo(QuestionListResult questionInfo) {
+        this.questionInfo = questionInfo;
     }
 
     public SurveyTeacherExamCourseResult getSurveyTeacher() {

+ 12 - 2
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/TAExamCourseCollegeTeacherResult.java

@@ -1,11 +1,13 @@
 package com.qmth.teachcloud.report.business.bean.result;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
+import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.report.business.entity.TAExamCourseCollegeTeacher;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * @Description: TAExamCourseCollegeTeacherResult
@@ -24,7 +26,11 @@ public class TAExamCourseCollegeTeacherResult extends TAExamCourseCollegeTeacher
     private BigDecimal currentAvgScoreAfter;
 
     public BigDecimal getCurrentAvgScoreBefore() {
-        return currentAvgScoreBefore;
+        if (Objects.nonNull(currentAvgScoreBefore)) {
+            return currentAvgScoreBefore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return currentAvgScoreBefore;
+        }
     }
 
     public void setCurrentAvgScoreBefore(BigDecimal currentAvgScoreBefore) {
@@ -32,7 +38,11 @@ public class TAExamCourseCollegeTeacherResult extends TAExamCourseCollegeTeacher
     }
 
     public BigDecimal getCurrentAvgScoreAfter() {
-        return currentAvgScoreAfter;
+        if (Objects.nonNull(currentAvgScoreAfter)) {
+            return currentAvgScoreAfter.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return currentAvgScoreAfter;
+        }
     }
 
     public void setCurrentAvgScoreAfter(BigDecimal currentAvgScoreAfter) {

+ 41 - 8
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/TAExamCourseResult.java

@@ -1,6 +1,7 @@
 package com.qmth.teachcloud.report.business.bean.result;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
+import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.report.business.entity.TAExamCourse;
 import com.qmth.teachcloud.report.business.enums.PublishStatusEnum;
 import io.swagger.annotations.ApiModelProperty;
@@ -70,7 +71,11 @@ public class TAExamCourseResult extends TAExamCourse implements Serializable {
     }
 
     public BigDecimal getAvgScoreBefore() {
-        return avgScoreBefore;
+        if (Objects.nonNull(avgScoreBefore)) {
+            return avgScoreBefore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return avgScoreBefore;
+        }
     }
 
     public void setAvgScoreBefore(BigDecimal avgScoreBefore) {
@@ -78,7 +83,11 @@ public class TAExamCourseResult extends TAExamCourse implements Serializable {
     }
 
     public BigDecimal getNotPassRateBefore() {
-        return notPassRateBefore;
+        if (Objects.nonNull(notPassRateBefore)) {
+            return notPassRateBefore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return notPassRateBefore;
+        }
     }
 
     public void setNotPassRateBefore(BigDecimal notPassRateBefore) {
@@ -86,7 +95,11 @@ public class TAExamCourseResult extends TAExamCourse implements Serializable {
     }
 
     public BigDecimal getCurrentAvgScoreBefore() {
-        return currentAvgScoreBefore;
+        if (Objects.nonNull(currentAvgScoreBefore)) {
+            return currentAvgScoreBefore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return currentAvgScoreBefore;
+        }
     }
 
     public void setCurrentAvgScoreBefore(BigDecimal currentAvgScoreBefore) {
@@ -94,7 +107,11 @@ public class TAExamCourseResult extends TAExamCourse implements Serializable {
     }
 
     public BigDecimal getCurrentNotPassRateBefore() {
-        return currentNotPassRateBefore;
+        if (Objects.nonNull(currentNotPassRateBefore)) {
+            return currentNotPassRateBefore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return currentNotPassRateBefore;
+        }
     }
 
     public void setCurrentNotPassRateBefore(BigDecimal currentNotPassRateBefore) {
@@ -102,7 +119,11 @@ public class TAExamCourseResult extends TAExamCourse implements Serializable {
     }
 
     public BigDecimal getAvgScoreAfter() {
-        return avgScoreAfter;
+        if (Objects.nonNull(avgScoreAfter)) {
+            return avgScoreAfter.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return avgScoreAfter;
+        }
     }
 
     public void setAvgScoreAfter(BigDecimal avgScoreAfter) {
@@ -110,7 +131,11 @@ public class TAExamCourseResult extends TAExamCourse implements Serializable {
     }
 
     public BigDecimal getNotPassRateAfter() {
-        return notPassRateAfter;
+        if (Objects.nonNull(notPassRateAfter)) {
+            return notPassRateAfter.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return notPassRateAfter;
+        }
     }
 
     public void setNotPassRateAfter(BigDecimal notPassRateAfter) {
@@ -118,7 +143,11 @@ public class TAExamCourseResult extends TAExamCourse implements Serializable {
     }
 
     public BigDecimal getCurrentAvgScoreAfter() {
-        return currentAvgScoreAfter;
+        if (Objects.nonNull(currentAvgScoreAfter)) {
+            return currentAvgScoreAfter.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return currentAvgScoreAfter;
+        }
     }
 
     public void setCurrentAvgScoreAfter(BigDecimal currentAvgScoreAfter) {
@@ -126,7 +155,11 @@ public class TAExamCourseResult extends TAExamCourse implements Serializable {
     }
 
     public BigDecimal getCurrentNotPassRateAfter() {
-        return currentNotPassRateAfter;
+        if (Objects.nonNull(currentNotPassRateAfter)) {
+            return currentNotPassRateAfter.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return currentNotPassRateAfter;
+        }
     }
 
     public void setCurrentNotPassRateAfter(BigDecimal currentNotPassRateAfter) {

+ 82 - 16
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/TAExamCourseTeacherResult.java

@@ -1,9 +1,11 @@
 package com.qmth.teachcloud.report.business.bean.result;
 
+import com.qmth.teachcloud.common.contant.SystemConstant;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * @Description: TAExamCourseTeacherResult
@@ -122,7 +124,11 @@ public class TAExamCourseTeacherResult implements Serializable {
     }
 
     public BigDecimal getColMinScore() {
-        return colMinScore;
+        if (Objects.nonNull(colMinScore)) {
+            return colMinScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return colMinScore;
+        }
     }
 
     public void setColMinScore(BigDecimal colMinScore) {
@@ -130,7 +136,11 @@ public class TAExamCourseTeacherResult implements Serializable {
     }
 
     public BigDecimal getColMaxScore() {
-        return colMaxScore;
+        if (Objects.nonNull(colMaxScore)) {
+            return colMaxScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return colMaxScore;
+        }
     }
 
     public void setColMaxScore(BigDecimal colMaxScore) {
@@ -138,7 +148,11 @@ public class TAExamCourseTeacherResult implements Serializable {
     }
 
     public BigDecimal getColAvgScore() {
-        return colAvgScore;
+        if (Objects.nonNull(colAvgScore)) {
+            return colAvgScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return colAvgScore;
+        }
     }
 
     public void setColAvgScore(BigDecimal colAvgScore) {
@@ -146,7 +160,11 @@ public class TAExamCourseTeacherResult implements Serializable {
     }
 
     public BigDecimal getColUpperQuartile() {
-        return colUpperQuartile;
+        if (Objects.nonNull(colUpperQuartile)) {
+            return colUpperQuartile.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return colUpperQuartile;
+        }
     }
 
     public void setColUpperQuartile(BigDecimal colUpperQuartile) {
@@ -154,7 +172,11 @@ public class TAExamCourseTeacherResult implements Serializable {
     }
 
     public BigDecimal getColMedian() {
-        return colMedian;
+        if (Objects.nonNull(colMedian)) {
+            return colMedian.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return colMedian;
+        }
     }
 
     public void setColMedian(BigDecimal colMedian) {
@@ -162,7 +184,11 @@ public class TAExamCourseTeacherResult implements Serializable {
     }
 
     public BigDecimal getColLowerQuartile() {
-        return colLowerQuartile;
+        if (Objects.nonNull(colLowerQuartile)) {
+            return colLowerQuartile.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return colLowerQuartile;
+        }
     }
 
     public void setColLowerQuartile(BigDecimal colLowerQuartile) {
@@ -178,7 +204,11 @@ public class TAExamCourseTeacherResult implements Serializable {
     }
 
     public BigDecimal getColStandardDeviation() {
-        return colStandardDeviation;
+        if (Objects.nonNull(colStandardDeviation)) {
+            return colStandardDeviation.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return colStandardDeviation;
+        }
     }
 
     public void setColStandardDeviation(BigDecimal colStandardDeviation) {
@@ -186,7 +216,11 @@ public class TAExamCourseTeacherResult implements Serializable {
     }
 
     public BigDecimal getColRelativePosition() {
-        return colRelativePosition;
+        if (Objects.nonNull(colRelativePosition)) {
+            return colRelativePosition.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return colRelativePosition;
+        }
     }
 
     public void setColRelativePosition(BigDecimal colRelativePosition) {
@@ -218,7 +252,11 @@ public class TAExamCourseTeacherResult implements Serializable {
     }
 
     public BigDecimal getSchMinScore() {
-        return schMinScore;
+        if (Objects.nonNull(schMinScore)) {
+            return schMinScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return schMinScore;
+        }
     }
 
     public void setSchMinScore(BigDecimal schMinScore) {
@@ -226,7 +264,11 @@ public class TAExamCourseTeacherResult implements Serializable {
     }
 
     public BigDecimal getSchMaxScore() {
-        return schMaxScore;
+        if (Objects.nonNull(schMaxScore)) {
+            return schMaxScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return schMaxScore;
+        }
     }
 
     public void setSchMaxScore(BigDecimal schMaxScore) {
@@ -234,7 +276,11 @@ public class TAExamCourseTeacherResult implements Serializable {
     }
 
     public BigDecimal getSchAvgScore() {
-        return schAvgScore;
+        if (Objects.nonNull(schAvgScore)) {
+            return schAvgScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return schAvgScore;
+        }
     }
 
     public void setSchAvgScore(BigDecimal schAvgScore) {
@@ -242,7 +288,11 @@ public class TAExamCourseTeacherResult implements Serializable {
     }
 
     public BigDecimal getSchUpperQuartile() {
-        return schUpperQuartile;
+        if (Objects.nonNull(schUpperQuartile)) {
+            return schUpperQuartile.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return schUpperQuartile;
+        }
     }
 
     public void setSchUpperQuartile(BigDecimal schUpperQuartile) {
@@ -250,7 +300,11 @@ public class TAExamCourseTeacherResult implements Serializable {
     }
 
     public BigDecimal getSchMedian() {
-        return schMedian;
+        if (Objects.nonNull(schMedian)) {
+            return schMedian.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return schMedian;
+        }
     }
 
     public void setSchMedian(BigDecimal schMedian) {
@@ -258,7 +312,11 @@ public class TAExamCourseTeacherResult implements Serializable {
     }
 
     public BigDecimal getSchLowerQuartile() {
-        return schLowerQuartile;
+        if (Objects.nonNull(schLowerQuartile)) {
+            return schLowerQuartile.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return schLowerQuartile;
+        }
     }
 
     public void setSchLowerQuartile(BigDecimal schLowerQuartile) {
@@ -274,7 +332,11 @@ public class TAExamCourseTeacherResult implements Serializable {
     }
 
     public BigDecimal getSchStandardDeviation() {
-        return schStandardDeviation;
+        if (Objects.nonNull(schStandardDeviation)) {
+            return schStandardDeviation.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return schStandardDeviation;
+        }
     }
 
     public void setSchStandardDeviation(BigDecimal schStandardDeviation) {
@@ -282,7 +344,11 @@ public class TAExamCourseTeacherResult implements Serializable {
     }
 
     public BigDecimal getSchRelativePosition() {
-        return schRelativePosition;
+        if (Objects.nonNull(schRelativePosition)) {
+            return schRelativePosition.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return schRelativePosition;
+        }
     }
 
     public void setSchRelativePosition(BigDecimal schRelativePosition) {

+ 12 - 2
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/TBPaperStructResult.java

@@ -1,11 +1,13 @@
 package com.qmth.teachcloud.report.business.bean.result;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
+import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.report.business.entity.TBPaperStruct;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * @Description: 试卷结构result
@@ -60,7 +62,11 @@ public class TBPaperStructResult extends TBPaperStruct implements Serializable {
     }
 
     public BigDecimal getScoreRate() {
-        return scoreRate;
+        if (Objects.nonNull(scoreRate)) {
+            return scoreRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return scoreRate;
+        }
     }
 
     public void setScoreRate(BigDecimal scoreRate) {
@@ -76,7 +82,11 @@ public class TBPaperStructResult extends TBPaperStruct implements Serializable {
     }
 
     public BigDecimal getValidity() {
-        return validity;
+        if (Objects.nonNull(validity)) {
+            return validity.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return validity;
+        }
     }
 
     public void setValidity(BigDecimal validity) {

+ 6 - 1
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/TeacherClassRankResult.java

@@ -1,9 +1,14 @@
 package com.qmth.teachcloud.report.business.bean.result;
 
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+import java.io.Serializable;
+
 /**
  * @Date: 2021/6/8.
  */
-public class TeacherClassRankResult {
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class TeacherClassRankResult implements Serializable {
 
     private String teacherName;
     private String inspectCollegeName;

+ 43 - 8
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/TrialCalculationResult.java

@@ -1,6 +1,9 @@
 package com.qmth.teachcloud.report.business.bean.result;
 
+import com.qmth.teachcloud.common.contant.SystemConstant;
+
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * @Description: 试算结果
@@ -44,7 +47,11 @@ public class TrialCalculationResult {
     }
 
     public BigDecimal getAvgScore() {
-        return avgScore;
+        if (Objects.nonNull(avgScore)) {
+            return avgScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return avgScore;
+        }
     }
 
     public void setAvgScore(BigDecimal avgScore) {
@@ -52,7 +59,11 @@ public class TrialCalculationResult {
     }
 
     public BigDecimal getFailRate() {
-        return failRate;
+        if (Objects.nonNull(failRate)) {
+            return failRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return failRate;
+        }
     }
 
     public void setFailRate(BigDecimal failRate) {
@@ -68,7 +79,11 @@ public class TrialCalculationResult {
     }
 
     public BigDecimal getCurrentAvgScore() {
-        return currentAvgScore;
+        if (Objects.nonNull(currentAvgScore)) {
+            return currentAvgScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return currentAvgScore;
+        }
     }
 
     public void setCurrentAvgScore(BigDecimal currentAvgScore) {
@@ -76,7 +91,11 @@ public class TrialCalculationResult {
     }
 
     public BigDecimal getCurrentFailRate() {
-        return currentFailRate;
+        if (Objects.nonNull(currentFailRate)) {
+            return currentFailRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return currentFailRate;
+        }
     }
 
     public void setCurrentFailRate(BigDecimal currentFailRate) {
@@ -92,7 +111,11 @@ public class TrialCalculationResult {
     }
 
     public BigDecimal getAvgScoreAssign() {
-        return avgScoreAssign;
+        if (Objects.nonNull(avgScoreAssign)) {
+            return avgScoreAssign.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return avgScoreAssign;
+        }
     }
 
     public void setAvgScoreAssign(BigDecimal avgScoreAssign) {
@@ -100,7 +123,11 @@ public class TrialCalculationResult {
     }
 
     public BigDecimal getFailRateAssign() {
-        return failRateAssign;
+        if (Objects.nonNull(failRateAssign)) {
+            return failRateAssign.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return failRateAssign;
+        }
     }
 
     public void setFailRateAssign(BigDecimal failRateAssign) {
@@ -116,7 +143,11 @@ public class TrialCalculationResult {
     }
 
     public BigDecimal getCurrentAvgScoreAssign() {
-        return currentAvgScoreAssign;
+        if (Objects.nonNull(currentAvgScoreAssign)) {
+            return currentAvgScoreAssign.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return currentAvgScoreAssign;
+        }
     }
 
     public void setCurrentAvgScoreAssign(BigDecimal currentAvgScoreAssign) {
@@ -124,7 +155,11 @@ public class TrialCalculationResult {
     }
 
     public BigDecimal getCurrentFailRateAssign() {
-        return currentFailRateAssign;
+        if (Objects.nonNull(currentFailRateAssign)) {
+            return currentFailRateAssign.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return currentFailRateAssign;
+        }
     }
 
     public void setCurrentFailRateAssign(BigDecimal currentFailRateAssign) {

+ 77 - 15
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/inspectCourseExamTotal/CollegeCourseInfo.java

@@ -1,9 +1,11 @@
 package com.qmth.teachcloud.report.business.bean.result.inspectCourseExamTotal;
 
+import com.qmth.teachcloud.common.contant.SystemConstant;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * @Description: 考查学院-课程数据
@@ -69,7 +71,11 @@ public class CollegeCourseInfo implements Serializable {
     }
 
     public BigDecimal getColLowerQuartile() {
-        return colLowerQuartile;
+        if (Objects.nonNull(colLowerQuartile)) {
+            return colLowerQuartile.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return colLowerQuartile;
+        }
     }
 
     public void setColLowerQuartile(BigDecimal colLowerQuartile) {
@@ -77,7 +83,11 @@ public class CollegeCourseInfo implements Serializable {
     }
 
     public BigDecimal getColStandardDeviation() {
-        return colStandardDeviation;
+        if (Objects.nonNull(colStandardDeviation)) {
+            return colStandardDeviation.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return colStandardDeviation;
+        }
     }
 
     public void setColStandardDeviation(BigDecimal colStandardDeviation) {
@@ -93,7 +103,11 @@ public class CollegeCourseInfo implements Serializable {
     }
 
     public BigDecimal getColMinScore() {
-        return colMinScore;
+        if (Objects.nonNull(colMinScore)) {
+            return colMinScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return colMinScore;
+        }
     }
 
     public void setColMinScore(BigDecimal colMinScore) {
@@ -101,7 +115,11 @@ public class CollegeCourseInfo implements Serializable {
     }
 
     public BigDecimal getSchAvgScore() {
-        return schAvgScore;
+        if (Objects.nonNull(schAvgScore)) {
+            return schAvgScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return schAvgScore;
+        }
     }
 
     public void setSchAvgScore(BigDecimal schAvgScore) {
@@ -109,7 +127,11 @@ public class CollegeCourseInfo implements Serializable {
     }
 
     public BigDecimal getSchLowerQuartile() {
-        return schLowerQuartile;
+        if (Objects.nonNull(schLowerQuartile)) {
+            return schLowerQuartile.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return schLowerQuartile;
+        }
     }
 
     public void setSchLowerQuartile(BigDecimal schLowerQuartile) {
@@ -117,7 +139,11 @@ public class CollegeCourseInfo implements Serializable {
     }
 
     public BigDecimal getColMaxScore() {
-        return colMaxScore;
+        if (Objects.nonNull(colMaxScore)) {
+            return colMaxScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return colMaxScore;
+        }
     }
 
     public void setColMaxScore(BigDecimal colMaxScore) {
@@ -133,7 +159,11 @@ public class CollegeCourseInfo implements Serializable {
     }
 
     public BigDecimal getSchMaxScore() {
-        return schMaxScore;
+        if (Objects.nonNull(schMaxScore)) {
+            return schMaxScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return schMaxScore;
+        }
     }
 
     public void setSchMaxScore(BigDecimal schMaxScore) {
@@ -141,7 +171,11 @@ public class CollegeCourseInfo implements Serializable {
     }
 
     public BigDecimal getColRealityCount() {
-        return colRealityCount;
+        if (Objects.nonNull(colRealityCount)) {
+            return colRealityCount.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return colRealityCount;
+        }
     }
 
     public void setColRealityCount(BigDecimal colRealityCount) {
@@ -149,7 +183,11 @@ public class CollegeCourseInfo implements Serializable {
     }
 
     public BigDecimal getSchStandardDeviation() {
-        return schStandardDeviation;
+        if (Objects.nonNull(schStandardDeviation)) {
+            return schStandardDeviation.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return schStandardDeviation;
+        }
     }
 
     public void setSchStandardDeviation(BigDecimal schStandardDeviation) {
@@ -165,7 +203,11 @@ public class CollegeCourseInfo implements Serializable {
     }
 
     public BigDecimal getSchMinScore() {
-        return schMinScore;
+        if (Objects.nonNull(schMinScore)) {
+            return schMinScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return schMinScore;
+        }
     }
 
     public void setSchMinScore(BigDecimal schMinScore) {
@@ -173,7 +215,11 @@ public class CollegeCourseInfo implements Serializable {
     }
 
     public BigDecimal getColAvgScore() {
-        return colAvgScore;
+        if (Objects.nonNull(colAvgScore)) {
+            return colAvgScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return colAvgScore;
+        }
     }
 
     public void setColAvgScore(BigDecimal colAvgScore) {
@@ -181,7 +227,11 @@ public class CollegeCourseInfo implements Serializable {
     }
 
     public BigDecimal getColUpperQuartile() {
-        return colUpperQuartile;
+        if (Objects.nonNull(colUpperQuartile)) {
+            return colUpperQuartile.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return colUpperQuartile;
+        }
     }
 
     public void setColUpperQuartile(BigDecimal colUpperQuartile) {
@@ -189,7 +239,11 @@ public class CollegeCourseInfo implements Serializable {
     }
 
     public BigDecimal getColMedian() {
-        return colMedian;
+        if (Objects.nonNull(colMedian)) {
+            return colMedian.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return colMedian;
+        }
     }
 
     public void setColMedian(BigDecimal colMedian) {
@@ -197,7 +251,11 @@ public class CollegeCourseInfo implements Serializable {
     }
 
     public BigDecimal getColRelativePosition() {
-        return colRelativePosition;
+        if (Objects.nonNull(colRelativePosition)) {
+            return colRelativePosition.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return colRelativePosition;
+        }
     }
 
     public void setColRelativePosition(BigDecimal colRelativePosition) {
@@ -205,7 +263,11 @@ public class CollegeCourseInfo implements Serializable {
     }
 
     public BigDecimal getSchUpperQuartile() {
-        return schUpperQuartile;
+        if (Objects.nonNull(schUpperQuartile)) {
+            return schUpperQuartile.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return schUpperQuartile;
+        }
     }
 
     public void setSchUpperQuartile(BigDecimal schUpperQuartile) {

+ 152 - 18
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourse.java

@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.annotation.TableField;
 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 io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * <p>
@@ -63,6 +65,10 @@ public class TAExamCourse implements Serializable {
     @TableField(value = "inspect_college_count")
     private Integer inspectCollegeCount;
 
+    @ApiModelProperty(value = "考查学院名称(','隔开)")
+    @TableField(value = "inspect_college_names")
+    private String inspectCollegeNames;
+
     @ApiModelProperty(value = "总体平均分")
     @TableField(value = "avg_score")
     private BigDecimal avgScore;
@@ -191,6 +197,54 @@ public class TAExamCourse implements Serializable {
     @TableField(value = "coefficient")
     private BigDecimal coefficient;
 
+    @ApiModelProperty(value = "不及格率")
+    @TableField(exist = false)
+    private String notPassRate;
+
+    @ApiModelProperty(value = "应届不及格率")
+    @TableField(exist = false)
+    private String currentNotPassRate;
+
+    @ApiModelProperty(value = "不及格率人数")
+    @TableField(exist = false)
+    private Integer notPassCount;
+
+    @ApiModelProperty(value = "应届不及格人数")
+    @TableField(exist = false)
+    private Integer currentNotPassCount;
+
+    public String getCurrentNotPassRate() {
+        return currentNotPassRate;
+    }
+
+    public void setCurrentNotPassRate(String currentNotPassRate) {
+        this.currentNotPassRate = currentNotPassRate;
+    }
+
+    public Integer getNotPassCount() {
+        return notPassCount;
+    }
+
+    public void setNotPassCount(Integer notPassCount) {
+        this.notPassCount = notPassCount;
+    }
+
+    public Integer getCurrentNotPassCount() {
+        return currentNotPassCount;
+    }
+
+    public void setCurrentNotPassCount(Integer currentNotPassCount) {
+        this.currentNotPassCount = currentNotPassCount;
+    }
+
+    public String getNotPassRate() {
+        return notPassRate;
+    }
+
+    public void setNotPassRate(String notPassRate) {
+        this.notPassRate = notPassRate;
+    }
+
     public static long getSerialVersionUID() {
         return serialVersionUID;
     }
@@ -268,7 +322,11 @@ public class TAExamCourse implements Serializable {
     }
 
     public BigDecimal getAvgScore() {
-        return avgScore;
+        if (Objects.nonNull(avgScore)) {
+            return avgScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return avgScore;
+        }
     }
 
     public void setAvgScore(BigDecimal avgScore) {
@@ -300,7 +358,11 @@ public class TAExamCourse implements Serializable {
     }
 
     public BigDecimal getCurrentPassRate() {
-        return currentPassRate;
+        if (Objects.nonNull(currentPassRate)) {
+            return currentPassRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return currentPassRate;
+        }
     }
 
     public void setCurrentPassRate(BigDecimal currentPassRate) {
@@ -308,7 +370,11 @@ public class TAExamCourse implements Serializable {
     }
 
     public BigDecimal getTotalScore() {
-        return totalScore;
+        if (Objects.nonNull(totalScore)) {
+            return totalScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return totalScore;
+        }
     }
 
     public void setTotalScore(BigDecimal totalScore) {
@@ -340,7 +406,11 @@ public class TAExamCourse implements Serializable {
     }
 
     public BigDecimal getCurrentMinScore() {
-        return currentMinScore;
+        if (Objects.nonNull(currentMinScore)) {
+            return currentMinScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return currentMinScore;
+        }
     }
 
     public void setCurrentMinScore(BigDecimal currentMinScore) {
@@ -348,7 +418,11 @@ public class TAExamCourse implements Serializable {
     }
 
     public BigDecimal getCurrentMaxScore() {
-        return currentMaxScore;
+        if (Objects.nonNull(currentMaxScore)) {
+            return currentMaxScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return currentMaxScore;
+        }
     }
 
     public void setCurrentMaxScore(BigDecimal currentMaxScore) {
@@ -356,7 +430,11 @@ public class TAExamCourse implements Serializable {
     }
 
     public BigDecimal getCurrentAvgScore() {
-        return currentAvgScore;
+        if (Objects.nonNull(currentAvgScore)) {
+            return currentAvgScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return currentAvgScore;
+        }
     }
 
     public void setCurrentAvgScore(BigDecimal currentAvgScore) {
@@ -364,7 +442,11 @@ public class TAExamCourse implements Serializable {
     }
 
     public BigDecimal getCurrentScoreRate() {
-        return currentScoreRate;
+        if (Objects.nonNull(currentScoreRate)) {
+            return currentScoreRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return currentScoreRate;
+        }
     }
 
     public void setCurrentScoreRate(BigDecimal currentScoreRate) {
@@ -396,7 +478,11 @@ public class TAExamCourse implements Serializable {
     }
 
     public BigDecimal getCurrentRealityRate() {
-        return currentRealityRate;
+        if (Objects.nonNull(currentRealityRate)) {
+            return currentRealityRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return currentRealityRate;
+        }
     }
 
     public void setCurrentRealityRate(BigDecimal currentRealityRate) {
@@ -428,7 +514,11 @@ public class TAExamCourse implements Serializable {
     }
 
     public BigDecimal getPastRealityRate() {
-        return pastRealityRate;
+        if (Objects.nonNull(pastRealityRate)) {
+            return pastRealityRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return pastRealityRate;
+        }
     }
 
     public void setPastRealityRate(BigDecimal pastRealityRate) {
@@ -436,7 +526,11 @@ public class TAExamCourse implements Serializable {
     }
 
     public BigDecimal getCurrentUpperQuartile() {
-        return currentUpperQuartile;
+        if (Objects.nonNull(currentUpperQuartile)) {
+            return currentUpperQuartile.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return currentUpperQuartile;
+        }
     }
 
     public void setCurrentUpperQuartile(BigDecimal currentUpperQuartile) {
@@ -444,7 +538,11 @@ public class TAExamCourse implements Serializable {
     }
 
     public BigDecimal getCurrentMedian() {
-        return currentMedian;
+        if (Objects.nonNull(currentMedian)) {
+            return currentMedian.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return currentMedian;
+        }
     }
 
     public void setCurrentMedian(BigDecimal currentMedian) {
@@ -452,7 +550,11 @@ public class TAExamCourse implements Serializable {
     }
 
     public BigDecimal getCurrentLowerQuartile() {
-        return currentLowerQuartile;
+        if (Objects.nonNull(currentLowerQuartile)) {
+            return currentLowerQuartile.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return currentLowerQuartile;
+        }
     }
 
     public void setCurrentLowerQuartile(BigDecimal currentLowerQuartile) {
@@ -468,7 +570,11 @@ public class TAExamCourse implements Serializable {
     }
 
     public BigDecimal getCurrentStandardDeviation() {
-        return currentStandardDeviation;
+        if (Objects.nonNull(currentStandardDeviation)) {
+            return currentStandardDeviation.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return currentStandardDeviation;
+        }
     }
 
     public void setCurrentStandardDeviation(BigDecimal currentStandardDeviation) {
@@ -484,7 +590,11 @@ public class TAExamCourse implements Serializable {
     }
 
     public BigDecimal getPaperAvgScore() {
-        return paperAvgScore;
+        if (Objects.nonNull(paperAvgScore)) {
+            return paperAvgScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return paperAvgScore;
+        }
     }
 
     public void setPaperAvgScore(BigDecimal paperAvgScore) {
@@ -492,7 +602,11 @@ public class TAExamCourse implements Serializable {
     }
 
     public BigDecimal getPaperCurrentAvgScore() {
-        return paperCurrentAvgScore;
+        if (Objects.nonNull(paperCurrentAvgScore)) {
+            return paperCurrentAvgScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return paperCurrentAvgScore;
+        }
     }
 
     public void setPaperCurrentAvgScore(BigDecimal paperCurrentAvgScore) {
@@ -500,7 +614,11 @@ public class TAExamCourse implements Serializable {
     }
 
     public BigDecimal getPaperPassRate() {
-        return paperPassRate;
+        if (Objects.nonNull(paperPassRate)) {
+            return paperPassRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return paperPassRate;
+        }
     }
 
     public void setPaperPassRate(BigDecimal paperPassRate) {
@@ -508,7 +626,11 @@ public class TAExamCourse implements Serializable {
     }
 
     public BigDecimal getPaperCurrentPassRate() {
-        return paperCurrentPassRate;
+        if (Objects.nonNull(paperCurrentPassRate)) {
+            return paperCurrentPassRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return paperCurrentPassRate;
+        }
     }
 
     public void setPaperCurrentPassRate(BigDecimal paperCurrentPassRate) {
@@ -516,10 +638,22 @@ public class TAExamCourse implements Serializable {
     }
 
     public BigDecimal getCoefficient() {
-        return coefficient;
+        if (Objects.nonNull(coefficient)) {
+            return coefficient.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return coefficient;
+        }
     }
 
     public void setCoefficient(BigDecimal coefficient) {
         this.coefficient = coefficient;
     }
+
+    public String getInspectCollegeNames() {
+        return inspectCollegeNames;
+    }
+
+    public void setInspectCollegeNames(String inspectCollegeNames) {
+        this.inspectCollegeNames = inspectCollegeNames;
+    }
 }

+ 17 - 3
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseClazz.java

@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.annotation.TableField;
 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 io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * <p>
@@ -132,7 +134,11 @@ public class TAExamCourseClazz implements Serializable {
     }
 
     public BigDecimal getMaxScore() {
-        return maxScore;
+        if (Objects.nonNull(maxScore)) {
+            return maxScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return maxScore;
+        }
     }
 
     public void setMaxScore(BigDecimal maxScore) {
@@ -140,7 +146,11 @@ public class TAExamCourseClazz implements Serializable {
     }
 
     public BigDecimal getMinScore() {
-        return minScore;
+        if (Objects.nonNull(minScore)) {
+            return minScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return minScore;
+        }
     }
 
     public void setMinScore(BigDecimal minScore) {
@@ -148,7 +158,11 @@ public class TAExamCourseClazz implements Serializable {
     }
 
     public BigDecimal getAvgScore() {
-        return avgScore;
+        if (Objects.nonNull(avgScore)) {
+            return avgScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return avgScore;
+        }
     }
 
     public void setAvgScore(BigDecimal avgScore) {

+ 41 - 8
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseCollegeInspect.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
 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 io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -153,7 +154,11 @@ public class TAExamCourseCollegeInspect implements Serializable {
     }
 
     public BigDecimal getMaxScore() {
-        return maxScore;
+        if (Objects.nonNull(maxScore)) {
+            return maxScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return maxScore;
+        }
     }
 
     public void setMaxScore(BigDecimal maxScore) {
@@ -161,7 +166,11 @@ public class TAExamCourseCollegeInspect implements Serializable {
     }
 
     public BigDecimal getMinScore() {
-        return minScore;
+        if (Objects.nonNull(minScore)) {
+            return minScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return minScore;
+        }
     }
 
     public void setMinScore(BigDecimal minScore) {
@@ -169,7 +178,11 @@ public class TAExamCourseCollegeInspect implements Serializable {
     }
 
     public BigDecimal getAvgScore() {
-        return avgScore;
+        if (Objects.nonNull(avgScore)) {
+            return avgScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return avgScore;
+        }
     }
 
     public void setAvgScore(BigDecimal avgScore) {
@@ -201,7 +214,11 @@ public class TAExamCourseCollegeInspect implements Serializable {
     }
 
     public BigDecimal getUpperQuartile() {
-        return upperQuartile;
+        if (Objects.nonNull(upperQuartile)) {
+            return upperQuartile.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return upperQuartile;
+        }
     }
 
     public void setUpperQuartile(BigDecimal upperQuartile) {
@@ -209,7 +226,11 @@ public class TAExamCourseCollegeInspect implements Serializable {
     }
 
     public BigDecimal getMedian() {
-        return median;
+        if (Objects.nonNull(median)) {
+            return median.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return median;
+        }
     }
 
     public void setMedian(BigDecimal median) {
@@ -217,7 +238,11 @@ public class TAExamCourseCollegeInspect implements Serializable {
     }
 
     public BigDecimal getLowerQuartile() {
-        return lowerQuartile;
+        if (Objects.nonNull(lowerQuartile)) {
+            return lowerQuartile.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return lowerQuartile;
+        }
     }
 
     public void setLowerQuartile(BigDecimal lowerQuartile) {
@@ -237,7 +262,11 @@ public class TAExamCourseCollegeInspect implements Serializable {
     }
 
     public BigDecimal getStandardDeviation() {
-        return standardDeviation;
+        if (Objects.nonNull(standardDeviation)) {
+            return standardDeviation.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return standardDeviation;
+        }
     }
 
     public void setStandardDeviation(BigDecimal standardDeviation) {
@@ -245,7 +274,11 @@ public class TAExamCourseCollegeInspect implements Serializable {
     }
 
     public BigDecimal getRelativePosition() {
-        return relativePosition;
+        if (Objects.nonNull(relativePosition)) {
+            return relativePosition.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return relativePosition;
+        }
     }
 
     public void setRelativePosition(BigDecimal relativePosition) {

+ 12 - 2
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseCollegeInspectDio.java

@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.annotation.TableField;
 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 io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * <p>
@@ -148,7 +150,11 @@ public class TAExamCourseCollegeInspectDio implements Serializable {
     }
 
     public BigDecimal getAvgScore() {
-        return avgScore;
+        if (Objects.nonNull(avgScore)) {
+            return avgScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return avgScore;
+        }
     }
 
     public void setAvgScore(BigDecimal avgScore) {
@@ -156,7 +162,11 @@ public class TAExamCourseCollegeInspectDio implements Serializable {
     }
 
     public BigDecimal getScoreRate() {
-        return scoreRate;
+        if (Objects.nonNull(scoreRate)) {
+            return scoreRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return scoreRate;
+        }
     }
 
     public void setScoreRate(BigDecimal scoreRate) {

+ 47 - 9
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseCollegeTeacher.java

@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.annotation.TableField;
 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 io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * <p>
@@ -186,7 +188,11 @@ public class TAExamCourseCollegeTeacher implements Serializable {
     }
 
     public BigDecimal getMinScoreAssign() {
-        return minScoreAssign;
+        if (Objects.nonNull(minScoreAssign)) {
+            return minScoreAssign.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return minScoreAssign;
+        }
     }
 
     public void setMinScoreAssign(BigDecimal minScoreAssign) {
@@ -194,7 +200,11 @@ public class TAExamCourseCollegeTeacher implements Serializable {
     }
 
     public BigDecimal getMaxScoreAssign() {
-        return maxScoreAssign;
+        if (Objects.nonNull(maxScoreAssign)) {
+            return maxScoreAssign.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return maxScoreAssign;
+        }
     }
 
     public void setMaxScoreAssign(BigDecimal maxScoreAssign) {
@@ -202,7 +212,11 @@ public class TAExamCourseCollegeTeacher implements Serializable {
     }
 
     public BigDecimal getAvgScoreAssign() {
-        return avgScoreAssign;
+        if (Objects.nonNull(avgScoreAssign)) {
+            return avgScoreAssign.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return avgScoreAssign;
+        }
     }
 
     public void setAvgScoreAssign(BigDecimal avgScoreAssign) {
@@ -210,7 +224,11 @@ public class TAExamCourseCollegeTeacher implements Serializable {
     }
 
     public BigDecimal getAvgScore() {
-        return avgScore;
+        if (Objects.nonNull(avgScore)) {
+            return avgScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return avgScore;
+        }
     }
 
     public void setAvgScore(BigDecimal avgScore) {
@@ -218,7 +236,11 @@ public class TAExamCourseCollegeTeacher implements Serializable {
     }
 
     public BigDecimal getUpperQuartile() {
-        return upperQuartile;
+        if (Objects.nonNull(upperQuartile)) {
+            return upperQuartile.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return upperQuartile;
+        }
     }
 
     public void setUpperQuartile(BigDecimal upperQuartile) {
@@ -226,7 +248,11 @@ public class TAExamCourseCollegeTeacher implements Serializable {
     }
 
     public BigDecimal getMedian() {
-        return median;
+        if (Objects.nonNull(median)) {
+            return median.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return median;
+        }
     }
 
     public void setMedian(BigDecimal median) {
@@ -234,7 +260,11 @@ public class TAExamCourseCollegeTeacher implements Serializable {
     }
 
     public BigDecimal getLowerQuartile() {
-        return lowerQuartile;
+        if (Objects.nonNull(lowerQuartile)) {
+            return lowerQuartile.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return lowerQuartile;
+        }
     }
 
     public void setLowerQuartile(BigDecimal lowerQuartile) {
@@ -250,7 +280,11 @@ public class TAExamCourseCollegeTeacher implements Serializable {
     }
 
     public BigDecimal getStandardDeviation() {
-        return standardDeviation;
+        if (Objects.nonNull(standardDeviation)) {
+            return standardDeviation.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return standardDeviation;
+        }
     }
 
     public void setStandardDeviation(BigDecimal standardDeviation) {
@@ -258,7 +292,11 @@ public class TAExamCourseCollegeTeacher implements Serializable {
     }
 
     public BigDecimal getRelativePosition() {
-        return relativePosition;
+        if (Objects.nonNull(relativePosition)) {
+            return relativePosition.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return relativePosition;
+        }
     }
 
     public void setRelativePosition(BigDecimal relativePosition) {

+ 12 - 2
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseDifficult.java

@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.annotation.TableField;
 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 io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * <p>
@@ -173,7 +175,11 @@ public class TAExamCourseDifficult implements Serializable {
     }
 
     public BigDecimal getSchAvgScoreRate() {
-        return schAvgScoreRate;
+        if (Objects.nonNull(schAvgScoreRate)) {
+            return schAvgScoreRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return schAvgScoreRate;
+        }
     }
 
     public void setSchAvgScoreRate(BigDecimal schAvgScoreRate) {
@@ -181,7 +187,11 @@ public class TAExamCourseDifficult implements Serializable {
     }
 
     public BigDecimal getColAvgScoreRate() {
-        return colAvgScoreRate;
+        if (Objects.nonNull(colAvgScoreRate)) {
+            return colAvgScoreRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return colAvgScoreRate;
+        }
     }
 
     public void setColAvgScoreRate(BigDecimal colAvgScoreRate) {

+ 17 - 3
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseDio.java

@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.annotation.TableField;
 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 io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * <p>
@@ -140,7 +142,11 @@ public class TAExamCourseDio implements Serializable {
     }
 
     public BigDecimal getScoreRate() {
-        return scoreRate;
+        if (Objects.nonNull(scoreRate)) {
+            return scoreRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return scoreRate;
+        }
     }
 
     public void setScoreRate(BigDecimal scoreRate) {
@@ -148,7 +154,11 @@ public class TAExamCourseDio implements Serializable {
     }
 
     public BigDecimal getTotalScore() {
-        return totalScore;
+        if (Objects.nonNull(totalScore)) {
+            return totalScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return totalScore;
+        }
     }
 
     public void setTotalScore(BigDecimal totalScore) {
@@ -156,7 +166,11 @@ public class TAExamCourseDio implements Serializable {
     }
 
     public BigDecimal getTotalCount() {
-        return totalCount;
+        if (Objects.nonNull(totalCount)) {
+            return totalCount.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return totalCount;
+        }
     }
 
     public void setTotalCount(BigDecimal totalCount) {

+ 22 - 4
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseRecord.java

@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.annotation.TableField;
 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 io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * <p>
@@ -143,7 +145,11 @@ public class TAExamCourseRecord implements Serializable {
     }
 
     public BigDecimal getAssignedScore() {
-        return assignedScore;
+        if (Objects.nonNull(assignedScore)) {
+            return assignedScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return assignedScore;
+        }
     }
 
     public void setAssignedScore(BigDecimal assignedScore) {
@@ -183,7 +189,11 @@ public class TAExamCourseRecord implements Serializable {
     }
 
     public BigDecimal getOverCollegeRate() {
-        return overCollegeRate;
+        if (Objects.nonNull(overCollegeRate)) {
+            return overCollegeRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return overCollegeRate;
+        }
     }
 
     public void setOverCollegeRate(BigDecimal overCollegeRate) {
@@ -191,7 +201,11 @@ public class TAExamCourseRecord implements Serializable {
     }
 
     public BigDecimal getStandardizedCoefficients() {
-        return standardizedCoefficients;
+        if (Objects.nonNull(standardizedCoefficients)) {
+            return standardizedCoefficients.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return standardizedCoefficients;
+        }
     }
 
     public void setStandardizedCoefficients(BigDecimal standardizedCoefficients) {
@@ -287,7 +301,11 @@ public class TAExamCourseRecord implements Serializable {
     }
 
     public BigDecimal getTotalScore() {
-        return totalScore;
+        if (Objects.nonNull(totalScore)) {
+            return totalScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return totalScore;
+        }
     }
 
     public void setTotalScore(BigDecimal totalScore) {

+ 12 - 2
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseRecordDio.java

@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.annotation.TableField;
 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 io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * <p>
@@ -148,7 +150,11 @@ public class TAExamCourseRecordDio implements Serializable {
     }
 
     public BigDecimal getStudentScore() {
-        return studentScore;
+        if (Objects.nonNull(studentScore)) {
+            return studentScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return studentScore;
+        }
     }
 
     public void setStudentScore(BigDecimal studentScore) {
@@ -156,7 +162,11 @@ public class TAExamCourseRecordDio implements Serializable {
     }
 
     public BigDecimal getScoreRate() {
-        return scoreRate;
+        if (Objects.nonNull(scoreRate)) {
+            return scoreRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return scoreRate;
+        }
     }
 
     public void setScoreRate(BigDecimal scoreRate) {

+ 17 - 3
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseRecordMod.java

@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.annotation.TableField;
 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 io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * <p>
@@ -143,7 +145,11 @@ public class TAExamCourseRecordMod implements Serializable {
     }
 
     public BigDecimal getTotalScore() {
-        return totalScore;
+        if (Objects.nonNull(totalScore)) {
+            return totalScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return totalScore;
+        }
     }
 
     public void setTotalScore(BigDecimal totalScore) {
@@ -151,7 +157,11 @@ public class TAExamCourseRecordMod implements Serializable {
     }
 
     public BigDecimal getScoreRate() {
-        return scoreRate;
+        if (Objects.nonNull(scoreRate)) {
+            return scoreRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return scoreRate;
+        }
     }
 
     public void setScoreRate(BigDecimal scoreRate) {
@@ -159,7 +169,11 @@ public class TAExamCourseRecordMod implements Serializable {
     }
 
     public BigDecimal getFullScore() {
-        return fullScore;
+        if (Objects.nonNull(fullScore)) {
+            return fullScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return fullScore;
+        }
     }
 
     public void setFullScore(BigDecimal fullScore) {

+ 42 - 8
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseTeacher.java

@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.annotation.TableField;
 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 io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * <p>
@@ -164,7 +166,11 @@ public class TAExamCourseTeacher implements Serializable {
     }
 
     public BigDecimal getMinScore() {
-        return minScore;
+        if (Objects.nonNull(minScore)) {
+            return minScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return minScore;
+        }
     }
 
     public void setMinScore(BigDecimal minScore) {
@@ -172,7 +178,11 @@ public class TAExamCourseTeacher implements Serializable {
     }
 
     public BigDecimal getMaxScore() {
-        return maxScore;
+        if (Objects.nonNull(maxScore)) {
+            return maxScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return maxScore;
+        }
     }
 
     public void setMaxScore(BigDecimal maxScore) {
@@ -180,7 +190,11 @@ public class TAExamCourseTeacher implements Serializable {
     }
 
     public BigDecimal getAvgScore() {
-        return avgScore;
+        if (Objects.nonNull(avgScore)) {
+            return avgScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return avgScore;
+        }
     }
 
     public void setAvgScore(BigDecimal avgScore) {
@@ -188,7 +202,11 @@ public class TAExamCourseTeacher implements Serializable {
     }
 
     public BigDecimal getUpperQuartile() {
-        return upperQuartile;
+        if (Objects.nonNull(upperQuartile)) {
+            return upperQuartile.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return upperQuartile;
+        }
     }
 
     public void setUpperQuartile(BigDecimal upperQuartile) {
@@ -196,7 +214,11 @@ public class TAExamCourseTeacher implements Serializable {
     }
 
     public BigDecimal getMedian() {
-        return median;
+        if (Objects.nonNull(median)) {
+            return median.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return median;
+        }
     }
 
     public void setMedian(BigDecimal median) {
@@ -204,7 +226,11 @@ public class TAExamCourseTeacher implements Serializable {
     }
 
     public BigDecimal getLowerQuartile() {
-        return lowerQuartile;
+        if (Objects.nonNull(lowerQuartile)) {
+            return lowerQuartile.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return lowerQuartile;
+        }
     }
 
     public void setLowerQuartile(BigDecimal lowerQuartile) {
@@ -220,7 +246,11 @@ public class TAExamCourseTeacher implements Serializable {
     }
 
     public BigDecimal getStandardDeviation() {
-        return standardDeviation;
+        if (Objects.nonNull(standardDeviation)) {
+            return standardDeviation.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return standardDeviation;
+        }
     }
 
     public void setStandardDeviation(BigDecimal standardDeviation) {
@@ -228,7 +258,11 @@ public class TAExamCourseTeacher implements Serializable {
     }
 
     public BigDecimal getRelativePosition() {
-        return relativePosition;
+        if (Objects.nonNull(relativePosition)) {
+            return relativePosition.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return relativePosition;
+        }
     }
 
     public void setRelativePosition(BigDecimal relativePosition) {

+ 12 - 2
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseTeacherDifficult.java

@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.annotation.TableField;
 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 io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * <p>
@@ -169,7 +171,11 @@ public class TAExamCourseTeacherDifficult implements Serializable {
     }
 
     public BigDecimal getSchAvgScoreRate() {
-        return schAvgScoreRate;
+        if (Objects.nonNull(schAvgScoreRate)) {
+            return schAvgScoreRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return schAvgScoreRate;
+        }
     }
 
     public void setSchAvgScoreRate(BigDecimal schAvgScoreRate) {
@@ -177,7 +183,11 @@ public class TAExamCourseTeacherDifficult implements Serializable {
     }
 
     public BigDecimal getTeaAvgScoreRate() {
-        return teaAvgScoreRate;
+        if (Objects.nonNull(teaAvgScoreRate)) {
+            return teaAvgScoreRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return teaAvgScoreRate;
+        }
     }
 
     public void setTeaAvgScoreRate(BigDecimal teaAvgScoreRate) {

+ 12 - 2
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseTeacherDio.java

@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.annotation.TableField;
 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 io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * <p>
@@ -148,7 +150,11 @@ public class TAExamCourseTeacherDio implements Serializable {
     }
 
     public BigDecimal getAvgScore() {
-        return avgScore;
+        if (Objects.nonNull(avgScore)) {
+            return avgScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return avgScore;
+        }
     }
 
     public void setAvgScore(BigDecimal avgScore) {
@@ -156,7 +162,11 @@ public class TAExamCourseTeacherDio implements Serializable {
     }
 
     public BigDecimal getScoreRate() {
-        return scoreRate;
+        if (Objects.nonNull(scoreRate)) {
+            return scoreRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return scoreRate;
+        }
     }
 
     public void setScoreRate(BigDecimal scoreRate) {

+ 17 - 3
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAPaperStruct.java

@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.annotation.TableField;
 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 io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * <p>
@@ -213,7 +215,11 @@ public class TAPaperStruct implements Serializable {
     }
 
     public BigDecimal getFullScore() {
-        return fullScore;
+        if (Objects.nonNull(fullScore)) {
+            return fullScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return fullScore;
+        }
     }
 
     public void setFullScore(BigDecimal fullScore) {
@@ -261,7 +267,11 @@ public class TAPaperStruct implements Serializable {
     }
 
     public BigDecimal getScoreRate() {
-        return scoreRate;
+        if (Objects.nonNull(scoreRate)) {
+            return scoreRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return scoreRate;
+        }
     }
 
     public void setScoreRate(BigDecimal scoreRate) {
@@ -277,7 +287,11 @@ public class TAPaperStruct implements Serializable {
     }
 
     public BigDecimal getValidity() {
-        return validity;
+        if (Objects.nonNull(validity)) {
+            return validity.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return validity;
+        }
     }
 
     public void setValidity(BigDecimal validity) {

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

@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.annotation.TableField;
 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 io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * <p>
@@ -114,7 +116,11 @@ public class TBAnswer implements Serializable {
     }
 
     public BigDecimal getScore() {
-        return score;
+        if (Objects.nonNull(score)) {
+            return score.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return score;
+        }
     }
 
     public void setScore(BigDecimal score) {

+ 12 - 2
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TBCommonLevelConfig.java

@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.annotation.TableField;
 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 io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * <p>
@@ -149,7 +151,11 @@ public class TBCommonLevelConfig implements Serializable {
     }
 
     public BigDecimal getMin() {
-        return min;
+        if (Objects.nonNull(min)) {
+            return min.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return min;
+        }
     }
 
     public void setMin(BigDecimal min) {
@@ -157,7 +163,11 @@ public class TBCommonLevelConfig implements Serializable {
     }
 
     public BigDecimal getMax() {
-        return max;
+        if (Objects.nonNull(max)) {
+            return max.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return max;
+        }
     }
 
     public void setMax(BigDecimal max) {

+ 12 - 2
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TBCommonRankLevelConfig.java

@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.annotation.TableField;
 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 io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * <p>
@@ -121,7 +123,11 @@ public class TBCommonRankLevelConfig implements Serializable {
     }
 
     public BigDecimal getMin() {
-        return min;
+        if (Objects.nonNull(min)) {
+            return min.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return min;
+        }
     }
 
     public void setMin(BigDecimal min) {
@@ -129,7 +135,11 @@ public class TBCommonRankLevelConfig implements Serializable {
     }
 
     public BigDecimal getMax() {
-        return max;
+        if (Objects.nonNull(max)) {
+            return max.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return max;
+        }
     }
 
     public void setMax(BigDecimal max) {

+ 17 - 3
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TBExamRecord.java

@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.annotation.TableField;
 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 io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * <p>
@@ -104,7 +106,11 @@ public class TBExamRecord implements Serializable {
     }
 
     public BigDecimal getSubjectiveScore() {
-        return subjectiveScore;
+        if (Objects.nonNull(subjectiveScore)) {
+            return subjectiveScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return subjectiveScore;
+        }
     }
 
     public void setSubjectiveScore(BigDecimal subjectiveScore) {
@@ -112,7 +118,11 @@ public class TBExamRecord implements Serializable {
     }
 
     public BigDecimal getObjectiveScore() {
-        return objectiveScore;
+        if (Objects.nonNull(objectiveScore)) {
+            return objectiveScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return objectiveScore;
+        }
     }
 
     public void setObjectiveScore(BigDecimal objectiveScore) {
@@ -120,7 +130,11 @@ public class TBExamRecord implements Serializable {
     }
 
     public BigDecimal getTotalScore() {
-        return totalScore;
+        if (Objects.nonNull(totalScore)) {
+            return totalScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return totalScore;
+        }
     }
 
     public void setTotalScore(BigDecimal totalScore) {

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

@@ -4,12 +4,14 @@ import com.baomidou.mybatisplus.annotation.TableField;
 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 io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * <p>
@@ -131,7 +133,11 @@ public class TBPaper implements Serializable {
     }
 
     public BigDecimal getCoefficient() {
-        return coefficient;
+        if (Objects.nonNull(coefficient)) {
+            return coefficient.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return coefficient;
+        }
     }
 
     public void setCoefficient(BigDecimal coefficient) {
@@ -139,7 +145,11 @@ public class TBPaper implements Serializable {
     }
 
     public BigDecimal getTotalScore() {
-        return totalScore;
+        if (Objects.nonNull(totalScore)) {
+            return totalScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return totalScore;
+        }
     }
 
     public void setTotalScore(BigDecimal totalScore) {
@@ -147,7 +157,11 @@ public class TBPaper implements Serializable {
     }
 
     public BigDecimal getPassScore() {
-        return passScore;
+        if (Objects.nonNull(passScore)) {
+            return passScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return passScore;
+        }
     }
 
     public void setPassScore(BigDecimal passScore) {

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

@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.annotation.TableField;
 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 io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * <p>
@@ -138,7 +140,11 @@ public class TBPaperStruct implements Serializable {
     }
 
     public BigDecimal getFullScore() {
-        return fullScore;
+        if (Objects.nonNull(fullScore)) {
+            return fullScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return fullScore;
+        }
     }
 
     public void setFullScore(BigDecimal fullScore) {

+ 4 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/enums/PublishStatusEnum.java

@@ -13,6 +13,10 @@ public enum PublishStatusEnum {
 
     UN_COMPUTE("未计算"),
 
+    WILL_COMPUTE("待计算"),
+
+    COMPUTING("计算中"),
+
     UN_PUBLISH("未发布"),
 
     PUBLISH("已发布");

+ 29 - 4
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/AnalyzeForReportService.java

@@ -1,5 +1,7 @@
 package com.qmth.teachcloud.report.business.service;
 
+import com.qmth.teachcloud.report.business.enums.PublishStatusEnum;
+
 /**
  * @Description: 对个人看板的分析
  * @Author: CaoZixuan
@@ -140,11 +142,34 @@ public interface AnalyzeForReportService {
     String buildAnalyzeExamCourseTeacher(Long examId, String courseCode);
 
     /**
-     * 完成计算,更新表 't_b_exam_course'表 已计算
-     *
-     * @param examId     考试id
+     * 更新表 't_b_exam_course'表 状态
+     * @param examId 考试id
      * @param courseCode 课程编号
+     * @param publishStatusEnum 发布状态
      * @return 结果
      */
-    String finishCalculate(Long examId, String courseCode);
+    String updateCoursePublishStatus(Long examId, String courseCode, PublishStatusEnum publishStatusEnum);
+
+
+    /**
+     * 按照初始表及赋分系数进行系统计算,计算结果为待计算
+     * @param examId 考试id
+     * @param courseCode 课程代码
+     */
+    void dataCalculateForSystem(Long examId, String courseCode) throws Exception;
+
+    /**
+     * 按照院长给定的赋分系数进行系统计算
+     * @param examId 考试id
+     * @param courseCode 课程代码
+     */
+    void dataCalculateForDean(Long examId, String courseCode) throws Exception;
+
+    /**
+     * 发布/撤回、报告
+     * @param examId 考试id
+     * @param courseCode 课程编号
+     * @param publishStatusEnum 发布状态
+     */
+    void publishReport(Long examId,String courseCode,PublishStatusEnum publishStatusEnum);
 }

+ 12 - 1
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/ReportCommonService.java

@@ -1,6 +1,7 @@
 package com.qmth.teachcloud.report.business.service;
 
 import com.qmth.teachcloud.report.business.bean.result.*;
+import com.qmth.teachcloud.report.business.entity.TAExamCourse;
 
 import java.util.List;
 
@@ -63,7 +64,7 @@ public interface ReportCommonService {
      * @param teacherId
      * @return
      */
-    QuestionInfoResult findSituationOfQuestions(Long examId, String courseCode, Long collegeId,Long teacherId);
+    QuestionInfoResult findSituationOfQuestions(Long examId, String courseCode, Long collegeId, Long teacherId);
 
     /**
      * 查找老师信息
@@ -84,4 +85,14 @@ public interface ReportCommonService {
      * @return
      */
     QuestionListResult findQuestionInfo(Long examId, String courseCode, Long collegeId);
+
+    /**
+     * 取总体平均分
+     *
+     * @param schoolId
+     * @param courseCode
+     * @param examId
+     * @return
+     */
+    SurveyTeacherExamCourseResult findAvgScore(Long schoolId, String courseCode, Long examId);
 }

+ 5 - 4
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/TAExamCourseCollegeTeacherService.java

@@ -6,6 +6,7 @@ import com.qmth.teachcloud.report.business.bean.result.TAExamCourseTeacherResult
 import com.qmth.teachcloud.report.business.bean.result.TeacherClassRankResult;
 import com.qmth.teachcloud.report.business.bean.result.TeacherMyClassRankResult;
 import com.qmth.teachcloud.report.business.entity.TAExamCourseCollegeTeacher;
+import com.qmth.teachcloud.report.business.enums.SemesterEnum;
 
 import java.util.List;
 
@@ -19,11 +20,11 @@ import java.util.List;
  */
 public interface TAExamCourseCollegeTeacherService extends IService<TAExamCourseCollegeTeacher> {
 
-    IPage<TeacherClassRankResult> listClassRank(String semester, Long examId, String courseCode, Long inspectCollegeId, Integer pageNumber, Integer pageSize);
+    IPage<TeacherClassRankResult> listClassRank(SemesterEnum semester, Long examId, String courseCode, Long inspectCollegeId, Integer pageNumber, Integer pageSize);
 
-    IPage<TeacherMyClassRankResult> listMyClassRank(String semester, Long examId, String courseCode, Long inspectCollegeId, Integer pageNumber, Integer pageSize);
+    IPage<TeacherMyClassRankResult> listMyClassRank(SemesterEnum semester, Long examId, String courseCode, Long inspectCollegeId, Integer pageNumber, Integer pageSize);
 
-    IPage<TeacherClassRankResult> listAllTeacherClassRank(String semester, Long examId, Long teachCollegeId, String courseCode, Long teacherId, Integer pageNumber, Integer pageSize);
+    IPage<TeacherClassRankResult> listAllTeacherClassRank(SemesterEnum semester, Long examId, Long teachCollegeId, String courseCode, Long teacherId, Integer pageNumber, Integer pageSize);
 
     /**
      * 查询老师得分
@@ -35,5 +36,5 @@ public interface TAExamCourseCollegeTeacherService extends IService<TAExamCourse
      */
     List<TAExamCourseTeacherResult> findTeacherInfo(Long examId, String courseCode, Long collegeId);
 
-    IPage<TeacherClassRankResult> listTeacherClassRank(String semester, Long examId, String courseCode, Integer pageNumber, Integer pageSize);
+    IPage<TeacherClassRankResult> listTeacherClassRank(SemesterEnum semester, Long examId, String courseCode, Integer pageNumber, Integer pageSize);
 }

+ 2 - 2
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/TAExamCourseService.java

@@ -32,7 +32,7 @@ public interface TAExamCourseService extends IService<TAExamCourse> {
     IPage<TAExamCourseResult> surveyTeacherList(IPage<Map> iPage, Long examId, SemesterEnum semester, Long schoolId);
 
 
-    ExamCourseResult getOverview(String semester, Long examId, String courseCode);
+    ExamCourseResult getOverview(SemesterEnum semester, Long examId, String courseCode);
 
     /**
      * 赋分管理列表接口
@@ -47,7 +47,7 @@ public interface TAExamCourseService extends IService<TAExamCourse> {
      */
     IPage<TAExamCourseResult> surveyAspointsList(IPage<Map> iPage, Long schoolId, Long examId, String courseCode, PublishStatusEnum publishStatus, SemesterEnum semester);
 
-    Map<String, Object> getGradeDistribute(String semester, Long examId, String courseCode);
+    Map<String, Object> getGradeDistribute(SemesterEnum semester, Long examId, String courseCode);
 
     /**
      * 考查课程考试分析接口

+ 5 - 4
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/TAExamTotalService.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.teachcloud.report.business.entity.TAExamCourse;
 import com.qmth.teachcloud.report.business.entity.TAExamTotal;
+import com.qmth.teachcloud.report.business.enums.SemesterEnum;
 
 import javax.servlet.http.HttpServletResponse;
 
@@ -17,11 +18,11 @@ import javax.servlet.http.HttpServletResponse;
  */
 public interface TAExamTotalService extends IService<TAExamTotal> {
 
-    TAExamTotal getOverview(String semester, Long examId);
+    TAExamTotal getOverview(SemesterEnum semester, Long examId);
 
-    IPage<TAExamCourse> getCourseSummary(String semester, Long examId, Integer pageNumber, Integer pageSize);
+    IPage<TAExamCourse> getCourseSummary(SemesterEnum semester, Long examId, Integer pageNumber, Integer pageSize);
 
-    void exportCourseSummary(String semester, Long examId, HttpServletResponse response) throws Exception;
+    void exportCourseSummary(SemesterEnum semester, Long examId, HttpServletResponse response) throws Exception;
 
-    void exportDataAnalysis(String semester, Long examId, String courseCode, HttpServletResponse response);
+    void exportDataAnalysis(SemesterEnum semester, Long examId, String courseCode, HttpServletResponse response);
 }

+ 78 - 2
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/AnalyzeForReportServiceImpl.java

@@ -19,6 +19,7 @@ import com.qmth.teachcloud.report.business.service.*;
 import com.qmth.teachcloud.report.business.utils.AnalyzeScopeUtil;
 import com.qmth.teachcloud.report.business.utils.ConversionUtils;
 import com.qmth.teachcloud.report.business.utils.MathUtil;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -253,6 +254,12 @@ public class AnalyzeForReportServiceImpl implements AnalyzeForReportService {
                 teachCollegeName = tbSchoolCollege.getName();
             }
             int inspectCollegeCount = inspectCollegeIdList.size();
+            if (inspectCollegeIdList.size() == 0){
+                throw ExceptionResultEnum.ERROR.exception("没有考察学院");
+            }
+            List<SysOrg> sysOrgList = sysOrgService.listByIds(inspectCollegeIdList);
+            String inspectCollegeNames = StringUtils.join(sysOrgList.stream().map(SysOrg::getName).collect(Collectors.toList()),'、');
+
 
             /*
                 组装
@@ -268,6 +275,7 @@ public class AnalyzeForReportServiceImpl implements AnalyzeForReportService {
             taExamCourse.setTeachCollegeId(teachCollegeId);
             taExamCourse.setTeachCollegeName(teachCollegeName);
             taExamCourse.setInspectCollegeCount(inspectCollegeCount);
+            taExamCourse.setInspectCollegeNames(inspectCollegeNames);
             taExamCourse.setAvgScore(BigDecimal.valueOf(avgScore));
             taExamCourse.setPassCount((int) passCount);
             taExamCourse.setPassRate(passRate);
@@ -1383,7 +1391,7 @@ public class AnalyzeForReportServiceImpl implements AnalyzeForReportService {
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public String finishCalculate(Long examId, String courseCode) {
+    public String updateCoursePublishStatus(Long examId, String courseCode,PublishStatusEnum publishStatusEnum ) {
         // 可分析有效课程信息
         List<String> effectiveCourseCodeList = tbExamCourseService.findEffectiveByExamId(examId, courseCode);
         List<TBExamCourse> tbExamCourseList = new ArrayList<>();
@@ -1391,13 +1399,81 @@ public class AnalyzeForReportServiceImpl implements AnalyzeForReportService {
             TBExamCourse tbExamCourse = tbExamCourseService.getOne(new QueryWrapper<TBExamCourse>().lambda()
                     .eq(TBExamCourse::getExamId, examId)
                     .eq(TBExamCourse::getCourseCode, effectiveCourseCode));
-            tbExamCourse.setPublishStatus(PublishStatusEnum.UN_PUBLISH);
+            tbExamCourse.setPublishStatus(publishStatusEnum);
             tbExamCourseList.add(tbExamCourse);
         }
         tbExamCourseService.updateBatchById(tbExamCourseList);
         return " 't_b_exam_course' 表状态更新完成";
     }
 
+    @Override
+    public void dataCalculateForSystem(Long examId, String courseCode) throws Exception {
+        this.verifyComputing(examId, courseCode);
+        this.updateCoursePublishStatus(examId, courseCode,PublishStatusEnum.COMPUTING);
+        this.dataCalculate(examId, courseCode);
+        this.updateCoursePublishStatus(examId, courseCode,PublishStatusEnum.WILL_COMPUTE);
+    }
+
+    @Override
+    public void dataCalculateForDean(Long examId, String courseCode) throws Exception {
+        this.verifyComputing(examId, courseCode);
+        this.updateCoursePublishStatus(examId, courseCode,PublishStatusEnum.COMPUTING);
+        this.dataCalculate(examId, courseCode);
+        this.updateCoursePublishStatus(examId, courseCode,PublishStatusEnum.UN_PUBLISH);
+    }
+
+    @Override
+    public void publishReport(Long examId, String courseCode, PublishStatusEnum publishStatusEnum) {
+        TBExamCourse tbExamCourse = tbExamCourseService.getOne(new QueryWrapper<TBExamCourse>().lambda()
+                .eq(TBExamCourse::getExamId,examId)
+                .eq(TBExamCourse::getCourseCode,courseCode));
+        PublishStatusEnum status = tbExamCourse.getPublishStatus();
+        if (publishStatusEnum.equals(PublishStatusEnum.PUBLISH) && status.equals(PublishStatusEnum.UN_PUBLISH)){
+            // 待发布状态 -》 发布
+            tbExamCourse.setPublishStatus(publishStatusEnum);
+        }else if (publishStatusEnum.equals(PublishStatusEnum.UN_PUBLISH) && status.equals(PublishStatusEnum.PUBLISH)){
+            // 发布状态 -》 撤回
+            tbExamCourse.setPublishStatus(publishStatusEnum);
+        }else {
+            String statusDesc = "未明确的操作";
+            if (publishStatusEnum.equals(PublishStatusEnum.PUBLISH)){
+                statusDesc = "发布";
+            }else if (publishStatusEnum.equals(PublishStatusEnum.UN_PUBLISH)){
+                statusDesc = "撤回";
+            }
+            throw ExceptionResultEnum.ERROR.exception("【" + status + "】状态的课程无法进行" + "【" + statusDesc + "】" );
+        }
+    }
+
+    private void dataCalculate(Long examId,String courseCode) throws Exception {
+        this.buildAnalyzeExamCourse(examId,courseCode);
+        this.buildAnalyzeExamCourseRecord(examId, courseCode);
+        this.buildAnalyzeExamCourseCollegeInspect(examId, courseCode);
+        this.buildAnalyzeExamCourseClazz(examId, courseCode);
+        this.AnalyzePointScoreRate(examId, courseCode);
+        this.buildAnalyzeExamCourseCollegeInspectDio(examId, courseCode);
+        this.buildAnalyzeExamCourseTeacherDio(examId, courseCode);
+        this.buildAnalyzePaperStruct(examId, courseCode);
+        this.buildExamPaperDifficult(examId, courseCode);
+        this.buildExamPaperTeacherDifficult(examId, courseCode);
+        this.buildAnalyzeExamTotal(examId);
+        this.buildAnalyzeExamCourseCollegeTeacher(examId, courseCode);
+        this.buildAnalyzeExamCourseTeacher(examId, courseCode);
+    }
+
+    private void verifyComputing(Long examId,String courseCode){
+        List<String> effectiveCourseCodeList = tbExamCourseService.findEffectiveByExamId(examId, courseCode);
+        for (String effectiveCourseCode : effectiveCourseCodeList) {
+            TBExamCourse tbExamCourse = tbExamCourseService.getOne(new QueryWrapper<TBExamCourse>().lambda()
+                    .eq(TBExamCourse::getExamId, examId)
+                    .eq(TBExamCourse::getCourseCode, effectiveCourseCode));
+            PublishStatusEnum publishStatusEnum = tbExamCourse.getPublishStatus();
+            if (publishStatusEnum.equals(PublishStatusEnum.COMPUTING)){
+                throw ExceptionResultEnum.ERROR.exception("计算中的课程无法再计算 课程【" +tbExamCourse.getCourseName() + "】");
+            }
+        }
+    }
+
     /**
      * 计算百分位等级
      *

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

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.google.gson.Gson;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.report.business.bean.result.*;
+import com.qmth.teachcloud.report.business.entity.TAExamCourse;
 import com.qmth.teachcloud.report.business.entity.TBDimension;
 import com.qmth.teachcloud.report.business.entity.TBPaper;
 import com.qmth.teachcloud.report.business.enums.GradeScopeEnum;
@@ -16,6 +17,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -54,6 +56,9 @@ public class ReportCommonServiceImpl implements ReportCommonService {
     @Resource
     TBPaperStructService tbPaperStructService;
 
+    @Resource
+    TAExamCourseService taExamCourseService;
+
     /**
      * 学院学科报表查询科目信息
      *
@@ -218,7 +223,6 @@ public class ReportCommonServiceImpl implements ReportCommonService {
      */
     @Override
     public List<SurveyTeacherGradeDistributionResult> surveyTeacherDistribution(Long examId, String courseCode, Long collegeId) {
-        //TODO 待添加
         List<SurveyTeacherDistributionResult> surveyTeacherDistributionResultList = taExamCourseRecordService.surveyTeacherDistribution(examId, courseCode);
         if (surveyTeacherDistributionResultList.size() < 1) {
             throw ExceptionResultEnum.DATA_ERROR.exception();
@@ -465,4 +469,30 @@ public class ReportCommonServiceImpl implements ReportCommonService {
         }
         return new QuestionListResult(questionList);
     }
+
+    /**
+     * 取总体平均分
+     *
+     * @param schoolId
+     * @param courseCode
+     * @param examId
+     * @return
+     */
+    @Override
+    public SurveyTeacherExamCourseResult findAvgScore(Long schoolId, String courseCode, Long examId) {
+        //取总体和应届平均分
+        QueryWrapper<TAExamCourse> taExamCourseQueryWrapper = new QueryWrapper<>();
+        if (Objects.nonNull(schoolId)) {
+            taExamCourseQueryWrapper.lambda().eq(TAExamCourse::getSchoolId, schoolId);
+        }
+        if (Objects.nonNull(examId)) {
+            taExamCourseQueryWrapper.lambda().eq(TAExamCourse::getExamId, examId);
+        }
+        if (Objects.nonNull(courseCode)) {
+            taExamCourseQueryWrapper.lambda().eq(TAExamCourse::getCourseCode, courseCode);
+        }
+        TAExamCourse taExamCourse = taExamCourseService.getOne(taExamCourseQueryWrapper);
+        BigDecimal bigDecimal = new BigDecimal(1);
+        return new SurveyTeacherExamCourseResult(taExamCourse.getAvgScore(), bigDecimal.subtract(taExamCourse.getPassRate()), taExamCourse.getPaperCurrentAvgScore(), bigDecimal.subtract(taExamCourse.getPaperPassRate()));
+    }
 }

+ 10 - 8
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamCourseCollegeTeacherServiceImpl.java

@@ -9,12 +9,14 @@ import com.qmth.teachcloud.report.business.bean.result.TAExamCourseTeacherResult
 import com.qmth.teachcloud.report.business.bean.result.TeacherClassRankResult;
 import com.qmth.teachcloud.report.business.bean.result.TeacherMyClassRankResult;
 import com.qmth.teachcloud.report.business.entity.TAExamCourseCollegeTeacher;
+import com.qmth.teachcloud.report.business.enums.SemesterEnum;
 import com.qmth.teachcloud.report.business.mapper.TAExamCourseCollegeTeacherMapper;
 import com.qmth.teachcloud.report.business.service.TAExamCourseCollegeTeacherService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * <p>
@@ -31,27 +33,27 @@ public class TAExamCourseCollegeTeacherServiceImpl extends ServiceImpl<TAExamCou
     private TAExamCourseCollegeTeacherMapper taExamCourseCollegeTeacherMapper;
 
     @Override
-    public IPage<TeacherClassRankResult> listClassRank(String semester, Long examId, String courseCode, Long inspectCollegeId, Integer pageNumber, Integer pageSize) {
+    public IPage<TeacherClassRankResult> listClassRank(SemesterEnum semester, Long examId, String courseCode, Long inspectCollegeId, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         Page<TeacherClassRankResult> page = new Page<>(pageNumber, pageSize);
-        IPage<TeacherClassRankResult> listPage = taExamCourseCollegeTeacherMapper.listClassRank(page, schoolId, semester, examId, courseCode, inspectCollegeId);
+        IPage<TeacherClassRankResult> listPage = taExamCourseCollegeTeacherMapper.listClassRank(page, schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, courseCode, inspectCollegeId);
         return listPage;
     }
 
     @Override
-    public IPage<TeacherMyClassRankResult> listMyClassRank(String semester, Long examId, String courseCode, Long inspectCollegeId, Integer pageNumber, Integer pageSize) {
+    public IPage<TeacherMyClassRankResult> listMyClassRank(SemesterEnum semester, Long examId, String courseCode, Long inspectCollegeId, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         Page<TeacherMyClassRankResult> page = new Page<>(pageNumber, pageSize);
-        IPage<TeacherMyClassRankResult> listPage = taExamCourseCollegeTeacherMapper.listMyClassRank(page, schoolId, semester, examId, sysUser.getId(), courseCode, inspectCollegeId);
+        IPage<TeacherMyClassRankResult> listPage = taExamCourseCollegeTeacherMapper.listMyClassRank(page, schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, sysUser.getId(), courseCode, inspectCollegeId);
         return listPage;
     }
 
     @Override
-    public IPage<TeacherClassRankResult> listAllTeacherClassRank(String semester, Long examId, Long teachCollegeId, String courseCode, Long teacherId, Integer pageNumber, Integer pageSize) {
+    public IPage<TeacherClassRankResult> listAllTeacherClassRank(SemesterEnum semester, Long examId, Long teachCollegeId, String courseCode, Long teacherId, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         Page<TeacherClassRankResult> page = new Page<>(pageNumber, pageSize);
-        IPage<TeacherClassRankResult> listPage = taExamCourseCollegeTeacherMapper.listAllTeacherClassRank(page, schoolId, semester, examId, teachCollegeId, courseCode, teacherId);
+        IPage<TeacherClassRankResult> listPage = taExamCourseCollegeTeacherMapper.listAllTeacherClassRank(page, schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, teachCollegeId, courseCode, teacherId);
         return listPage;
     }
 
@@ -69,10 +71,10 @@ public class TAExamCourseCollegeTeacherServiceImpl extends ServiceImpl<TAExamCou
     }
 
     @Override
-    public IPage<TeacherClassRankResult> listTeacherClassRank(String semester, Long examId, String courseCode, Integer pageNumber, Integer pageSize) {
+    public IPage<TeacherClassRankResult> listTeacherClassRank(SemesterEnum semester, Long examId, String courseCode, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         Page<TeacherClassRankResult> page = new Page<>(pageNumber, pageSize);
-        IPage<TeacherClassRankResult> listPage = taExamCourseCollegeTeacherMapper.listTeacherClassRank(page, schoolId, semester, examId, courseCode);
+        IPage<TeacherClassRankResult> listPage = taExamCourseCollegeTeacherMapper.listTeacherClassRank(page, schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, courseCode);
         return listPage;
     }
 }

+ 24 - 48
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamCourseServiceImpl.java

@@ -18,7 +18,6 @@ import com.qmth.teachcloud.report.business.mapper.TAExamCourseRecordMapper;
 import com.qmth.teachcloud.report.business.service.ReportCommonService;
 import com.qmth.teachcloud.report.business.service.TAExamCourseService;
 import com.qmth.teachcloud.report.business.service.TBPaperService;
-import com.qmth.teachcloud.report.business.service.TBPaperStructService;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
 
@@ -66,9 +65,9 @@ public class TAExamCourseServiceImpl extends ServiceImpl<TAExamCourseMapper, TAE
 
 
     @Override
-    public ExamCourseResult getOverview(String semester, Long examId, String courseCode) {
+    public ExamCourseResult getOverview(SemesterEnum semester, Long examId, String courseCode) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
-        return taExamCourseMapper.getOverview(schoolId, semester, examId, courseCode);
+        return taExamCourseMapper.getOverview(schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, courseCode);
     }
 
     /**
@@ -88,34 +87,23 @@ public class TAExamCourseServiceImpl extends ServiceImpl<TAExamCourseMapper, TAE
     }
 
     @Override
-    public Map<String, Object> getGradeDistribute(String semester, Long examId, String courseCode) {
+    public Map<String, Object> getGradeDistribute(SemesterEnum semester, Long examId, String courseCode) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         Map<String, Object> map = new HashMap<>();
-        // 不及格率
-        Map<String, String> scoreAndRate = taExamCourseMapper.getScoreAndRate(schoolId, semester, examId, courseCode);
-        map.put("scoreAndRate", scoreAndRate);
-        // 成绩正态分布
-        String[] strings = {"90~100", "80~89", "70~79", "60~69", "55~59", "1~54"};
+        //取总体和应届平均分
+        SurveyTeacherExamCourseResult surveyTeacherExamCourseResult = reportCommonService.findAvgScore(schoolId, courseCode, examId);
+        map.put("scoreAndRate", surveyTeacherExamCourseResult);
+        //学院学科报表科目描述
         List<Map<String, Object>> mapList = new ArrayList<>();
-        for (String string : strings) {
-            String[] str = string.split("~");
-            double startScore = Double.parseDouble(str[0]);
-            double endScore = Double.parseDouble(str[1]);
-            List<TAExamCourseRecord> taExamCourseRecords = taExamCourseRecordMapper.listExamCourseRecord(schoolId, semester, examId, courseCode);
-            // 全部有效人数
-            long totalRealityCount = taExamCourseRecords.stream().filter(m -> Objects.nonNull(m.getAbsent()) && !m.getAbsent()).count();
-            // 本分数段人数
-            long totalScoreCount = taExamCourseRecords.stream().filter(m -> m.getAssignedScore().doubleValue() >= startScore && m.getAssignedScore().doubleValue() <= endScore).count();
-            // 应届有效人数
-            long totalCurrentCount = taExamCourseRecords.stream().filter(m -> Objects.nonNull(m.getAbsent()) && !m.getAbsent() && Objects.nonNull(m.getStudentCurrent()) && m.getStudentCurrent()).count();
-            // 本分数段应届有效人数
-            long totalScoreCurrentCount = taExamCourseRecords.stream().filter(m -> m.getStudentCurrent() && m.getAssignedScore().doubleValue() >= startScore && m.getAssignedScore().doubleValue() <= endScore).count();
+        List<SurveyTeacherGradeDistributionResult> surveyTeacherGradeDistributionResultList = reportCommonService.surveyTeacherDistribution(examId, courseCode, sysUser.getOrgId());
+        for (SurveyTeacherGradeDistributionResult s : surveyTeacherGradeDistributionResultList) {
             Map<String, Object> objectMap = new HashMap<>();
-            objectMap.put("scores", String.join(",", str));
-            objectMap.put("totalRealityCount", totalRealityCount);
-            objectMap.put("totalRate", totalRealityCount == 0 ? 0 : new BigDecimal(totalScoreCount * 100).divide(new BigDecimal(totalRealityCount), 1, BigDecimal.ROUND_HALF_UP));
-            objectMap.put("currentRealityCount", totalCurrentCount);
-            objectMap.put("currentRate", totalCurrentCount == 0 ? 0 : new BigDecimal(totalScoreCurrentCount * 100).divide(new BigDecimal(totalCurrentCount), 1, BigDecimal.ROUND_HALF_UP));
+            objectMap.put("scores", String.join(",", s.getDescribe()));
+            objectMap.put("totalRate", s.getAllCountRateAfter());
+            objectMap.put("totalRealityCount", s.getAllCountBefore());
+            objectMap.put("currentRealityCount", s.getCurrentCountRateAfter());
+            objectMap.put("currentRate", s.getCurrentCountAfter());
             mapList.add(objectMap);
         }
         map.put("grades", mapList);
@@ -172,19 +160,7 @@ public class TAExamCourseServiceImpl extends ServiceImpl<TAExamCourseMapper, TAE
             throw ExceptionResultEnum.NOT_LOGIN.exception();
         }
         //取总体和应届平均分
-        QueryWrapper<TAExamCourse> taExamCourseQueryWrapper = new QueryWrapper<>();
-        if (Objects.nonNull(schoolId)) {
-            taExamCourseQueryWrapper.lambda().eq(TAExamCourse::getSchoolId, schoolId);
-        }
-        if (Objects.nonNull(examId)) {
-            taExamCourseQueryWrapper.lambda().eq(TAExamCourse::getExamId, examId);
-        }
-        if (Objects.nonNull(courseCode)) {
-            taExamCourseQueryWrapper.lambda().eq(TAExamCourse::getCourseCode, courseCode);
-        }
-        TAExamCourse taExamCourse = this.getOne(taExamCourseQueryWrapper);
-        BigDecimal bigDecimal = new BigDecimal(1);
-        SurveyTeacherExamCourseResult surveyTeacherExamCourseResult = new SurveyTeacherExamCourseResult(taExamCourse.getAvgScore(), bigDecimal.subtract(taExamCourse.getPassRate()), taExamCourse.getPaperCurrentAvgScore(), bigDecimal.subtract(taExamCourse.getPaperPassRate()));
+        SurveyTeacherExamCourseResult surveyTeacherExamCourseResult = reportCommonService.findAvgScore(schoolId, courseCode, examId);
 
         //学院学科报表科目描述
         List<SurveyTeacherGradeDistributionResult> surveyTeacherGradeDistributionResultList = reportCommonService.surveyTeacherDistribution(examId, courseCode, sysUser.getOrgId());
@@ -301,20 +277,20 @@ public class TAExamCourseServiceImpl extends ServiceImpl<TAExamCourseMapper, TAE
         trialCalculationResult.setTotalCount(totalCount);
         trialCalculationResult.setCurrentCount(currentCount);
         // - 卷面-总体
-        trialCalculationResult.setAvgScore(BigDecimal.valueOf(paperTotalAvgScore));
-        trialCalculationResult.setFailRate(paperTotalFailRate);
+        trialCalculationResult.setAvgScore(BigDecimal.valueOf(paperTotalAvgScore).setScale(1, BigDecimal.ROUND_HALF_UP));
+        trialCalculationResult.setFailRate(paperTotalFailRate.setScale(1, BigDecimal.ROUND_HALF_UP));
         trialCalculationResult.setFailCount((int) paperTotalFailCount);
         // - 卷面-应届
-        trialCalculationResult.setCurrentAvgScore(BigDecimal.valueOf(paperCurrentAvgScore));
-        trialCalculationResult.setCurrentFailRate(paperCurrentFailRate);
+        trialCalculationResult.setCurrentAvgScore(BigDecimal.valueOf(paperCurrentAvgScore).setScale(1, BigDecimal.ROUND_HALF_UP));
+        trialCalculationResult.setCurrentFailRate(paperCurrentFailRate.setScale(1, BigDecimal.ROUND_HALF_UP));
         trialCalculationResult.setCurrentFailCount((int) paperCurrentFailCount);
         // - 赋分-总体
-        trialCalculationResult.setAvgScoreAssign(BigDecimal.valueOf(totalAvgScore));
-        trialCalculationResult.setFailRateAssign(totalFailRate);
+        trialCalculationResult.setAvgScoreAssign(BigDecimal.valueOf(totalAvgScore).setScale(1, BigDecimal.ROUND_HALF_UP));
+        trialCalculationResult.setFailRateAssign(totalFailRate.setScale(1, BigDecimal.ROUND_HALF_UP));
         trialCalculationResult.setFailCountAssign((int) totalFailCount);
         // - 赋分-应届
-        trialCalculationResult.setCurrentAvgScoreAssign(BigDecimal.valueOf(currentAvgScore));
-        trialCalculationResult.setCurrentFailRateAssign(currentFailRate);
+        trialCalculationResult.setCurrentAvgScoreAssign(BigDecimal.valueOf(currentAvgScore).setScale(1, BigDecimal.ROUND_HALF_UP));
+        trialCalculationResult.setCurrentFailRateAssign(currentFailRate.setScale(1, BigDecimal.ROUND_HALF_UP));
         trialCalculationResult.setCurrentFailCountAssign((int) currentFailCount);
 
         return trialCalculationResult;

+ 17 - 7
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamTotalServiceImpl.java

@@ -3,17 +3,24 @@ package com.qmth.teachcloud.report.business.service.impl;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.common.reflect.TypeToken;
+import com.google.gson.Gson;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.util.ExcelUtil;
+import com.qmth.teachcloud.common.util.JacksonUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
+import com.qmth.teachcloud.report.business.bean.dto.excel.TAExamCourseDto;
 import com.qmth.teachcloud.report.business.entity.TAExamCourse;
 import com.qmth.teachcloud.report.business.entity.TAExamTotal;
+import com.qmth.teachcloud.report.business.enums.SemesterEnum;
 import com.qmth.teachcloud.report.business.mapper.TAExamTotalMapper;
 import com.qmth.teachcloud.report.business.service.TAExamTotalService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.Objects;
 
 /**
  * <p>
@@ -33,27 +40,30 @@ public class TAExamTotalServiceImpl extends ServiceImpl<TAExamTotalMapper, TAExa
     TAExamTotalService taExamTotalService;
 
     @Override
-    public TAExamTotal getOverview(String semester, Long examId) {
+    public TAExamTotal getOverview(SemesterEnum semester, Long examId) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
-        return taExamTotalMapper.getOverview(schoolId, semester, examId);
+        return taExamTotalMapper.getOverview(schoolId, Objects.nonNull(semester) ? semester.name() : null, examId);
     }
 
     @Override
-    public IPage<TAExamCourse> getCourseSummary(String semester, Long examId, Integer pageNumber, Integer pageSize) {
+    public IPage<TAExamCourse> getCourseSummary(SemesterEnum semester, Long examId, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         Page<TAExamCourse> page = new Page<>(pageNumber, pageSize);
-        IPage<TAExamCourse> listPage = taExamTotalMapper.getCourseSummary(page, schoolId, semester, examId);
+        IPage<TAExamCourse> listPage = taExamTotalMapper.getCourseSummary(page, schoolId, Objects.nonNull(semester) ? semester.name() : null, examId);
         return listPage;
     }
 
     @Override
-    public void exportCourseSummary(String semester, Long examId, HttpServletResponse response) throws Exception {
+    public void exportCourseSummary(SemesterEnum semester, Long examId, HttpServletResponse response) throws Exception {
         IPage<TAExamCourse> taExamCourseIPage = taExamTotalService.getCourseSummary(semester, examId, SystemConstant.PAGE_NUMBER, SystemConstant.PAGE_SIZE);
-        ExcelUtil.excelExport("课程分析", TAExamCourse.class, taExamCourseIPage.getRecords(), response);
+        Gson gson = new Gson();
+        List<TAExamCourseDto> examStudentCourseDtoList = gson.fromJson(JacksonUtil.parseJson(taExamCourseIPage.getRecords()), new TypeToken<List<TAExamCourseDto>>() {
+        }.getType());
+        ExcelUtil.excelExport("课程分析", TAExamCourseDto.class, examStudentCourseDtoList, response);
     }
 
     @Override
-    public void exportDataAnalysis(String semester, Long examId, String courseCode, HttpServletResponse response) {
+    public void exportDataAnalysis(SemesterEnum semester, Long examId, String courseCode, HttpServletResponse response) {
 
     }
 }

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

@@ -59,13 +59,16 @@ public class TBExamCourseServiceImpl extends ServiceImpl<TBExamCourseMapper, TBE
         TBExamCourse tbExamCourse = tbExamCourseList.get(0);
         TestStatusEnum testStatusEnum = tbExamCourse.getTestStatus();
         PublishStatusEnum publishStatusEnum = tbExamCourse.getPublishStatus();
-        return testStatusEnum.equals(TestStatusEnum.TEST) || testStatusEnum.equals(TestStatusEnum.CHECKED) || publishStatusEnum.equals(PublishStatusEnum.PUBLISH);
+        return testStatusEnum.equals(TestStatusEnum.TEST) || testStatusEnum.equals(TestStatusEnum.CHECKED) ||
+                publishStatusEnum.equals(PublishStatusEnum.PUBLISH) || publishStatusEnum.equals(PublishStatusEnum.COMPUTING);
     }
 
     @Override
     public List<String> findEffectiveByExamId(Long examId, String courseCode) {
         List<PublishStatusEnum> publishStatusEnumList = new ArrayList<>();
         publishStatusEnumList.add(PublishStatusEnum.UN_COMPUTE);
+        publishStatusEnumList.add(PublishStatusEnum.WILL_COMPUTE);
+        publishStatusEnumList.add(PublishStatusEnum.COMPUTING);
         publishStatusEnumList.add(PublishStatusEnum.UN_PUBLISH);
 
         List<TBExamCourse> effectiveCourseList = this.list(new QueryWrapper<TBExamCourse>().lambda()

+ 6 - 5
teachcloud-report-business/src/main/resources/mapper/TAExamCourseCollegeTeacherMapper.xml

@@ -12,7 +12,7 @@
             a.teach_college_name teachCollegeName,
             round(a.avg_score, 1) avgScore,
             round(a.avg_score_assign, 1) avgScoreAssign,
-            a.teacher_rank rank
+            a.teacher_rank `rank`
         FROM
             t_a_exam_course_college_teacher a
                 LEFT JOIN
@@ -44,7 +44,7 @@
             a.teach_college_name teachCollegeName,
             round(a.avg_score, 1) avgScore,
             a.teacher_count teacherCount,
-            a.teacher_rank rank
+            a.teacher_rank `rank`
         FROM
             t_a_exam_course_college_teacher a
                 LEFT JOIN
@@ -76,7 +76,7 @@
             a.course_name courseName,
             a.teacher_name teacherName,
             round(a.avg_score_assign, 1) avgScoreAssign,
-            a.teacher_rank rank
+            a.teacher_rank `rank`
         FROM
             t_a_exam_course_college_teacher a
                 LEFT JOIN
@@ -149,10 +149,10 @@
     <select id="listTeacherClassRank"
             resultType="com.qmth.teachcloud.report.business.bean.result.TeacherClassRankResult">
         SELECT
-        a.teach_college_name teachCollegeName,
+        a.inspect_college_name inspectCollegeName,
         a.teacher_name teacherName,
         round(a.avg_score_assign, 1) avgScoreAssign,
-        a.teacher_rank rank
+        a.teacher_rank `rank`
         FROM
         t_a_exam_course_college_teacher a
         LEFT JOIN
@@ -169,5 +169,6 @@
                 and a.course_code = #{courseCode}
             </if>
         </where>
+        order by a.inspect_college_name
     </select>
 </mapper>

+ 3 - 3
teachcloud-report-business/src/main/resources/mapper/TAExamCourseMapper.xml

@@ -84,7 +84,8 @@
             a.reality_count realityCount,
             a.inspect_college_count inspectCollegeCount,
             a.absent_count absentCount,
-            a.teach_college_name teachCollegeName
+            a.teach_college_name teachCollegeName,
+            a.inspect_college_names inspectCollegeName
         FROM
             t_a_exam_course a
                 LEFT JOIN
@@ -138,8 +139,6 @@
             taecct.teacher_rank as teacherRank
         from
             t_a_exam_course_college_teacher taecct
-        join sys_org so on
-            so.id = taecct.inspect_college_id
         <where>
             <if test="schoolId != null and schoolId != ''">
                 and taecct.school_id = #{schoolId}
@@ -151,5 +150,6 @@
                 and taecct.course_code = #{courseCode}
             </if>
         </where>
+        order by taecct.inspect_college_name
     </select>
 </mapper>

+ 8 - 1
teachcloud-report-business/src/main/resources/mapper/TAExamTotalMapper.xml

@@ -44,7 +44,14 @@
             round(a.pass_rate * 100,1) passRate,
             round(a.current_avg_score, 1) currentAvgScore,
             a.current_pass_count currentPassCount,
-            round(a.current_pass_rate * 100, 1) currentPassRate
+            round(a.current_pass_rate * 100, 1) currentPassRate,
+            round(a.current_reality_rate * 100, 1) currentRealityRate,
+            round(a.past_reality_rate * 100, 1) pastRealityRate,
+            round((1 - a.pass_rate)  * 100,1) as notPassRate,
+            round(a.paper_current_avg_score,1) as paperCurrentAvgScore,
+            round((1 - a.current_pass_rate) * 100,1) as currentNotPassRate,
+            (a.reality_count - a.pass_count) as notPassCount,
+            (a.current_reality_count - a.current_pass_count) as currentNotPassCount
         FROM
             t_a_exam_course a
                 LEFT JOIN

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

@@ -12,6 +12,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.enums.PublishStatusEnum;
 import com.qmth.teachcloud.report.business.enums.SemesterEnum;
+import com.qmth.teachcloud.report.business.service.AnalyzeForReportService;
 import com.qmth.teachcloud.report.business.service.CourseReportService;
 import com.qmth.teachcloud.report.business.service.TAExamCourseService;
 import io.swagger.annotations.*;
@@ -21,6 +22,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.util.Objects;
 
 @Api(tags = "课程Controller")
@@ -34,6 +36,9 @@ public class CourseController {
     @Resource
     CourseReportService courseReportService;
 
+    @Resource
+    AnalyzeForReportService analyzeForReportService;
+
     @ApiOperation(value = "开课课程考试总览列表接口")
     @RequestMapping(value = "/survey_teacher/list", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "考试科目信息", response = TAExamCourseResult.class)})
@@ -42,7 +47,7 @@ public class CourseController {
                                     @ApiParam(value = "学校id", required = false) @RequestParam(required = false) String schoolId,
                                     @ApiParam(value = "分页页码", required = true) @RequestParam int pageNumber,
                                     @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
-        return ResultUtil.ok(taExamCourseService.surveyTeacherList(new Page<>(pageNumber, pageSize), SystemConstant.convertIdToLong(examId), semester, Objects.isNull(schoolId) ? (Long) ServletUtil.getRequestHeaderSchoolId() : SystemConstant.convertIdToLong(schoolId)));
+        return ResultUtil.ok(taExamCourseService.surveyTeacherList(new Page<>(pageNumber, pageSize), SystemConstant.convertIdToLong(examId), semester, Objects.isNull(schoolId) ? SystemConstant.convertIdToLong(String.valueOf(ServletUtil.getRequestHeaderSchoolId())) : SystemConstant.convertIdToLong(schoolId)));
     }
 
     @ApiOperation(value = "开课课程考试总览-教师各课堂成绩排名接口")
@@ -54,7 +59,7 @@ public class CourseController {
                                            @ApiParam(value = "科目编码", required = true) @RequestParam String courseCode,
                                            @ApiParam(value = "分页页码", required = true) @RequestParam int pageNumber,
                                            @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
-        return ResultUtil.ok(taExamCourseService.surveyTeacherTeacherView(new Page<>(pageNumber, pageSize), Objects.isNull(schoolId) ? (Long) ServletUtil.getRequestHeaderSchoolId() : SystemConstant.convertIdToLong(schoolId), semester, SystemConstant.convertIdToLong(examId), courseCode));
+        return ResultUtil.ok(taExamCourseService.surveyTeacherTeacherView(new Page<>(pageNumber, pageSize), Objects.isNull(schoolId) ? SystemConstant.convertIdToLong(String.valueOf(ServletUtil.getRequestHeaderSchoolId()))  : SystemConstant.convertIdToLong(schoolId), semester, SystemConstant.convertIdToLong(examId), courseCode));
     }
 
     @ApiOperation(value = "开课课程考试总览-试题难度得分情况分析接口")
@@ -70,7 +75,7 @@ public class CourseController {
         if (Objects.isNull(sysUser)) {
             throw ExceptionResultEnum.NOT_LOGIN.exception();
         }
-        return ResultUtil.ok(taExamCourseService.surveyTeacherQuestionView(Objects.isNull(schoolId) ? (Long) ServletUtil.getRequestHeaderSchoolId() : SystemConstant.convertIdToLong(schoolId), semester, SystemConstant.convertIdToLong(examId), courseCode, Objects.nonNull(collegeId) ? SystemConstant.convertIdToLong(collegeId) : sysUser.getOrgId(), Objects.nonNull(teacherId) ? SystemConstant.convertIdToLong(teacherId) : null));
+        return ResultUtil.ok(taExamCourseService.surveyTeacherQuestionView(Objects.isNull(schoolId) ? SystemConstant.convertIdToLong(String.valueOf(ServletUtil.getRequestHeaderSchoolId()))  : SystemConstant.convertIdToLong(schoolId), semester, SystemConstant.convertIdToLong(examId), courseCode, Objects.nonNull(collegeId) ? SystemConstant.convertIdToLong(collegeId) : sysUser.getOrgId(), Objects.nonNull(teacherId) ? SystemConstant.convertIdToLong(teacherId) : null));
     }
 
     @ApiOperation(value = "开课课程考试总览-各难度水平题目上的作答分析接口")
@@ -86,7 +91,7 @@ public class CourseController {
         if (Objects.isNull(sysUser)) {
             throw ExceptionResultEnum.NOT_LOGIN.exception();
         }
-        return ResultUtil.ok(taExamCourseService.surveyTeacherQuestionAnswerView(Objects.isNull(schoolId) ? (Long) ServletUtil.getRequestHeaderSchoolId() : SystemConstant.convertIdToLong(schoolId), semester, SystemConstant.convertIdToLong(examId), courseCode, Objects.nonNull(collegeId) ? SystemConstant.convertIdToLong(collegeId) : sysUser.getOrgId(), Objects.nonNull(teacherId) ? SystemConstant.convertIdToLong(teacherId) : null));
+        return ResultUtil.ok(taExamCourseService.surveyTeacherQuestionAnswerView(Objects.isNull(schoolId) ? SystemConstant.convertIdToLong(String.valueOf(ServletUtil.getRequestHeaderSchoolId()))  : SystemConstant.convertIdToLong(schoolId), semester, SystemConstant.convertIdToLong(examId), courseCode, Objects.nonNull(collegeId) ? SystemConstant.convertIdToLong(collegeId) : sysUser.getOrgId(), Objects.nonNull(teacherId) ? SystemConstant.convertIdToLong(teacherId) : null));
     }
 
     @ApiOperation(value = "开课课程考试总览图表接口")
@@ -96,7 +101,7 @@ public class CourseController {
                                     @ApiParam(value = "学期", required = true) @RequestParam SemesterEnum semester,
                                     @ApiParam(value = "学校id", required = false) @RequestParam(required = false) String schoolId,
                                     @ApiParam(value = "科目编码", required = true) @RequestParam String courseCode) {
-        return ResultUtil.ok(taExamCourseService.surveyTeacherView(Objects.isNull(schoolId) ? (Long) ServletUtil.getRequestHeaderSchoolId() : SystemConstant.convertIdToLong(schoolId), semester, SystemConstant.convertIdToLong(examId), courseCode));
+        return ResultUtil.ok(taExamCourseService.surveyTeacherView(Objects.isNull(schoolId) ? SystemConstant.convertIdToLong(String.valueOf(ServletUtil.getRequestHeaderSchoolId()))  : SystemConstant.convertIdToLong(schoolId), semester, SystemConstant.convertIdToLong(examId), courseCode));
     }
 
     @ApiOperation(value = "考查课程考试总览-公共课概况接口")
@@ -132,4 +137,27 @@ public class CourseController {
                                      @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
         return ResultUtil.ok(taExamCourseService.surveyAspointsList(new Page<>(pageNumber, pageSize), Objects.isNull(schoolId) ? (Long) ServletUtil.getRequestHeaderSchoolId() : SystemConstant.convertIdToLong(schoolId), SystemConstant.convertIdToLong(examId), courseCode, publishStatus, semester));
     }
+
+    @ApiOperation(value = "赋分试算接口")
+    @RequestMapping(value = "/survey_aspoints/calculation", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "赋分试算接口", response = TrialCalculationResult.class)})
+    public Result surveyAspointsCalculation(
+                                     @ApiParam(value = "考试id", required = true) @RequestParam String examId,
+                                     @ApiParam(value = "科目编码", required = true) @RequestParam String courseCode,
+                                     @ApiParam(value = "赋分系数", required = true) @RequestParam BigDecimal coefficient) {
+        return ResultUtil.ok(taExamCourseService.trialCalculate(SystemConstant.convertIdToLong(examId),courseCode,coefficient));
+    }
+
+    @ApiOperation(value = "赋分管理-发布&撤回接口")
+    @RequestMapping(value = "/survey_aspoints/publish", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "赋分管理-发布&撤回接口", response = Result.class)})
+    public Result surveyAspointsCalculation(
+            @ApiParam(value = "考试id", required = true) @RequestParam String examId,
+            @ApiParam(value = "科目编码", required = true) @RequestParam String courseCode,
+            @ApiParam(value = "发布状态", required = true) @RequestParam PublishStatusEnum publishStatus) {
+
+        analyzeForReportService.publishReport(SystemConstant.convertIdToLong(examId),courseCode,publishStatus);
+        return ResultUtil.ok();
+    }
+
 }

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

@@ -35,20 +35,7 @@ public class DataAnalyzeController {
     @Transactional(rollbackFor = Exception.class)
     @ApiResponses({@ApiResponse(code = 200, message = "{\"success\":true}", response = Result.class)})
     public Result dataCalculate(@RequestParam Long schoolId, @RequestParam Long examId, @RequestParam(required = false) String courseCode) throws Exception {
-        analyzeForReportService.buildAnalyzeExamCourse(examId,courseCode);
-        analyzeForReportService.buildAnalyzeExamCourseRecord(examId, courseCode);
-        analyzeForReportService.buildAnalyzeExamCourseCollegeInspect(examId, courseCode);
-        analyzeForReportService.buildAnalyzeExamCourseClazz(examId, courseCode);
-        analyzeForReportService.AnalyzePointScoreRate(examId, courseCode);
-        analyzeForReportService.buildAnalyzeExamCourseCollegeInspectDio(examId, courseCode);
-        analyzeForReportService.buildAnalyzeExamCourseTeacherDio(examId, courseCode);
-        analyzeForReportService.buildAnalyzePaperStruct(examId, courseCode);
-        analyzeForReportService.buildExamPaperDifficult(examId, courseCode);
-        analyzeForReportService.buildExamPaperTeacherDifficult(examId, courseCode);
-        analyzeForReportService.buildAnalyzeExamTotal(examId);
-        analyzeForReportService.buildAnalyzeExamCourseCollegeTeacher(examId, courseCode);
-        analyzeForReportService.buildAnalyzeExamCourseTeacher(examId, courseCode);
-        analyzeForReportService.finishCalculate(examId, courseCode);
+        analyzeForReportService.dataCalculateForSystem(examId,courseCode);
         return ResultUtil.ok(Collections.singletonMap(SystemConstant.SUCCESS, true));
     }
 }

+ 10 - 9
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/DataDriveController.java

@@ -7,6 +7,7 @@ import com.qmth.teachcloud.report.business.entity.TAExamCourse;
 import com.qmth.teachcloud.report.business.entity.TAExamCourseCollegeTeacher;
 import com.qmth.teachcloud.report.business.entity.TAExamCourseTeacher;
 import com.qmth.teachcloud.report.business.entity.TAExamTotal;
+import com.qmth.teachcloud.report.business.enums.SemesterEnum;
 import com.qmth.teachcloud.report.business.service.TAExamCourseCollegeTeacherService;
 import com.qmth.teachcloud.report.business.service.TAExamCourseService;
 import com.qmth.teachcloud.report.business.service.TAExamCourseTeacherService;
@@ -38,7 +39,7 @@ public class DataDriveController {
     @ApiOperation(value = "全校考试总览-全校考试概况")
     @RequestMapping(value = "/exam/get_overview", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "全校考试总览-全校考试概况", response = TAExamTotal.class)})
-    public Result getOverview(@ApiParam(value = "学期", required = true) @RequestParam String semester,
+    public Result getOverview(@ApiParam(value = "学期", required = true) @RequestParam SemesterEnum semester,
                               @ApiParam(value = "考试ID", required = true) @RequestParam Long examId) {
         return ResultUtil.ok(taExamTotalService.getOverview(semester, examId));
     }
@@ -46,7 +47,7 @@ public class DataDriveController {
     @ApiOperation(value = "全校考试总览-全校课程考试分析汇总")
     @RequestMapping(value = "/exam/get_course_summary", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "全校考试总览-全校考试概况", response = TAExamCourse.class)})
-    public Result getCourseSummary(@ApiParam(value = "学期", required = true) @RequestParam String semester,
+    public Result getCourseSummary(@ApiParam(value = "学期", required = true) @RequestParam SemesterEnum semester,
                                    @ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
                                    @ApiParam(value = "分页页码", required = true) @RequestParam Integer pageNumber,
                                    @ApiParam(value = "分页数量", required = true) @RequestParam Integer pageSize) {
@@ -55,16 +56,16 @@ public class DataDriveController {
 
     @ApiOperation(value = "全校考试总览-全校课程考试分析汇总-导出课程分析Excel报表")
     @RequestMapping(value = "/exam/export_course_summary", method = RequestMethod.POST)
-    public void exportCourseSummary(@ApiParam(value = "学期", required = true) @RequestParam String semester,
+    public void exportCourseSummary(@ApiParam(value = "学期", required = true) @RequestParam SemesterEnum semester,
                                     @ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
                                     HttpServletResponse response) throws Exception {
         taExamTotalService.exportCourseSummary(semester, examId, response);
     }
 
-    @ApiOperation(value = "全校考试总览-全校考试概况")
+    @ApiOperation(value = "全校课程考试分析-全校考试概况")
     @RequestMapping(value = "/course/get_overview", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "全校考试总览-全校考试概况", response = TAExamCourse.class)})
-    public Result getOverview(@ApiParam(value = "学期", required = true) @RequestParam String semester,
+    public Result getOverview(@ApiParam(value = "学期", required = true) @RequestParam SemesterEnum semester,
                               @ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
                               @ApiParam(value = "课程代码", required = true) @RequestParam String courseCode) {
         return ResultUtil.ok(taExamCourseService.getOverview(semester, examId, courseCode));
@@ -73,7 +74,7 @@ public class DataDriveController {
     @ApiOperation(value = "全校课程考试分析-分数段分布情况")
     @RequestMapping(value = "/course/get_grade_distribute", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "全校课程考试分析-分数段分布情况", response = Map.class)})
-    public Result getGradeDistribute(@ApiParam(value = "学期", required = true) @RequestParam String semester,
+    public Result getGradeDistribute(@ApiParam(value = "学期", required = true) @RequestParam SemesterEnum semester,
                                      @ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
                                      @ApiParam(value = "课程代码", required = true) @RequestParam String courseCode) {
         return ResultUtil.ok(taExamCourseService.getGradeDistribute(semester, examId, courseCode));
@@ -82,7 +83,7 @@ public class DataDriveController {
     @ApiOperation(value = "全校课程考试分析-教师各课堂成绩排名")
     @RequestMapping(value = "/course/list_teacher_class_rank", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "全校课程考试分析-教师各课堂成绩排名", response = TAExamCourseTeacher.class)})
-    public Result listTeacherClassRank(@ApiParam(value = "学期", required = true) @RequestParam String semester,
+    public Result listTeacherClassRank(@ApiParam(value = "学期", required = true) @RequestParam SemesterEnum semester,
                                        @ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
                                        @ApiParam(value = "课程代码", required = true) @RequestParam String courseCode,
                                        @ApiParam(value = "分页页码", required = true) @RequestParam Integer pageNumber,
@@ -92,7 +93,7 @@ public class DataDriveController {
 
     @ApiOperation(value = "全校课程考试分析-考试概况-导出课程分析报表")
     @RequestMapping(value = "/course/export_data_analysis", method = RequestMethod.POST)
-    public void exportDataAnalysis(@ApiParam(value = "学期", required = true) @RequestParam String semester,
+    public void exportDataAnalysis(@ApiParam(value = "学期", required = true) @RequestParam SemesterEnum semester,
                                    @ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
                                    @ApiParam(value = "课程代码", required = true) @RequestParam String courseCode,
                                    HttpServletResponse response) {
@@ -102,7 +103,7 @@ public class DataDriveController {
     @ApiOperation(value = "全校教师各课堂成绩排名")
     @RequestMapping(value = "/teacher/list_all_teacher_class_rank", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "全校课程考试分析-教师各课堂成绩排名", response = TAExamCourseTeacher.class)})
-    public Result listAllTeacherClassRank(@ApiParam(value = "学期", required = true) @RequestParam String semester,
+    public Result listAllTeacherClassRank(@ApiParam(value = "学期", required = true) @RequestParam SemesterEnum semester,
                                           @ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
                                           @ApiParam(value = "开课学院ID", required = true) @RequestParam(required = false) Long teachCollegeId,
                                           @ApiParam(value = "课程代码", required = true) @RequestParam(required = false) String courseCode,

+ 3 - 2
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamCourseCollegeTeacherController.java

@@ -7,6 +7,7 @@ import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.report.business.bean.result.TBExamStudentResult;
 import com.qmth.teachcloud.report.business.bean.result.TeacherClassRankResult;
 import com.qmth.teachcloud.report.business.bean.result.TeacherMyClassRankResult;
+import com.qmth.teachcloud.report.business.enums.SemesterEnum;
 import com.qmth.teachcloud.report.business.service.TAExamCourseCollegeTeacherService;
 import io.swagger.annotations.*;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -35,7 +36,7 @@ public class TAExamCourseCollegeTeacherController {
     @RequestMapping(value = "/list_class_rank", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "教师各课堂成绩排名", response = TeacherClassRankResult.class)})
     public Result listClassRank(
-            @ApiParam(value = "学期", required = true) @RequestParam String semester,
+            @ApiParam(value = "学期", required = true) @RequestParam SemesterEnum semester,
             @ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
             @ApiParam(value = "课程代码", required = false) @RequestParam(required = false) String courseCode,
             @ApiParam(value = "考查学院ID", required = false) @RequestParam(required = false) Long inspectCollegeId,
@@ -48,7 +49,7 @@ public class TAExamCourseCollegeTeacherController {
     @RequestMapping(value = "/list_myclass_rank", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "我的课堂考成绩排名", response = TeacherMyClassRankResult.class)})
     public Result listMyClassRank(
-            @ApiParam(value = "学期", required = true) @RequestParam String semester,
+            @ApiParam(value = "学期", required = true) @RequestParam SemesterEnum semester,
             @ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
             @ApiParam(value = "课程代码", required = false) @RequestParam(required = false) String courseCode,
             @ApiParam(value = "考查学院ID", required = false) @RequestParam(required = false) Long inspectCollegeId,

+ 3 - 2
teachcloud-report/src/test/java/com/qmth/teachcloud/report/AnalyzeForStudentServiceTest.java

@@ -1,5 +1,6 @@
 package com.qmth.teachcloud.report;
 
+import com.qmth.teachcloud.report.business.enums.PublishStatusEnum;
 import com.qmth.teachcloud.report.business.service.AnalyzeForReportService;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -21,7 +22,7 @@ public class AnalyzeForStudentServiceTest {
     @Test
     public void buildAnalyzeExamCourse() {
         Long examId = 1L;
-        String courseCode = "1013";
+        String courseCode = null;
         System.out.println(analyzeForReportService.buildAnalyzeExamCourse(examId,courseCode));
 
     }
@@ -108,6 +109,6 @@ public class AnalyzeForStudentServiceTest {
     public void finishCalculate(){
         Long examId = 1L;
         String courseCode = "1013";
-        System.out.println(analyzeForReportService.finishCalculate(examId,courseCode));
+        System.out.println(analyzeForReportService.updateCoursePublishStatus(examId,courseCode, PublishStatusEnum.WILL_COMPUTE));
     }
 }