|
@@ -27,6 +27,7 @@ import cn.com.qmth.stmms.biz.exam.service.ExamSubjectService;
|
|
|
import cn.com.qmth.stmms.biz.exam.service.MarkGroupService;
|
|
|
import cn.com.qmth.stmms.biz.exam.service.MarkerService;
|
|
|
import cn.com.qmth.stmms.biz.lock.LockService;
|
|
|
+import cn.com.qmth.stmms.biz.mark.query.MarkLibrarySearchQuery;
|
|
|
import cn.com.qmth.stmms.biz.mark.service.MarkLibraryService;
|
|
|
import cn.com.qmth.stmms.biz.mark.thread.MarkQualityThread;
|
|
|
import cn.com.qmth.stmms.common.domain.WebUser;
|
|
@@ -58,7 +59,7 @@ public class MarkQualityController extends BaseExamController {
|
|
|
|
|
|
@Autowired
|
|
|
private MarkLibraryService libraryService;
|
|
|
-
|
|
|
+
|
|
|
@RequestMapping
|
|
|
public String list(Model model, HttpServletRequest request, MarkerSearchQuery query) {
|
|
|
int examId = getSessionExamId(request);
|
|
@@ -123,9 +124,9 @@ public class MarkQualityController extends BaseExamController {
|
|
|
if (group != null) {
|
|
|
List<MarkerVO> list = new ArrayList<MarkerVO>();
|
|
|
List<Marker> markers = markerService.findByExamAndSubjectAndGroup(examId, subjectCode, groupNumber);
|
|
|
+ List<Double> scores = libraryService.findScore(examId, subjectCode, groupNumber, LibraryStatus.MARKED);
|
|
|
for (Marker marker : markers) {
|
|
|
- List<Object[]> libraries = libraryService.findScoreCount(examId, subjectCode, groupNumber,
|
|
|
- marker.getId(), LibraryStatus.MARKED);
|
|
|
+ List<Object[]> libraries = libraryService.findScoreCount(examId, subjectCode, groupNumber,marker.getId(), LibraryStatus.MARKED);
|
|
|
Map<Double, Long> scoreCount = new HashMap<Double, Long>();
|
|
|
for (Object[] array : libraries) {
|
|
|
Double score = (Double) array[0];
|
|
@@ -138,7 +139,7 @@ public class MarkQualityController extends BaseExamController {
|
|
|
vo.setScoreCount(scoreCount);
|
|
|
list.add(vo);
|
|
|
}
|
|
|
- model.addAttribute("scores", libraryService.findScore(examId, subjectCode, groupNumber, LibraryStatus.MARKED));
|
|
|
+ model.addAttribute("scores", scores);
|
|
|
model.addAttribute("markers", list);
|
|
|
model.addAttribute("group", group);
|
|
|
}
|
|
@@ -157,13 +158,19 @@ public class MarkQualityController extends BaseExamController {
|
|
|
List<Marker> markers = markerService.findByExamAndSubjectAndGroup(examId, subjectCode, groupNumber);
|
|
|
for (Marker marker : markers) {
|
|
|
List<Object[]> libraries = libraryService.findScoreCount(examId, subjectCode, groupNumber, marker.getId(),
|
|
|
- LibraryStatus.MARKED);
|
|
|
- long totalCount = libraryService.countByMarker(marker.getId());
|
|
|
+ LibraryStatus.MARKED);
|
|
|
+ MarkLibrarySearchQuery query = new MarkLibrarySearchQuery();
|
|
|
+ query.setMarkerId(marker.getId());
|
|
|
+ query.addStatus(LibraryStatus.MARKED);
|
|
|
+ long totalCount = libraryService.countByQuery(query);
|
|
|
Map<Double, Double> scorePercent = new HashMap<Double, Double>();
|
|
|
for (Object[] array : libraries) {
|
|
|
Double score = (Double) array[0];
|
|
|
Long count = (Long) array[1];
|
|
|
- double percent = count * 100 / totalCount;
|
|
|
+ double percent = 0;
|
|
|
+ if(marker.getValidCount()!=0){
|
|
|
+ percent = count * 100 / totalCount;
|
|
|
+ }
|
|
|
scorePercent.put(score, percent);
|
|
|
}
|
|
|
MarkerVO vo = new MarkerVO();
|