Quellcode durchsuchen

美术阅卷10月新增需求-试评BUG修复

wangliang vor 5 Jahren
Ursprung
Commit
100ac04965

+ 3 - 1
stmms-ms-admin/src/main/java/cn/com/qmth/stmms/ms/admin/service/DataUploadService.java

@@ -331,6 +331,7 @@ public class DataUploadService {
         studentRepo.deleteByWorkIdAndTest(workId, jsonObject.toJSONString());
         //3.paper
         paperRepo.deleteByWorkIdAndSubjectAndTest(workId, subject, TrialEnum.INIT.getId());
+        long startTime = System.currentTimeMillis();
         ExcelReader excelReader = new ExcelReader(StudentDTO.class);
         List<ExcelError> excelErrors = excelReader.reader(inputStream, new ExcelReaderHandle() {
 
@@ -370,7 +371,7 @@ public class DataUploadService {
                     if (student == null) {
                         throw new Exception("没有学生" + student.getName() + "信息");
                     } else {
-                        if (!student.getUploadStatus().contains("SX:1,SC:1,SM:1")) {
+                        if (!student.getUploadStatus().contains(subject + ":1")) {
                             throw new Exception("学生" + student.getName() + "未上传完试卷");
                         }
                         studentNew = new Student();
@@ -391,6 +392,7 @@ public class DataUploadService {
                     paperNew.setQuestionId(questionNew.getId());
                     paperNew.setSecretNumber(new StringBuffer(String.valueOf(subject.ordinal())).append(questionNew.getAreaCode()).append(random).toString());
                     paperNew.setActive(true);
+                    paperNew.setBatchNo(startTime);
                     paperRepo.save(paperNew);
                 } catch (Exception e) {
                     ExcelError excelError = new ExcelError();

+ 15 - 11
stmms-ms-marking/src/main/java/cn/com/qmth/stmms/ms/marking/api/MarkTaskApi.java

@@ -92,7 +92,7 @@ public class MarkTaskApi {
             }
             predicates.add(builder.equal(root.get("paper").get("isMissing"), false));
             predicates.add(builder.equal(root.get("paper").get("active"), true));
-            predicates.add(builder.equal(root.get("isActive"), false));
+//            predicates.add(builder.equal(root.get("isActive"), false));
             return builder.and(predicates.toArray(new Predicate[predicates.size()]));
         };
 
@@ -100,17 +100,21 @@ public class MarkTaskApi {
         if (Objects.isNull(markTasks) || markTasks.getContent().size() == 0) {
             if (Objects.nonNull(isSample) && isSample) {
                 ExamQuestion examQuestion = examQuestionRepo.findOne(questionId);
-                Paper paper = paperRepo.findTopByLevelAndIsSampleAndIsMissingAndSubjectAndTestOrderByUpdatedOnDesc(level, isSample, false, examQuestion.getSubject(), TrialEnum.START_TRIAL.getId());
-                ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
-                HttpServletRequest request = attributes.getRequest();
-                HttpSession session = request.getSession();
-                String token = (String) session.getAttribute("token");
-                if (Objects.isNull(token)) {
-                    throw new Exception("请先登录");
+                if (examQuestion.getTest() == TrialEnum.DEFAULT.getId()) {
+                    Paper paper = paperRepo.findTopByLevelAndIsSampleAndIsMissingAndSubjectAndTestOrderByUpdatedOnDesc(level, isSample, false, examQuestion.getSubject(), TrialEnum.START_TRIAL.getId());
+                    if (Objects.nonNull(paper)) {
+                        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
+                        HttpServletRequest request = attributes.getRequest();
+                        HttpSession session = request.getSession();
+                        String token = (String) session.getAttribute("token");
+                        if (Objects.isNull(token)) {
+                            throw new Exception("请先登录");
+                        }
+                        MarkUser markUser = (MarkUser) session.getAttribute("markUser");
+                        MarkTask markTask = new MarkTask(markUser, paper, stage, 1L);
+                        markTaskDTOs.add(markTaskAssembler.toDTO(markTask));
+                    }
                 }
-                MarkUser markUser = (MarkUser) session.getAttribute("markUser");
-                MarkTask markTask = new MarkTask(markUser, paper, stage, 1L);
-                markTaskDTOs.add(markTaskAssembler.toDTO(markTask));
             }
         }
         markTasks.getContent().forEach(m -> {

+ 28 - 28
stmms-ms-marking/src/main/java/cn/com/qmth/stmms/ms/marking/api/PaperApi.java

@@ -198,34 +198,34 @@ public class PaperApi {
         if (Objects.isNull(papers) || papers.getContent().size() == 0) {
             if (Objects.nonNull(isSample) && isSample) {
                 ExamQuestion examQuestion = examQuestionRepo.findOne(questionId);
-//                Paper paper = paperRepo.findTopByLevelAndIsSampleAndIsMissingAndSubjectAndTestOrderByUpdatedOnDesc(level, isSample, false, examQuestion.getSubject(), TrialEnum.START_TRIAL.getId());
-//                papers.getContent().add(paper);
-                specification = (root, query, builder) -> {
-                    List<Predicate> predicates = new ArrayList<>();
-                    if (Objects.isNull(level)) {
-                        predicates.add(builder.isNull(root.get("level")));
-                    } else {
-                        predicates.add(builder.equal(root.get("level"), level));
-                    }
-                    if (arbi != null) {
-                        predicates.add(builder.equal(root.get("isArbitrated"), arbi));
-                    }
-                    if (reject != null) {
-                        predicates.add(builder.equal(root.get("isRejected"), reject));
-                    }
-                    if (isSample != null) {
-                        predicates.add(builder.equal(root.get("isSample"), isSample));
-                    }
-                    if (markedLogic != null) {
-                        predicates.add(builder.equal(root.get("markedLogic"), markedLogic));
-                    }
-                    //空白卷不展示
-                    predicates.add(builder.equal(root.get("isMissing"), false));
-                    predicates.add(builder.equal(root.get("subject"), examQuestion.getSubject()));
-                    predicates.add(builder.equal(root.get("test"), TrialEnum.START_TRIAL.getId()));
-                    return builder.and(predicates.toArray(new Predicate[predicates.size()]));
-                };
-                papers = paperRepo.findAll(specification, pageable);
+                if (examQuestion.getTest() == TrialEnum.DEFAULT.getId()) {
+                    specification = (root, query, builder) -> {
+                        List<Predicate> predicates = new ArrayList<>();
+                        if (Objects.isNull(level)) {
+                            predicates.add(builder.isNull(root.get("level")));
+                        } else {
+                            predicates.add(builder.equal(root.get("level"), level));
+                        }
+                        if (arbi != null) {
+                            predicates.add(builder.equal(root.get("isArbitrated"), arbi));
+                        }
+                        if (reject != null) {
+                            predicates.add(builder.equal(root.get("isRejected"), reject));
+                        }
+                        if (isSample != null) {
+                            predicates.add(builder.equal(root.get("isSample"), isSample));
+                        }
+                        if (markedLogic != null) {
+                            predicates.add(builder.equal(root.get("markedLogic"), markedLogic));
+                        }
+                        //空白卷不展示
+                        predicates.add(builder.equal(root.get("isMissing"), false));
+                        predicates.add(builder.equal(root.get("subject"), examQuestion.getSubject()));
+                        predicates.add(builder.equal(root.get("test"), TrialEnum.START_TRIAL.getId()));
+                        return builder.and(predicates.toArray(new Predicate[predicates.size()]));
+                    };
+                    papers = paperRepo.findAll(specification, pageable);
+                }
             }
         }
         List<PaperDTO> paperDTOs = new ArrayList<>();

+ 1 - 1
stmms-ms-marking/src/main/java/cn/com/qmth/stmms/ms/marking/api/TaskApi.java

@@ -105,7 +105,7 @@ public class TaskApi {
 //                        markTask.setRejected(true);
 //                        markTask.setOriginLevel(markTask.getResult());
                         markTask.setResult(null);
-                        markTask.setActive(false);
+//                        markTask.setActive(false);
                     }
                 }
             }

+ 1 - 1
stmms-ms-marking/src/main/java/cn/com/qmth/stmms/ms/marking/service/MarkingService.java

@@ -109,7 +109,7 @@ public class MarkingService {
         markTask.setUpdatedOn(new Date());
         markTask.setMarkerName(maker.getName());
         //激活试卷
-        markTask.setActive(true);
+//        markTask.setActive(true);
 
         markTaskRepo.save(markTask);