|
@@ -4,6 +4,7 @@ import cn.com.qmth.stmms.ms.admin.dto.SubjectOverview;
|
|
|
import cn.com.qmth.stmms.ms.admin.dto.WorkOverview;
|
|
|
import cn.com.qmth.stmms.ms.core.domain.Student;
|
|
|
import cn.com.qmth.stmms.ms.core.domain.Work;
|
|
|
+import cn.com.qmth.stmms.ms.core.domain.enums.TrialEnum;
|
|
|
import cn.com.qmth.stmms.ms.core.domain.user.Role;
|
|
|
import cn.com.qmth.stmms.ms.core.repository.ExamQuestionRepo;
|
|
|
import cn.com.qmth.stmms.ms.core.repository.MarkUserRepo;
|
|
@@ -35,16 +36,16 @@ public class WorkOverviewAssembler {
|
|
|
@Autowired
|
|
|
private PaperRepo paperRepo;
|
|
|
|
|
|
- public WorkOverview toDTO(Work work){
|
|
|
+ public WorkOverview toDTO(Work work) {
|
|
|
WorkOverview workOverview = null;
|
|
|
- if(work != null){
|
|
|
+ if (work != null) {
|
|
|
workOverview = new WorkOverview();
|
|
|
workOverview.setWorkName(work.getName());
|
|
|
- workOverview.setPaperCount(paperRepo.countByWorkId(work.getId()));
|
|
|
+ workOverview.setPaperCount(paperRepo.countByWorkIdAndTest(work.getId(), TrialEnum.DEFAULT.getId()));
|
|
|
workOverview.setMarkerCount(markUserRepo.countByWorkIdAndRole(work.getId(), Role.MARKER));
|
|
|
- workOverview.setQuestionCount(examQuestionRepo.countByWorkId(work.getId()));
|
|
|
+ workOverview.setQuestionCount(examQuestionRepo.countByWorkIdAndTest(work.getId(), TrialEnum.DEFAULT.getId()));
|
|
|
|
|
|
- List<Student> students = studentRepo.findByWorkId(work.getId());
|
|
|
+ List<Student> students = studentRepo.findByWorkIdAndTest(work.getId(), String.valueOf(TrialEnum.DEFAULT.getId()));
|
|
|
workOverview.setStuTotalCount(students.stream().count());
|
|
|
workOverview.setStuAbsentCount(students.stream().filter(s -> s.isAbsent()).count());
|
|
|
workOverview.setStuUploadedCount(workOverview.getStuTotalCount() - workOverview.getStuAbsentCount());
|
|
@@ -61,22 +62,22 @@ public class WorkOverviewAssembler {
|
|
|
so.setMarkStage(s.getStage());
|
|
|
subjectOverviews.add(so);
|
|
|
});
|
|
|
- Map<String,Long> subjectMap = new HashMap<>();
|
|
|
- for(SubjectOverview so : subjectOverviews){
|
|
|
- subjectMap.put(so.getSubject(),0L);
|
|
|
+ Map<String, Long> subjectMap = new HashMap<>();
|
|
|
+ for (SubjectOverview so : subjectOverviews) {
|
|
|
+ subjectMap.put(so.getSubject(), 0L);
|
|
|
}
|
|
|
- for(Student student : students){
|
|
|
+ for (Student student : students) {
|
|
|
String[] uploadStatus = student.getUploadStatus().split(",");
|
|
|
- for(String s : uploadStatus){
|
|
|
- if("1".equals(s.split(":")[1])){
|
|
|
+ for (String s : uploadStatus) {
|
|
|
+ if ("1".equals(s.split(":")[1])) {
|
|
|
long c = subjectMap.get(s.split(":")[0]);
|
|
|
- subjectMap.put(s.split(":")[0],++c);
|
|
|
+ subjectMap.put(s.split(":")[0], ++c);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- for(SubjectOverview so : subjectOverviews){
|
|
|
+ for (SubjectOverview so : subjectOverviews) {
|
|
|
so.setUploadedCount(subjectMap.get(so.getSubject()));
|
|
|
- so.setLeftCount(workOverview.getStuTotalCount() - workOverview.getStuAbsentCount()-so.getUploadedCount());
|
|
|
+ so.setLeftCount(workOverview.getStuTotalCount() - workOverview.getStuAbsentCount() - so.getUploadedCount());
|
|
|
}
|
|
|
workOverview.setSubjectOverviews(subjectOverviews);
|
|
|
}
|