فهرست منبع

美术阅卷11月新增需求-修复BUG

wangliang 5 سال پیش
والد
کامیت
431113d06d

+ 15 - 14
stmms-ms-admin/src/main/java/cn/com/qmth/stmms/ms/admin/assembler/WorkOverviewAssembler.java

@@ -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);
         }

+ 2 - 1
stmms-ms-admin/src/main/java/cn/com/qmth/stmms/ms/admin/exporter/ScoreExporter.java

@@ -7,6 +7,7 @@ import cn.com.qmth.stmms.ms.commons.utils.SqlUtil;
 import cn.com.qmth.stmms.ms.commons.utils.excel.ExportUtils;
 import cn.com.qmth.stmms.ms.core.domain.Paper;
 import cn.com.qmth.stmms.ms.core.domain.Student;
+import cn.com.qmth.stmms.ms.core.domain.enums.TrialEnum;
 import cn.com.qmth.stmms.ms.core.repository.ExamQuestionRepo;
 import cn.com.qmth.stmms.ms.core.repository.PaperRepo;
 import cn.com.qmth.stmms.ms.core.repository.StudentRepo;
@@ -96,7 +97,7 @@ public class ScoreExporter {
     @RequestMapping(method = RequestMethod.GET)
     public void export2(@RequestParam Long workId, HttpServletResponse response) {
         List<ScoreDTO> scoreDTOs = new ArrayList<>();
-        List<Student> students = studentRepo.findByWorkId(workId);
+        List<Student> students = studentRepo.findByWorkIdAndTest(workId, String.valueOf(TrialEnum.DEFAULT.getId()));
         for (Student student : students) {
             ScoreDTO scoreDTO = new ScoreDTO();
             scoreDTO.setSourceName(student.getSourceName());

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

@@ -415,7 +415,7 @@ public class DataUploadService {
      */
     @Transactional
     public void clearStudents(Long workId) {
-        Long isExist = paperRepo.countByWorkId(workId);
+        Long isExist = paperRepo.countByWorkIdAndTest(workId, TrialEnum.DEFAULT.getId());
         if (isExist > 0) {
             throw new RuntimeException("有考生已上传,无法清空");
         }

+ 38 - 36
stmms-ms-admin/src/main/java/cn/com/qmth/stmms/ms/admin/service/WorkService.java

@@ -1,15 +1,15 @@
 package cn.com.qmth.stmms.ms.admin.service;
 
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
 import cn.com.qmth.stmms.ms.core.domain.MarkSubject;
 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.repository.MarkSubjectRepo;
 import cn.com.qmth.stmms.ms.core.repository.PaperRepo;
 import cn.com.qmth.stmms.ms.core.repository.WorkRepo;
 import cn.com.qmth.stmms.ms.core.vo.Subject;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * 评卷工作服务
@@ -17,42 +17,44 @@ import cn.com.qmth.stmms.ms.core.vo.Subject;
 @Service
 public class WorkService {
 
-	@Autowired
-	private WorkRepo workRepo;
+    @Autowired
+    private WorkRepo workRepo;
 
-	@Autowired
-	private PaperRepo paperRepo;
+    @Autowired
+    private PaperRepo paperRepo;
 
-	@Autowired
-	private MarkSubjectRepo markSubjectRepo;
+    @Autowired
+    private MarkSubjectRepo markSubjectRepo;
 
-	/**
-	 * 删除评卷工作
-	 * @param workId
+    /**
+     * 删除评卷工作
+     *
+     * @param workId
      */
-	@Transactional
-	public void delete(Long workId) {
-		Long paperCount = paperRepo.countByWorkId(workId);
-		if (paperCount > 0) {
-			throw new RuntimeException("该评卷工作已有数据,不能删除");
-		}
-		workRepo.delete(workId);
-
-	}
-
-	/**
-	 * 创建评卷工作
-	 * @param work
+    @Transactional
+    public void delete(Long workId) {
+        Long paperCount = paperRepo.countByWorkIdAndTest(workId, TrialEnum.DEFAULT.getId());
+        if (paperCount > 0) {
+            throw new RuntimeException("该评卷工作已有数据,不能删除");
+        }
+        workRepo.delete(workId);
+
+    }
+
+    /**
+     * 创建评卷工作
+     *
+     * @param work
      */
-	@Transactional
-	public void save(Work work) {
-		workRepo.save(work);
-		Subject[] subjects = Subject.values();
-		for (Subject subject : subjects) {
-			MarkSubject markSubject = new MarkSubject(subject, work.getId());
-			markSubject.setWorkId(work.getId());
-			markSubjectRepo.save(markSubject);
-		}
-	}
+    @Transactional
+    public void save(Work work) {
+        workRepo.save(work);
+        Subject[] subjects = Subject.values();
+        for (Subject subject : subjects) {
+            MarkSubject markSubject = new MarkSubject(subject, work.getId());
+            markSubject.setWorkId(work.getId());
+            markSubjectRepo.save(markSubject);
+        }
+    }
 
 }

+ 2 - 1
stmms-ms-collect/src/main/java/cn/com/qmth/stmms/ms/collect/api/CollectApi.java

@@ -14,6 +14,7 @@ import cn.com.qmth.stmms.ms.commons.utils.image.ImageCompression;
 import cn.com.qmth.stmms.ms.core.domain.MarkSubject;
 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.MarkUser;
 import cn.com.qmth.stmms.ms.core.domain.user.Role;
 import cn.com.qmth.stmms.ms.core.repository.MarkSubjectRepo;
@@ -140,7 +141,7 @@ public class CollectApi {
             collectStuDTO.setRoomCode(s.getExamRoom());
             list.add(collectStuDTO);
         };
-        studentRepo.findByWorkId(activeWork.getId()).forEach(consumer);
+        studentRepo.findByWorkIdAndTest(activeWork.getId(), String.valueOf(TrialEnum.DEFAULT.getId())).forEach(consumer);
         return list;
     }
 

+ 1 - 1
stmms-ms-core/src/main/java/cn/com/qmth/stmms/ms/core/repository/ExamQuestionRepo.java

@@ -13,7 +13,7 @@ public interface ExamQuestionRepo extends JpaRepository<ExamQuestion, Long> {
 
     List<ExamQuestion> findByWorkIdAndSubject(Long workId, Subject subject);
 
-    long countByWorkId(Long workId);
+    long countByWorkIdAndTest(Long workId, int test);
 
     long countByWorkIdAndAreaCode(Long workId, String areaCode);
 

+ 1 - 1
stmms-ms-core/src/main/java/cn/com/qmth/stmms/ms/core/repository/PaperRepo.java

@@ -129,7 +129,7 @@ public interface PaperRepo extends JpaRepository<Paper, Long>, JpaSpecificationE
 
     long countByWorkIdAndScoreIsNull(Long workId);
 
-    Long countByWorkId(Long workId);
+    Long countByWorkIdAndTest(Long workId, int test);
 
     long countByWorkIdAndQuestionId(Long workId, Long questionId);
 

+ 3 - 3
stmms-ms-core/src/main/java/cn/com/qmth/stmms/ms/core/repository/StudentRepo.java

@@ -15,14 +15,14 @@ public interface StudentRepo extends JpaRepository<Student, Long>, JpaSpecificat
 
     Student findByWorkIdAndExamNumber(Long workId, String examNumber);
 
-    Student findByWorkIdAndExamNumberAndTest(Long workId, String examNumber,String test);
+    Student findByWorkIdAndExamNumberAndTest(Long workId, String examNumber, String test);
 
     void deleteByWorkId(Long workId);
 
-    List<Student> findByWorkId(Long workId);
+    List<Student> findByWorkIdAndTest(Long workId, String test);
 
     @Query(value = "select s.exam_number, s.name, s.area_name , s.area_code, s.exam_room, s.source_name from paper p join student s on p.work_id = s.work_id and p.exam_number = s.exam_number and p.area_code = s.area_code where p.work_id = ? and p.subject = ? and p.is_missing = true", nativeQuery = true)
     List<Object[]> listMissingBySubject(Long workId, String subject);
 
-    void deleteByWorkIdAndTest(Long workId,String test);
+    void deleteByWorkIdAndTest(Long workId, String test);
 }