Browse Source

3.3.0 fix

xiaofei 1 year ago
parent
commit
20897385cd

+ 39 - 25
distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkArchiveController.java

@@ -1,7 +1,12 @@
 package com.qmth.distributed.print.api.mark;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 
+import com.qmth.distributed.print.business.service.BasicExamService;
+import com.qmth.teachcloud.common.entity.BasicExam;
+import com.qmth.teachcloud.common.entity.BasicSemester;
+import com.qmth.teachcloud.common.service.BasicSemesterService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -35,32 +40,41 @@ import io.swagger.annotations.ApiOperation;
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_MARK + "/archive")
 public class MarkArchiveController {
 
-	@Autowired
-	private MarkPaperService markPaperService;
-	@Autowired
-	private MarkStudentService markStudentService;
+    @Autowired
+    private MarkPaperService markPaperService;
+    @Autowired
+    private MarkStudentService markStudentService;
+    @Resource
+    private BasicExamService basicExamService;
+    @Resource
+    private BasicSemesterService basicSemesterService;
 
-	@ApiOperation(value = "成绩管理列表")
-	@RequestMapping(value = "score/list", method = RequestMethod.POST)
-	public Result scoreList(@Validated ArchiveScoreQuery query) {
-		return ResultUtil.ok(markPaperService.scoreList(query));
-	}
+    @ApiOperation(value = "成绩管理列表")
+    @RequestMapping(value = "score/list", method = RequestMethod.POST)
+    public Result scoreList(@Validated ArchiveScoreQuery query) {
+        return ResultUtil.ok(markPaperService.scoreList(query));
+    }
 
-	@ApiOperation(value = "班级详情列表")
-	@RequestMapping(value = "student/list", method = RequestMethod.POST)
-	public Result studentList(@Validated ArchiveStudentQuery query) {
-		return ResultUtil.ok(markStudentService.studentList(query));
-	}
+    @ApiOperation(value = "班级详情列表")
+    @RequestMapping(value = "student/list", method = RequestMethod.POST)
+    public Result studentList(@Validated ArchiveStudentQuery query) {
+        return ResultUtil.ok(markStudentService.studentList(query));
+    }
 
-	@ApiOperation(value = "成绩导出")
-	@RequestMapping(value = "score/export", method = RequestMethod.POST)
-	public void scoreExport(@Validated ArchiveStudentQuery query, HttpServletResponse response) {
-		markStudentService.scoreExport(query, response);
-	}
-	
-	@ApiOperation(value = "成绩报告")
-	@RequestMapping(value = "score/report", method = RequestMethod.POST)
-	public Result scoreReport(@RequestParam Long examId,@RequestParam String paperNumber) {
-		return ResultUtil.ok(markStudentService.scoreReport(examId, paperNumber));
-	}
+    @ApiOperation(value = "成绩导出")
+    @RequestMapping(value = "score/export", method = RequestMethod.POST)
+    public void scoreExport(@Validated ArchiveStudentQuery query, HttpServletResponse response) {
+        markStudentService.scoreExport(query, response);
+    }
+
+    @ApiOperation(value = "成绩报告")
+    @RequestMapping(value = "score/report", method = RequestMethod.POST)
+    public Result scoreReport(@RequestParam Long examId, @RequestParam String paperNumber) {
+        ScoreReportVo scoreReportVo = markStudentService.scoreReport(examId, paperNumber);
+        BasicExam basicExam = basicExamService.getById(examId);
+        BasicSemester basicSemester = basicSemesterService.getById(basicExam.getSemesterId());
+        scoreReportVo.setExamName(basicExam.getName());
+        scoreReportVo.setSemesterName(basicSemester.getName());
+        return ResultUtil.ok(scoreReportVo);
+    }
 }

+ 19 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/bean/archivescore/ScoreReportVo.java

@@ -3,6 +3,9 @@ package com.qmth.teachcloud.mark.bean.archivescore;
 import java.util.List;
 
 public class ScoreReportVo {
+
+	private String examName;
+	private String semesterName;
 	
 	private OverViewVo overview;
 
@@ -20,6 +23,22 @@ public class ScoreReportVo {
 	
 	private List<QuestionVo> subjective;
 
+	public String getExamName() {
+		return examName;
+	}
+
+	public void setExamName(String examName) {
+		this.examName = examName;
+	}
+
+	public String getSemesterName() {
+		return semesterName;
+	}
+
+	public void setSemesterName(String semesterName) {
+		this.semesterName = semesterName;
+	}
+
 	public OverViewVo getOverview() {
 		return overview;
 	}

+ 9 - 12
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkStudentServiceImpl.java

@@ -859,6 +859,8 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
                         vo.setFullScoreCount(0);
                         vo.setStudentCount(0);
                         vo.setScoreSum(0.0);
+                        vo.setMainNumber(si.getMainNumber());
+                        vo.setSubNumber(si.getSubNumber());
                         vo.setTitle(si.getTitle());
                         vo.setScore(si.getTotalScore());
                         map.put(key, vo);
@@ -878,19 +880,14 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
             return;
         }
         List<QuestionVo> list = new ArrayList<>(map.values());
-        Collections.sort(list, new Comparator<QuestionVo>() {
-
-            @Override
-            public int compare(QuestionVo o1, QuestionVo o2) {
-                if (o1.getMainNumber() > o2.getMainNumber()) {
-                    return 1;
-                } else if (o1.getSubNumber() < o2.getSubNumber()) {
-                    return -1;
-                } else {
-                    return 0;
-                }
+        Collections.sort(list, (o1, o2) -> {
+            if (o1.getMainNumber() > o2.getMainNumber()) {
+                return 1;
+            } else if (o1.getSubNumber() < o2.getSubNumber()) {
+                return -1;
+            } else {
+                return 0;
             }
-
         });
         for (QuestionVo vo : list) {
             double total = vo.getStudentCount();