|
@@ -1,7 +1,13 @@
|
|
|
package cn.com.qmth.scancentral.service.impl;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
|
|
|
+import cn.com.qmth.scancentral.entity.SubjectEntity;
|
|
|
+import cn.com.qmth.scancentral.enums.ImageCheckStatus;
|
|
|
+import cn.com.qmth.scancentral.enums.UploadStatus;
|
|
|
+import cn.com.qmth.scancentral.service.StudentService;
|
|
|
+import cn.com.qmth.scancentral.service.SubjectService;
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.slf4j.Logger;
|
|
@@ -29,24 +35,36 @@ public class ImageCheckServiceImpl implements ImageCheckService {
|
|
|
|
|
|
@Autowired
|
|
|
private ToolExportService toolExportService;
|
|
|
-
|
|
|
@Autowired
|
|
|
private StudentDao studentDao;
|
|
|
-
|
|
|
+ @Autowired
|
|
|
+ private SubjectService subjectService;
|
|
|
+ @Autowired
|
|
|
+ private StudentService studentService;
|
|
|
@Override
|
|
|
public List<ImageCheckVo> list(Long examId) {
|
|
|
if (examId == null) {
|
|
|
throw new IllegalArgumentException("考试ID不能为空");
|
|
|
}
|
|
|
- List<ImageCheckVo> result = studentDao.countImageCheck(examId);
|
|
|
-
|
|
|
- for (ImageCheckVo vo : result) {
|
|
|
+ List<SubjectEntity> subjectList =subjectService.listByExamId(examId);
|
|
|
+// List<ImageCheckVo> result = studentDao.countImageCheck(examId);
|
|
|
+ List<ImageCheckVo> result = new ArrayList<>();
|
|
|
+ for (SubjectEntity subject: subjectList) {
|
|
|
+ ImageCheckVo vo =new ImageCheckVo();
|
|
|
+ vo.setSubjectCode(subject.getCode());
|
|
|
+ vo.setSubjectName(subject.getName());
|
|
|
+ vo.setTotalCount(studentService.countByExamIdAndSubjectCode(examId,subject.getCode()));
|
|
|
+ List<ImageCheckStatus> imageCheckStatusList = new ArrayList<>();
|
|
|
+ List<UploadStatus> fileUploadStatusList = new ArrayList<>();
|
|
|
+ vo.setFailedCount(studentService.getImageCheckFailedCount(examId,subject.getCode()));
|
|
|
+ vo.setDisposedCount(studentService.getImageCheckDisposedCount(examId,subject.getCode()));
|
|
|
if (vo.getTotalCount() == null || vo.getTotalCount() == 0) {
|
|
|
vo.setImageCheckProgress(null);
|
|
|
} else {
|
|
|
- double progress = MathUtil.percentage(vo.getDisposedCount(), vo.getTotalCount());
|
|
|
+ double progress = MathUtil.percentage(vo.getTotalCount() - vo.getDisposedCount(), vo.getTotalCount());
|
|
|
vo.setImageCheckProgress(progress);
|
|
|
}
|
|
|
+ result.add(vo);
|
|
|
}
|
|
|
|
|
|
return result;
|