浏览代码

联考版-迭代

xiaof 4 年之前
父节点
当前提交
4ded4fb3ef

+ 1 - 1
stmms-ms-commons/src/main/java/cn/com/qmth/stmms/ms/commons/utils/DbBackupUtils.java

@@ -50,7 +50,7 @@ public class DbBackupUtils {
                 sb.append(" -u" + dbConfig.getUserName());
                 sb.append(" -p" + dbConfig.getPassword());
                 sb.append(" " + dbConfig.getDbName() + " >");
-                sb.append(fileSql.getPath());
+                sb.append(fileSql.getAbsolutePath());
                 LOGGER.info("cmd命令为:{},开始备份数据库:" + sb.toString(), dbConfig.getDbName());
                 Runtime runtime = Runtime.getRuntime();
                 Process process = runtime.exec("cmd /c" + sb.toString());

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

@@ -121,7 +121,7 @@ public interface PaperRepo extends JpaRepository<Paper, Long>, JpaSpecificationE
             "SUM(IF(p.`is_shift` = 1, 1, 0))," +
             "SUM(IF(p.`is_shift_score` = 1, 1, 0))" +
             "FROM paper p " +
-            "WHERE p.`question_id` = ? and p.is_missing = false and p.is_test = ? " +
+            "WHERE p.`question_id` = ? and p.is_missing = false and p.is_test = ? and p.batch_no is not null " +
             "GROUP BY p.`level` ORDER BY p.`level`", nativeQuery = true)
     List<Object[]> countGroupByLevelAll(Long questionId, int test);
 
@@ -389,7 +389,7 @@ public interface PaperRepo extends JpaRepository<Paper, Long>, JpaSpecificationE
     void updateScoreByWorkIdAndSubject(Long workId, String name);
 
     @Modifying
-    @Query(value = "update paper p set p.level = null, p.redo_level = null, p.batch_no = null, p.is_active = false, p.is_arbitrated = false, p.is_manual = false, p.is_rejected = false, p.is_tagged = false, p.mark_by_leader = false, p.is_one_click = false where p.work_id = ?1 and p.subject = ?2", nativeQuery = true)
+    @Query(value = "update paper p set p.level = case p.is_sample when true then p.level else null end, p.redo_level = null, p.batch_no = null, p.is_active = false, p.is_arbitrated = false, p.is_manual = false, p.is_rejected = false, p.is_tagged = false, p.mark_by_leader = false, p.is_one_click = false where p.work_id = ?1 and p.subject = ?2", nativeQuery = true)
     void updateLevelByWorkIdAndSubject(Long workId, String name);
 
 //    List<Paper> findByWorkIdAndSubjectAndInspectRange(Long workId, Subject subject, Long inspectRange);

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

@@ -237,6 +237,7 @@ public class PaperApi {
 //                predicates.add(builder.equal(root.get("batchNo"), batchNo));
                 } else {
                     predicates.add(builder.equal(root.get("level"), level));
+                    predicates.add(builder.isNotNull(root.get("batchNo")));
                 }
             }
             if (arbi != null) {

+ 6 - 9
stmms-ms-marking/src/main/java/cn/com/qmth/stmms/ms/marking/service/StageControlService.java

@@ -160,15 +160,6 @@ public class StageControlService {
                 throw new RuntimeException("没有分档完成");
             }
 
-            if (Objects.nonNull(questionId)) {
-                Long questionId1 = Long.valueOf(questionId.toString());
-                int qcount = paperRepo.countByWorkIdAndQuestionIdAndSubjectAndLevelIsNullAndIsMissingFalseAndTest(workId, questionId1, subject, 0);
-                if (qcount == 0) {
-                    statusMap.put(markSubject.getId(), false);
-                    throw new RuntimeException("没有可分档任务");
-                }
-            }
-
             //任务数量大于0,小于等于待评数量
             if (taskCount == 0) {
                 statusMap.put(markSubject.getId(), false);
@@ -181,6 +172,12 @@ public class StageControlService {
                 Long questionId1 = Long.valueOf(questionId.toString());
                 waitCount = paperRepo.countByWorkIdAndQuestionIdAndSubjectAndIsMissingFalseAndActiveFalseAndBatchNoIsNullAndTest(workId, questionId1, subject, 0);
             }
+
+            if (waitCount == 0) {
+                statusMap.put(markSubject.getId(), false);
+                throw new RuntimeException("没有可分档任务");
+            }
+
             if (taskCount - waitCount > 0) {
                 statusMap.put(markSubject.getId(), false);
                 throw new RuntimeException("分配任务数量不能大于待评数量");