Эх сурвалжийг харах

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

wangliang 5 жил өмнө
parent
commit
4f5b55e841

+ 5 - 0
stmms-ms-admin/src/main/java/cn/com/qmth/stmms/ms/admin/service/TrialService.java

@@ -51,6 +51,9 @@ public class TrialService {
     @Autowired
     MarkLogRepo markLogRepo;
 
+    @Autowired
+    MarkerGroupRepo markerGroupRepo;
+
     /**
      * 检查任务状态
      *
@@ -162,5 +165,7 @@ public class TrialService {
 
         //6.删除log日志
         markLogRepo.deleteByPaperIdIn(paperIds);
+        //7.删除分组
+        markerGroupRepo.deleteBySubjectAndWorkId(subject, workId);
     }
 }

+ 23 - 1
stmms-ms-core/src/main/java/cn/com/qmth/stmms/ms/core/domain/MarkLogOperType.java

@@ -52,7 +52,17 @@ public enum MarkLogOperType {
     /**
      * 采集
      */
-    COLLECT(9, "采集");
+    COLLECT(9, "采集"),
+
+    /**
+     * 系统自动打回
+     */
+    SYSTEM_CALLBACK_LEVEl(10, "系统自动打回"),
+
+    /**
+     * 重评
+     */
+    REEVALUATION_LEVEl(11, "重评");
 
     private int id;
 
@@ -100,6 +110,12 @@ public enum MarkLogOperType {
             return CALLBACK_ONCE_LEVEL.getId();
         } else if (value.trim().equals(ONE_CLICK_LEVEl.name)) {
             return ONE_CLICK_LEVEl.getId();
+        } else if (value.trim().equals(COLLECT.name)) {
+            return COLLECT.getId();
+        } else if (value.trim().equals(SYSTEM_CALLBACK_LEVEl.name)) {
+            return SYSTEM_CALLBACK_LEVEl.getId();
+        } else if (value.trim().equals(REEVALUATION_LEVEl.name)) {
+            return REEVALUATION_LEVEl.getId();
         } else {
             return CRITERION_PAPER_SET.getId();
         }
@@ -126,6 +142,12 @@ public enum MarkLogOperType {
             return CALLBACK_ONCE_LEVEL.name;
         } else if (id == ONE_CLICK_LEVEl.getId()) {
             return ONE_CLICK_LEVEl.name;
+        } else if (id == COLLECT.getId()) {
+            return COLLECT.name;
+        } else if (id == SYSTEM_CALLBACK_LEVEl.getId()) {
+            return SYSTEM_CALLBACK_LEVEl.name;
+        } else if (id == REEVALUATION_LEVEl.getId()) {
+            return REEVALUATION_LEVEl.name;
         } else {
             return CRITERION_PAPER_SET.name;
         }

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

@@ -9,7 +9,9 @@ import java.util.List;
 /**
  * Created by zhengmin on 2016/10/6.
  */
-public interface MarkerGroupRepo extends JpaRepository<MarkerGroup,Long>{
+public interface MarkerGroupRepo extends JpaRepository<MarkerGroup, Long> {
 
     List<MarkerGroup> findByWorkIdAndSubject(Long workId, Subject subject);
+
+    void deleteBySubjectAndWorkId(Subject subject, Long workId);
 }

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

@@ -39,7 +39,7 @@ public interface PaperRepo extends JpaRepository<Paper, Long>, JpaSpecificationE
 
     Page<Paper> findByQuestionId(Long questionId, Pageable pageable);
 
-    Paper findTopByLevelAndIsSampleAndIsMissingAndSubjectAndTestOrderByUpdatedOnDesc(String level, boolean isSample, boolean isMissing, Subject subject, int test);
+    Paper findTopByLevelAndIsSampleAndIsMissingAndSubjectAndTestAndAreaCodeOrderByUpdatedOnDesc(String level, boolean isSample, boolean isMissing, Subject subject, int test, String areaCode);
 
     /**
      * 统计各省各科试卷数量[areaCode,areaName,questionName,count]

+ 2 - 3
stmms-ms-marking/src/main/java/cn/com/qmth/stmms/ms/marking/api/MarkTaskApi.java

@@ -88,8 +88,7 @@ public class MarkTaskApi {
                 if (!Objects.isNull(batchNo)) {
                     predicates.add(builder.equal(root.get("paper").get("batchNo"), batchNo));
                 }
-            }
-            else if (stage == MarkStage.SCORE) {
+            } else if (stage == MarkStage.SCORE) {
                 predicates.add(builder.isNotNull(root.get("result")));
             }
             if (isSample != null) {
@@ -106,7 +105,7 @@ public class MarkTaskApi {
             if (Objects.nonNull(isSample) && isSample) {
                 ExamQuestion examQuestion = examQuestionRepo.findOne(questionId);
                 if (examQuestion.getTest() == TrialEnum.DEFAULT.getId()) {
-                    Paper paper = paperRepo.findTopByLevelAndIsSampleAndIsMissingAndSubjectAndTestOrderByUpdatedOnDesc(level, isSample, false, examQuestion.getSubject(), TrialEnum.START_TRIAL.getId());
+                    Paper paper = paperRepo.findTopByLevelAndIsSampleAndIsMissingAndSubjectAndTestAndAreaCodeOrderByUpdatedOnDesc(level, isSample, false, examQuestion.getSubject(), TrialEnum.START_TRIAL.getId(), examQuestion.getAreaCode());
                     if (Objects.nonNull(paper)) {
                         ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
                         HttpServletRequest request = attributes.getRequest();

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

@@ -19,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
@@ -199,6 +200,7 @@ public class PaperApi {
             if (Objects.nonNull(isSample) && isSample) {
                 ExamQuestion examQuestion = examQuestionRepo.findOne(questionId);
                 if (examQuestion.getTest() == TrialEnum.DEFAULT.getId()) {
+                    pageable = new PageRequest(0, 1, Sort.Direction.DESC, "updatedOn");
                     specification = (root, query, builder) -> {
                         List<Predicate> predicates = new ArrayList<>();
                         if (Objects.isNull(level)) {
@@ -222,6 +224,7 @@ public class PaperApi {
                         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()));
+                        predicates.add(builder.equal(root.get("areaCode"), examQuestion.getAreaCode()));
                         return builder.and(predicates.toArray(new Predicate[predicates.size()]));
                     };
                     papers = paperRepo.findAll(specification, pageable);