|
@@ -214,6 +214,12 @@ public class MakrerApi {
|
|
o.setCount(count);
|
|
o.setCount(count);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
+ Collections.sort(levelStatDTOs, (o1, o2) -> {
|
|
|
|
+ if (o1.getId() == null || o2.getId() == null) {
|
|
|
|
+ return 1;
|
|
|
|
+ }
|
|
|
|
+ return o1.getId().toString().compareTo(o2.getId().toString());
|
|
|
|
+ });
|
|
return levelStatDTOs;
|
|
return levelStatDTOs;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -362,7 +368,7 @@ public class MakrerApi {
|
|
MarkSubject markSubject = markSubjectRepo.findOne(workId + "-" + subject.toString());
|
|
MarkSubject markSubject = markSubjectRepo.findOne(workId + "-" + subject.toString());
|
|
|
|
|
|
//总体进度
|
|
//总体进度
|
|
- if(markSubject.getStage() == MarkStage.INIT){
|
|
|
|
|
|
+ if (markSubject.getStage().name() == MarkStage.INIT.name()) {
|
|
List<Student> students = studentRepo.findByWorkIdAndTest(workId, String.valueOf(TrialEnum.DEFAULT.getId()));
|
|
List<Student> students = studentRepo.findByWorkIdAndTest(workId, String.valueOf(TrialEnum.DEFAULT.getId()));
|
|
long stuTotalCount = students.stream().count();
|
|
long stuTotalCount = students.stream().count();
|
|
long stuAbsentCount = students.stream().filter(s -> s.isAbsent()).count();
|
|
long stuAbsentCount = students.stream().filter(s -> s.isAbsent()).count();
|
|
@@ -371,8 +377,8 @@ public class MakrerApi {
|
|
String[] uploadStatus = student.getUploadStatus().split(",");
|
|
String[] uploadStatus = student.getUploadStatus().split(",");
|
|
for (String s : uploadStatus) {
|
|
for (String s : uploadStatus) {
|
|
if ("1".equals(s.split(":")[1])) {
|
|
if ("1".equals(s.split(":")[1])) {
|
|
- if(subject.name().equals(s.split(":")[0])){
|
|
|
|
- ++c;
|
|
|
|
|
|
+ if (subject.name().equals(s.split(":")[0])) {
|
|
|
|
+ ++c;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -381,13 +387,19 @@ public class MakrerApi {
|
|
LevleProgressDTO progressDTO = new LevleProgressDTO();
|
|
LevleProgressDTO progressDTO = new LevleProgressDTO();
|
|
progressDTO.setSuccessCount((int) c);
|
|
progressDTO.setSuccessCount((int) c);
|
|
progressDTO.setTotalCount((int) stuTotalCount);
|
|
progressDTO.setTotalCount((int) stuTotalCount);
|
|
- progressDTO.setWaitCount((int) (stuTotalCount-c));
|
|
|
|
- BigDecimal progress = new BigDecimal(c*100).divide(new BigDecimal(stuTotalCount), 2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
|
+ progressDTO.setWaitCount((int) (stuTotalCount - c));
|
|
|
|
+ BigDecimal progress = new BigDecimal(c * 100).divide(new BigDecimal(stuTotalCount), 2, BigDecimal.ROUND_HALF_UP);
|
|
progressDTO.setProgress(progress.doubleValue());
|
|
progressDTO.setProgress(progress.doubleValue());
|
|
objectMap.put("totalProgress", progressDTO);
|
|
objectMap.put("totalProgress", progressDTO);
|
|
} else {
|
|
} else {
|
|
//已评任务数
|
|
//已评任务数
|
|
- int successCount = paperRepo.countByWorkIdAndSubjectAndLevelNotNullAndIsMissingFalseAndActiveTrueAndTest(workId, subject, 0);
|
|
|
|
|
|
+ int successCount = 0;
|
|
|
|
+ if (markSubject.getStage().name() == MarkStage.LEVEL.name()) {
|
|
|
|
+ successCount = paperRepo.countByWorkIdAndSubjectAndLevelNotNullAndIsMissingFalseAndActiveTrueAndTest(workId, subject, 0);
|
|
|
|
+ }
|
|
|
|
+ if (markSubject.getStage().name() == MarkStage.SCORE.name()) {
|
|
|
|
+ successCount = paperRepo.countByWorkIdAndSubjectAndScoreNotNullAndIsMissingFalseAndActiveTrueAndTest(workId, subject, 0);
|
|
|
|
+ }
|
|
//所有任务数(查询所有有效试卷)
|
|
//所有任务数(查询所有有效试卷)
|
|
int totalCount = paperRepo.countByWorkIdAndSubjectAndIsMissingFalseAndTest(workId, subject, 0);
|
|
int totalCount = paperRepo.countByWorkIdAndSubjectAndIsMissingFalseAndTest(workId, subject, 0);
|
|
|
|
|
|
@@ -406,7 +418,7 @@ public class MakrerApi {
|
|
|
|
|
|
//考区进度
|
|
//考区进度
|
|
List<Object[]> areas;
|
|
List<Object[]> areas;
|
|
- if (markSubject.getStage() == MarkStage.SCORE) {
|
|
|
|
|
|
+ if (markSubject.getStage().name() == MarkStage.SCORE.name()) {
|
|
areas = markTaskRepo.listGroupByAreaName(workId, markSubject.getSubject().name());
|
|
areas = markTaskRepo.listGroupByAreaName(workId, markSubject.getSubject().name());
|
|
} else {
|
|
} else {
|
|
areas = markTaskRepo.listGroupByAreaName(workId, markSubject.getSubject().name(), markSubject.getTest());
|
|
areas = markTaskRepo.listGroupByAreaName(workId, markSubject.getSubject().name(), markSubject.getTest());
|
|
@@ -424,7 +436,7 @@ public class MakrerApi {
|
|
List<MarkUser> markUser = markUserRepo.findByWorkIdAndSubjectAndRole(workId, subject, Role.MARK_LEADER);
|
|
List<MarkUser> markUser = markUserRepo.findByWorkIdAndSubjectAndRole(workId, subject, Role.MARK_LEADER);
|
|
//仲裁数量
|
|
//仲裁数量
|
|
int arbitrate = paperRepo.countByWorkIdAndSubjectAndIsArbitratedTrue(workId, subject);
|
|
int arbitrate = paperRepo.countByWorkIdAndSubjectAndIsArbitratedTrue(workId, subject);
|
|
- if(markUser != null && markUser.size() >0){
|
|
|
|
|
|
+ if (markUser != null && markUser.size() > 0) {
|
|
Map map = new HashMap();
|
|
Map map = new HashMap();
|
|
map.put("name", markUser.get(0).getName());
|
|
map.put("name", markUser.get(0).getName());
|
|
map.put("arbitrated", arbitrate);
|
|
map.put("arbitrated", arbitrate);
|
|
@@ -433,7 +445,7 @@ public class MakrerApi {
|
|
|
|
|
|
//各评卷员评卷进度
|
|
//各评卷员评卷进度
|
|
List<Object[]> qStats;
|
|
List<Object[]> qStats;
|
|
- if (markSubject.getStage() == MarkStage.SCORE) {
|
|
|
|
|
|
+ if (markSubject.getStage().name() == MarkStage.SCORE.name()) {
|
|
qStats = markTaskRepo.listGroupByQuestionAndMarker(workId, markSubject.getSubject().name(), markSubject.getStage().ordinal());
|
|
qStats = markTaskRepo.listGroupByQuestionAndMarker(workId, markSubject.getSubject().name(), markSubject.getStage().ordinal());
|
|
} else {
|
|
} else {
|
|
qStats = markTaskRepo.listGroupByQuestionAndMarker(workId, markSubject.getSubject().name(), markSubject.getStage().ordinal(), markSubject.getTest());
|
|
qStats = markTaskRepo.listGroupByQuestionAndMarker(workId, markSubject.getSubject().name(), markSubject.getStage().ordinal(), markSubject.getTest());
|