Ver código fonte

新增学生个人报告

wangliang 4 anos atrás
pai
commit
b456585714
15 arquivos alterados com 986 adições e 0 exclusões
  1. 2 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/contant/SystemConstant.java
  2. 92 0
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/dto/ExamStudentDto.java
  3. 41 0
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/CollegeResult.java
  4. 70 0
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/DiagnosisDetailResult.java
  5. 49 0
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/DiagnosisResult.java
  6. 92 0
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/DimensionDetailResult.java
  7. 47 0
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/DimensionMasterysResult.java
  8. 98 0
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/DimensionResult.java
  9. 39 0
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/ExamStudentResult.java
  10. 47 0
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/LevelResult.java
  11. 81 0
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/ModuleDetailResult.java
  12. 49 0
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/ModuleResult.java
  13. 37 0
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/PersonalReportResult.java
  14. 224 0
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/SynthesisResult.java
  15. 18 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/StudentReportController.java

+ 2 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/contant/SystemConstant.java

@@ -62,6 +62,8 @@ public class SystemConstant {
     public static final int ALL_CARD = -1;
     public static final String MANUAL = "manual";
     public static final String DELIMITER = ":";
+    public static final int FINAL_SCALE = 1;
+    public static final int OPER_SCALE = 8;
 //    public static final int MAX_RETRY_CREATE_PDF_COUNT = 5;
 
     /**

+ 92 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/dto/ExamStudentDto.java

@@ -0,0 +1,92 @@
+package com.qmth.teachcloud.report.business.bean.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 考生公用 dto
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2020/12/4
+ */
+public class ExamStudentDto implements Serializable {
+
+    @ApiModelProperty(value = "姓名")
+    private String examStudentName;
+
+    @ApiModelProperty(value = "学号")
+    private String studentCode;
+
+    @ApiModelProperty(value = "学院")
+    private String collegeName;
+
+    @ApiModelProperty(value = "班级")
+    private String className;
+
+    @ApiModelProperty(value = "考试名称")
+    private String examName;
+
+    @ApiModelProperty(value = "科目名称")
+    private String courseName;
+
+    @ApiModelProperty(value = "时间")
+    private String time;
+
+    public String getExamName() {
+        return examName;
+    }
+
+    public void setExamName(String examName) {
+        this.examName = examName;
+    }
+
+    public String getTime() {
+        return time;
+    }
+
+    public void setTime(String time) {
+        this.time = time;
+    }
+
+    public String getExamStudentName() {
+        return examStudentName;
+    }
+
+    public void setExamStudentName(String examStudentName) {
+        this.examStudentName = examStudentName;
+    }
+
+    public String getStudentCode() {
+        return studentCode;
+    }
+
+    public void setStudentCode(String studentCode) {
+        this.studentCode = studentCode;
+    }
+
+    public String getCollegeName() {
+        return collegeName;
+    }
+
+    public void setCollegeName(String collegeName) {
+        this.collegeName = collegeName;
+    }
+
+    public String getClassName() {
+        return className;
+    }
+
+    public void setClassName(String className) {
+        this.className = className;
+    }
+
+    public String getCourseName() {
+        return courseName;
+    }
+
+    public void setCourseName(String courseName) {
+        this.courseName = courseName;
+    }
+}

+ 41 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/CollegeResult.java

@@ -0,0 +1,41 @@
+package com.qmth.teachcloud.report.business.bean.result;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 学院bean
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2020/12/7
+ */
+public class CollegeResult implements Serializable {
+
+    @ApiModelProperty(value = "综合信息")
+    private SynthesisResult synthesis;
+
+    @ApiModelProperty(value = "诊断信息")
+    private DiagnosisResult diagnosis;
+
+    public CollegeResult() {
+
+    }
+
+    public SynthesisResult getSynthesis() {
+        return synthesis;
+    }
+
+    public void setSynthesis(SynthesisResult synthesis) {
+        this.synthesis = synthesis;
+    }
+
+    public DiagnosisResult getDiagnosis() {
+        return diagnosis;
+    }
+
+    public void setDiagnosis(DiagnosisResult diagnosis) {
+        this.diagnosis = diagnosis;
+    }
+}

+ 70 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/DiagnosisDetailResult.java

@@ -0,0 +1,70 @@
+package com.qmth.teachcloud.report.business.bean.result;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 诊断详细bean
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2020/12/7
+ */
+public class DiagnosisDetailResult implements Serializable {
+
+    @ApiModelProperty(value = "结果")
+    private String result;
+
+    @ApiModelProperty(value = "建议")
+    private String advice;
+
+    @ApiModelProperty(value = "模块名称")
+    private String name;
+
+    @ApiModelProperty(value = "模块")
+    private ModuleResult modules;
+
+    @ApiModelProperty(value = "详情")
+    private DimensionResult detail;
+
+    public String getResult() {
+        return result;
+    }
+
+    public void setResult(String result) {
+        this.result = result;
+    }
+
+    public String getAdvice() {
+        return advice;
+    }
+
+    public void setAdvice(String advice) {
+        this.advice = advice;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public ModuleResult getModules() {
+        return modules;
+    }
+
+    public void setModules(ModuleResult modules) {
+        this.modules = modules;
+    }
+
+    public DimensionResult getDetail() {
+        return detail;
+    }
+
+    public void setDetail(DimensionResult detail) {
+        this.detail = detail;
+    }
+}

+ 49 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/DiagnosisResult.java

@@ -0,0 +1,49 @@
+package com.qmth.teachcloud.report.business.bean.result;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.List;
+
+/** 
+* @Description: 诊断bean
+* @Param:  
+* @return:  
+* @Author: wangliang
+* @Date: 2020/12/7 
+*/ 
+public class DiagnosisResult implements Serializable {
+
+    @ApiModelProperty(value = "是否通过")
+    private boolean result = false;
+
+    @ApiModelProperty(value = "是否赋分")
+    private boolean isAssignedScore = false;
+
+    @ApiModelProperty(value = "诊断详情")
+    private List<DiagnosisDetailResult> list;
+
+    public boolean isAssignedScore() {
+        return isAssignedScore;
+    }
+
+    public void setAssignedScore(boolean assignedScore) {
+        isAssignedScore = assignedScore;
+    }
+
+    public boolean isResult() {
+        return result;
+    }
+
+    public void setResult(boolean result) {
+        this.result = result;
+    }
+
+    public List<DiagnosisDetailResult> getList() {
+        return list;
+    }
+
+    public void setList(List<DiagnosisDetailResult> list) {
+        this.list = list;
+    }
+}

+ 92 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/DimensionDetailResult.java

@@ -0,0 +1,92 @@
+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: 维度详情bean
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2020/12/7
+ */
+public class DimensionDetailResult implements Serializable {
+
+    @ApiModelProperty(value = "id")
+    private Long id;
+
+    @ApiModelProperty(value = "维度编码")
+    private String code;
+
+    @ApiModelProperty(value = "维度名称")
+    private String name;
+
+    @ApiModelProperty(value = "熟练度")
+    private String proficiency;
+
+    @ApiModelProperty(value = "分数比例")
+    private BigDecimal scoreRate;
+
+    @ApiModelProperty(value = "学院平均分")
+    private BigDecimal collegeAvgScore;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getProficiency() {
+        return proficiency;
+    }
+
+    public void setProficiency(String proficiency) {
+        this.proficiency = proficiency;
+    }
+
+    public BigDecimal getScoreRate() {
+        if (Objects.nonNull(scoreRate)) {
+            return scoreRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return new BigDecimal(0);
+        }
+    }
+
+    public void setScoreRate(BigDecimal scoreRate) {
+        this.scoreRate = scoreRate;
+    }
+
+    public BigDecimal getCollegeAvgScore() {
+        if (Objects.nonNull(collegeAvgScore)) {
+            return collegeAvgScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return new BigDecimal(0);
+        }
+    }
+
+    public void setCollegeAvgScore(BigDecimal collegeAvgScore) {
+        this.collegeAvgScore = collegeAvgScore;
+    }
+}

+ 47 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/DimensionMasterysResult.java

@@ -0,0 +1,47 @@
+package com.qmth.teachcloud.report.business.bean.result;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Description: 维度熟练度bean
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2020/12/7
+ */
+public class DimensionMasterysResult implements Serializable {
+
+    @ApiModelProperty(value = "熟练度等级")
+    private String level;
+
+    @ApiModelProperty(value = "分数比")
+    private List<Double> grade;
+
+    public DimensionMasterysResult() {
+
+    }
+
+    public DimensionMasterysResult(String level, List<Double> grade) {
+        this.level = level;
+        this.grade = grade;
+    }
+
+    public String getLevel() {
+        return level;
+    }
+
+    public void setLevel(String level) {
+        this.level = level;
+    }
+
+    public List<Double> getGrade() {
+        return grade;
+    }
+
+    public void setGrade(List<Double> grade) {
+        this.grade = grade;
+    }
+}

+ 98 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/DimensionResult.java

@@ -0,0 +1,98 @@
+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.Arrays;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @Description: 维度bean
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2020/12/7
+ */
+public class DimensionResult implements Serializable {
+
+    @ApiModelProperty(value = "简介")
+    private List<String> define = Arrays.asList("测试");
+
+    @ApiModelProperty(value = "我的分数")
+    private BigDecimal myScore;
+
+    @ApiModelProperty(value = "熟练度")
+    private BigDecimal masteryRate;
+
+    @ApiModelProperty(value = "知识维度总分")
+    private BigDecimal dioFullScore;
+
+    @ApiModelProperty(value = "维度详情")
+    private List<DimensionDetailResult> subDios;
+
+    @ApiModelProperty(value = "熟练度等级")
+    private List<DimensionMasterysResult> masterys;
+
+    public List<String> getDefine() {
+        return define;
+    }
+
+    public void setDefine(List<String> define) {
+        this.define = define;
+    }
+
+    public BigDecimal getMyScore() {
+        if (Objects.nonNull(myScore)) {
+            return myScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return new BigDecimal(0);
+        }
+    }
+
+    public void setMyScore(BigDecimal myScore) {
+        this.myScore = myScore;
+    }
+
+    public BigDecimal getMasteryRate() {
+        if (Objects.nonNull(masteryRate)) {
+            return masteryRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return new BigDecimal(0);
+        }
+    }
+
+    public void setMasteryRate(BigDecimal masteryRate) {
+        this.masteryRate = masteryRate;
+    }
+
+    public BigDecimal getDioFullScore() {
+        if (Objects.nonNull(dioFullScore)) {
+            return dioFullScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return new BigDecimal(0);
+        }
+    }
+
+    public void setDioFullScore(BigDecimal dioFullScore) {
+        this.dioFullScore = dioFullScore;
+    }
+
+    public List<DimensionDetailResult> getSubDios() {
+        return subDios;
+    }
+
+    public void setSubDios(List<DimensionDetailResult> subDios) {
+        this.subDios = subDios;
+    }
+
+    public List<DimensionMasterysResult> getMasterys() {
+        return masterys;
+    }
+
+    public void setMasterys(List<DimensionMasterysResult> masterys) {
+        this.masterys = masterys;
+    }
+}

+ 39 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/ExamStudentResult.java

@@ -0,0 +1,39 @@
+package com.qmth.teachcloud.report.business.bean.result;
+
+import com.qmth.teachcloud.report.business.bean.dto.ExamStudentDto;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Description: 考生 bean
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2020/12/4
+ */
+public class ExamStudentResult extends ExamStudentDto implements Serializable {
+
+    @ApiModelProperty(value = "等级")
+    private String level;
+
+    @ApiModelProperty(value = "等级百分比")
+    private List<LevelResult> levels;
+
+    public String getLevel() {
+        return level;
+    }
+
+    public void setLevel(String level) {
+        this.level = level;
+    }
+
+    public List<LevelResult> getLevels() {
+        return levels;
+    }
+
+    public void setLevels(List<LevelResult> levels) {
+        this.levels = levels;
+    }
+}

+ 47 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/LevelResult.java

@@ -0,0 +1,47 @@
+package com.qmth.teachcloud.report.business.bean.result;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Description: 等级 bean
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2020/12/4
+ */
+public class LevelResult implements Serializable {
+
+    @ApiModelProperty(value = "等级")
+    private String level;
+
+    @ApiModelProperty(value = "分数比")
+    private List<Integer> grade;
+
+    public LevelResult() {
+
+    }
+
+    public LevelResult(String level, List<Integer> grade) {
+        this.level = level;
+        this.grade = grade;
+    }
+
+    public String getLevel() {
+        return level;
+    }
+
+    public void setLevel(String level) {
+        this.level = level;
+    }
+
+    public List<Integer> getGrade() {
+        return grade;
+    }
+
+    public void setGrade(List<Integer> grade) {
+        this.grade = grade;
+    }
+}

+ 81 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/ModuleDetailResult.java

@@ -0,0 +1,81 @@
+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: 模块详情bean
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2020/12/7
+ */
+public class ModuleDetailResult implements Serializable {
+
+    @ApiModelProperty(value = "模块名称")
+    private String name;
+
+    @ApiModelProperty(value = "个人比例")
+    private BigDecimal rate;
+
+    @ApiModelProperty(value = "编码")
+    private String code;
+
+    @ApiModelProperty(value = "学院比例")
+    private BigDecimal collegeRate;
+
+    @ApiModelProperty(value = "理解说明")
+    private String interpretation;
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getInterpretation() {
+        return interpretation;
+    }
+
+    public void setInterpretation(String interpretation) {
+        this.interpretation = interpretation;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public BigDecimal getRate() {
+        if (Objects.nonNull(rate)) {
+            return rate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return new BigDecimal(0);
+        }
+    }
+
+    public void setRate(BigDecimal rate) {
+        this.rate = rate;
+    }
+
+    public BigDecimal getCollegeRate() {
+        if (Objects.nonNull(collegeRate)) {
+            return collegeRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return new BigDecimal(0);
+        }
+    }
+
+    public void setCollegeRate(BigDecimal collegeRate) {
+        this.collegeRate = collegeRate;
+    }
+}

+ 49 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/ModuleResult.java

@@ -0,0 +1,49 @@
+package com.qmth.teachcloud.report.business.bean.result;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Description: 模块bean
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2020/12/7
+ */
+public class ModuleResult implements Serializable {
+
+    @ApiModelProperty(value = "模块名称")
+    private List<ModuleDetailResult> dios;
+
+    @ApiModelProperty(value = "说明")
+    private String info;
+
+    @ApiModelProperty(value = "备注")
+    private String remark;
+
+    public List<ModuleDetailResult> getDios() {
+        return dios;
+    }
+
+    public void setDios(List<ModuleDetailResult> dios) {
+        this.dios = dios;
+    }
+
+    public String getInfo() {
+        return info;
+    }
+
+    public void setInfo(String info) {
+        this.info = info;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+}

+ 37 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/PersonalReportResult.java

@@ -0,0 +1,37 @@
+package com.qmth.teachcloud.report.business.bean.result;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 个人报告模版 bean
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2020/12/4
+ */
+public class PersonalReportResult implements Serializable {
+
+    @ApiModelProperty(value = "考生信息")
+    private ExamStudentResult student;
+
+    @ApiModelProperty(value = "学院信息")
+    private CollegeResult college;
+
+    public ExamStudentResult getStudent() {
+        return student;
+    }
+
+    public void setStudent(ExamStudentResult student) {
+        this.student = student;
+    }
+
+    public CollegeResult getCollege() {
+        return college;
+    }
+
+    public void setCollege(CollegeResult college) {
+        this.college = college;
+    }
+}

+ 224 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/SynthesisResult.java

@@ -0,0 +1,224 @@
+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: 综合bean
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2020/12/7
+ */
+public class SynthesisResult implements Serializable {
+
+    @ApiModelProperty(value = "我的分数")
+    private BigDecimal myScore;
+
+    @ApiModelProperty(value = "实考人数")
+    private Integer actualCount;
+
+    @ApiModelProperty(value = "院系对比数值")
+    private BigDecimal overRate;
+
+    @ApiModelProperty(value = "学院最低分")
+    private BigDecimal collegeMinScore;
+
+    @ApiModelProperty(value = "学院平均分")
+    private BigDecimal collegeAvgScore;
+
+    @ApiModelProperty(value = "学院最高分")
+    private BigDecimal collegeMaxScore;
+
+    @ApiModelProperty(value = "班级最低分")
+    private BigDecimal clazzMinScore;
+
+    @ApiModelProperty(value = "班级平均分")
+    private BigDecimal clazzAvgScore;
+
+    @ApiModelProperty(value = "班级最高分")
+    private BigDecimal clazzMaxScore;
+
+    @ApiModelProperty(value = "试卷满分")
+    private BigDecimal fullScore;
+
+    @ApiModelProperty(value = "难度系数")
+    private BigDecimal difficult;
+
+    @ApiModelProperty(value = "难度系数说明")
+    private String difficultInfo;
+
+    @ApiModelProperty(value = "学校最高分")
+    private BigDecimal schoolAvgScore;
+
+    public BigDecimal getSchoolAvgScore() {
+        return schoolAvgScore;
+    }
+
+    public void setSchoolAvgScore(BigDecimal schoolAvgScore) {
+        this.schoolAvgScore = schoolAvgScore;
+    }
+
+    public SynthesisResult() {
+
+    }
+
+    public SynthesisResult(BigDecimal myScore, Integer actualCount, BigDecimal fullScore) {
+        this.myScore = myScore;
+        this.actualCount = actualCount;
+        this.fullScore = fullScore;
+    }
+
+    public void setCollegeScore(SynthesisResult synthesisBean) {
+        this.collegeMinScore = synthesisBean.getCollegeMinScore();
+        this.collegeAvgScore = synthesisBean.getCollegeAvgScore();
+        this.collegeMaxScore = synthesisBean.getCollegeMaxScore();
+        this.schoolAvgScore = synthesisBean.getSchoolAvgScore();
+    }
+
+    public void setClassScore(SynthesisResult synthesisBean) {
+        this.clazzMinScore = synthesisBean.getClazzMinScore();
+        this.clazzAvgScore = synthesisBean.getClazzAvgScore();
+        this.clazzMaxScore = synthesisBean.getClazzMaxScore();
+    }
+
+    public BigDecimal getMyScore() {
+        if (Objects.nonNull(myScore)) {
+            return myScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return new BigDecimal(0);
+        }
+    }
+
+    public void setMyScore(BigDecimal myScore) {
+        this.myScore = myScore;
+    }
+
+    public BigDecimal getOverRate() {
+        if (Objects.nonNull(overRate)) {
+            return overRate.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return new BigDecimal(0);
+        }
+    }
+
+    public void setOverRate(BigDecimal overRate) {
+        this.overRate = overRate;
+    }
+
+    public BigDecimal getCollegeMinScore() {
+        if (Objects.nonNull(collegeMinScore)) {
+            return collegeMinScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return new BigDecimal(0);
+        }
+    }
+
+    public void setCollegeMinScore(BigDecimal collegeMinScore) {
+        this.collegeMinScore = collegeMinScore;
+    }
+
+    public BigDecimal getCollegeAvgScore() {
+        if (Objects.nonNull(collegeAvgScore)) {
+            return collegeAvgScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return new BigDecimal(0);
+        }
+    }
+
+    public void setCollegeAvgScore(BigDecimal collegeAvgScore) {
+        this.collegeAvgScore = collegeAvgScore;
+    }
+
+    public BigDecimal getCollegeMaxScore() {
+        if (Objects.nonNull(collegeMaxScore)) {
+            return collegeMaxScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return new BigDecimal(0);
+        }
+    }
+
+    public void setCollegeMaxScore(BigDecimal collegeMaxScore) {
+        this.collegeMaxScore = collegeMaxScore;
+    }
+
+    public BigDecimal getClazzMinScore() {
+        if (Objects.nonNull(clazzMinScore)) {
+            return clazzMinScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return new BigDecimal(0);
+        }
+    }
+
+    public void setClazzMinScore(BigDecimal clazzMinScore) {
+        this.clazzMinScore = clazzMinScore;
+    }
+
+    public BigDecimal getClazzAvgScore() {
+        if (Objects.nonNull(clazzAvgScore)) {
+            return clazzAvgScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return new BigDecimal(0);
+        }
+    }
+
+    public void setClazzAvgScore(BigDecimal clazzAvgScore) {
+        this.clazzAvgScore = clazzAvgScore;
+    }
+
+    public BigDecimal getClazzMaxScore() {
+        if (Objects.nonNull(clazzMaxScore)) {
+            return clazzMaxScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return new BigDecimal(0);
+        }
+    }
+
+    public void setClazzMaxScore(BigDecimal clazzMaxScore) {
+        this.clazzMaxScore = clazzMaxScore;
+    }
+
+    public BigDecimal getFullScore() {
+        if (Objects.nonNull(fullScore)) {
+            return fullScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return new BigDecimal(0);
+        }
+    }
+
+    public void setFullScore(BigDecimal fullScore) {
+        this.fullScore = fullScore;
+    }
+
+    public BigDecimal getDifficult() {
+        if (Objects.nonNull(difficult)) {
+            return difficult.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return new BigDecimal(0);
+        }
+    }
+
+    public void setDifficult(BigDecimal difficult) {
+        this.difficult = difficult;
+    }
+
+    public Integer getActualCount() {
+        return actualCount;
+    }
+
+    public void setActualCount(Integer actualCount) {
+        this.actualCount = actualCount;
+    }
+
+    public String getDifficultInfo() {
+        return difficultInfo;
+    }
+
+    public void setDifficultInfo(String difficultInfo) {
+        this.difficultInfo = difficultInfo;
+    }
+}

+ 18 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/StudentReportController.java

@@ -42,4 +42,22 @@ public class StudentReportController {
                 SystemConstant.convertIdToLong(clazzId),
                 absent));
     }
+
+    @ApiOperation(value = "学生报告-个人成绩总览接口")
+    @RequestMapping(value = "/report/result", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "考生信息", response = TBExamStudentResult.class)})
+    public Result reportResult(@ApiParam(value = "学校id", required = true) @RequestParam String schoolId,
+                               @ApiParam(value = "学号", required = true) @RequestParam String studentCode) {
+        return ResultUtil.ok();
+    }
+
+    @ApiOperation(value = "学生报告接口")
+    @RequestMapping(value = "/report/mark", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "考生信息", response = TBExamStudentResult.class)})
+    public Result reportMark(@ApiParam(value = "学校id", required = true) @RequestParam String schoolId,
+                             @ApiParam(value = "学号", required = true) @RequestParam String studentCode,
+                             @ApiParam(value = "考试id", required = true) @RequestParam String examId,
+                             @ApiParam(value = "科目编码", required = true) @RequestParam String courseCode) {
+        return ResultUtil.ok();
+    }
 }