Ver código fonte

3.4.0 update

xiaofei 11 meses atrás
pai
commit
454956364b

+ 10 - 8
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicExamStudentServiceImpl.java

@@ -441,15 +441,19 @@ public class BasicExamStudentServiceImpl extends ServiceImpl<BasicExamStudentMap
             MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumberAndPaperType(examId, entry.getKey(), null);
             MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumberAndPaperType(examId, entry.getKey(), null);
             if (markPaper == null && ExamModelEnum.MODEL4.equals(basicExam.getExamModel())) {
             if (markPaper == null && ExamModelEnum.MODEL4.equals(basicExam.getExamModel())) {
                 String paperType = SystemConstant.DEFAULT_PAPER_TYPE_A;
                 String paperType = SystemConstant.DEFAULT_PAPER_TYPE_A;
-                markPaper = new MarkPaper(examId, basicExamStudent.getCourseId(), entry.getKey(), String.valueOf(System.currentTimeMillis()), createId, paperType);
+                markPaper = new MarkPaper(examId, basicExamStudent.getCourseId(), entry.getKey(), String.valueOf(SystemConstant.getDbUuid()), createId, paperType);
                 markPaperService.save(markPaper);
                 markPaperService.save(markPaper);
             }
             }
             if (markPaper != null) {
             if (markPaper != null) {
+                List<MarkStudent> markStudentList = new ArrayList<>();
                 Set<String> secretNumberSet = new HashSet<>();
                 Set<String> secretNumberSet = new HashSet<>();
                 MarkPaper finalMarkPaper = markPaper;
                 MarkPaper finalMarkPaper = markPaper;
-                entry.getValue().forEach(m -> markStudentService.updateByBasicExamStudent(m, finalMarkPaper, secretNumberSet));
-                markPaperService.updateStudentCountByExamIdAndPaperNumberAndPaperType(examId, entry.getKey(), markPaper.getPaperType());
-                markPaperService.updateUploadCount(examId, entry.getKey(), markStudentService.countUploadedByExamIdAndPaperNumber(examId, entry.getKey()));
+                entry.getValue().forEach(m -> markStudentList.add(markStudentService.assembleByBasicExamStudent(m, finalMarkPaper, secretNumberSet)));
+                if (CollectionUtils.isNotEmpty(markStudentList)) {
+                    markStudentService.saveOrUpdateBatch(markStudentList);
+                    markPaperService.updateStudentCountByExamIdAndPaperNumberAndPaperType(examId, entry.getKey(), markPaper.getPaperType());
+                    markPaperService.updateUploadCount(examId, entry.getKey(), markStudentService.countUploadedByExamIdAndPaperNumber(examId, entry.getKey()));
+                }
             }
             }
         }
         }
     }
     }
@@ -505,10 +509,8 @@ public class BasicExamStudentServiceImpl extends ServiceImpl<BasicExamStudentMap
     @Override
     @Override
     public void clearPaperNumberAndPaperType(List<Long> ids) {
     public void clearPaperNumberAndPaperType(List<Long> ids) {
         UpdateWrapper<BasicExamStudent> updateWrapper = new UpdateWrapper<>();
         UpdateWrapper<BasicExamStudent> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.lambda().set(BasicExamStudent::getPaperNumber, null)
-                .set(BasicExamStudent::getPaperType, null)
-                .in(BasicExamStudent::getId, ids)
-                .isNull(BasicExamStudent::getPaperType);
+        updateWrapper.lambda().set(BasicExamStudent::getPaperType, null)
+                .in(BasicExamStudent::getId, ids);
         this.update(updateWrapper);
         this.update(updateWrapper);
     }
     }
 }
 }

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailServiceImpl.java

@@ -933,7 +933,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
                                 markPaperService.updateStudentCountByExamIdAndPaperNumberAndPaperType(examDetail.getExamId(), examDetailCourse.getPaperNumber(), paperType);
                                 markPaperService.updateStudentCountByExamIdAndPaperNumberAndPaperType(examDetail.getExamId(), examDetailCourse.getPaperNumber(), paperType);
                             }
                             }
                         }
                         }
-                        // 清空考生管理中试卷编号和卷型
+                        // 清空考生管理中卷型
                         basicExamStudentService.clearPaperNumberAndPaperType(examStudents.stream().filter(m->m.getBasicStudentId() != null).map(ExamStudent::getBasicStudentId).collect(Collectors.toList()));
                         basicExamStudentService.clearPaperNumberAndPaperType(examStudents.stream().filter(m->m.getBasicStudentId() != null).map(ExamStudent::getBasicStudentId).collect(Collectors.toList()));
                     }
                     }
                     examStudentService.removeByIds(examStudentIds);
                     examStudentService.removeByIds(examStudentIds);

+ 1 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/MarkStudentService.java

@@ -206,7 +206,7 @@ public interface MarkStudentService extends IService<MarkStudent> {
 
 
     void sheetExport(Long examId, String paperNumber, HttpServletResponse response);
     void sheetExport(Long examId, String paperNumber, HttpServletResponse response);
 
 
-    void updateByBasicExamStudent(BasicExamStudent basicExamStudent, MarkPaper markPaper, Set<String> secretNumberSet);
+    MarkStudent assembleByBasicExamStudent(BasicExamStudent basicExamStudent, MarkPaper markPaper, Set<String> secretNumberSet);
 
 
     void deleteByExamIdAndPaperNumberAndStudentCode(Long examId, String paperNumber, String studentCode);
     void deleteByExamIdAndPaperNumberAndStudentCode(Long examId, String paperNumber, String studentCode);
     void deleteByBasicStudentId(Long basicStudentId);
     void deleteByBasicStudentId(Long basicStudentId);

+ 3 - 2
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkStudentServiceImpl.java

@@ -1759,7 +1759,7 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
     }
     }
 
 
     @Override
     @Override
-    public void updateByBasicExamStudent(BasicExamStudent basicExamStudent, MarkPaper markPaper, Set<String> secretNumberSet) {
+    public MarkStudent assembleByBasicExamStudent(BasicExamStudent basicExamStudent, MarkPaper markPaper, Set<String> secretNumberSet) {
         MarkStudent markStudent = this.findByBasicStudentId(basicExamStudent.getId());
         MarkStudent markStudent = this.findByBasicStudentId(basicExamStudent.getId());
         if (markStudent == null) {
         if (markStudent == null) {
             if (MarkPaperStatus.FINISH.equals(markPaper.getStatus())) {
             if (MarkPaperStatus.FINISH.equals(markPaper.getStatus())) {
@@ -1773,11 +1773,12 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
                     markStudent.randomSecretNumber();
                     markStudent.randomSecretNumber();
                 }
                 }
             }
             }
+            secretNumberSet.add(markStudent.getSecretNumber());
         } else {
         } else {
             markStudent.setPaperNumber(basicExamStudent.getPaperNumber());
             markStudent.setPaperNumber(basicExamStudent.getPaperNumber());
             markStudent.setPaperType(basicExamStudent.getPaperType());
             markStudent.setPaperType(basicExamStudent.getPaperType());
         }
         }
-        this.saveOrUpdate(markStudent);
+        return markStudent;
     }
     }
 
 
     @Override
     @Override

+ 1 - 0
teachcloud-task/src/main/java/com/qmth/teachcloud/task/service/impl/PrintFinishServiceImpl.java

@@ -125,6 +125,7 @@ public class PrintFinishServiceImpl implements PrintFinishService {
                             student.randomSecretNumber();
                             student.randomSecretNumber();
                         }
                         }
                     }
                     }
+                    secretNumberSet.add(student.getSecretNumber());
                     markStudentList.add(student);
                     markStudentList.add(student);
                 }
                 }
             }
             }