瀏覽代碼

联考版-v3.1.0-测试bug修改

xiaof 2 年之前
父節點
當前提交
35121242fd

+ 220 - 54
sql/msyj-local-v3.1.0-last.sql → sql/msyj-local-v3.1.0.sql

@@ -5,13 +5,13 @@
  Source Server Type    : MySQL
  Source Server Type    : MySQL
  Source Server Version : 50717
  Source Server Version : 50717
  Source Host           : localhost:3306
  Source Host           : localhost:3306
- Source Schema         : msyj-local-v3.0.0
+ Source Schema         : aa
 
 
  Target Server Type    : MySQL
  Target Server Type    : MySQL
  Target Server Version : 50717
  Target Server Version : 50717
  File Encoding         : 65001
  File Encoding         : 65001
 
 
- Date: 12/05/2022 10:04:34
+ Date: 06/09/2022 13:55:32
 */
 */
 
 
 SET NAMES utf8mb4;
 SET NAMES utf8mb4;
@@ -48,6 +48,7 @@ CREATE TABLE `change_level`  (
   `id` bigint(20) NOT NULL AUTO_INCREMENT,
   `id` bigint(20) NOT NULL AUTO_INCREMENT,
   `work_id` bigint(20) NULL DEFAULT NULL,
   `work_id` bigint(20) NULL DEFAULT NULL,
   `subject` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
   `subject` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+  `stage` int(2) NULL DEFAULT NULL COMMENT '阶段',
   `paper_id` bigint(20) NULL DEFAULT NULL,
   `paper_id` bigint(20) NULL DEFAULT NULL,
   `original_level` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '原档位',
   `original_level` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '原档位',
   `audit_status` tinyint(1) NULL DEFAULT NULL COMMENT '改档审核:0-申请,1-同意,2-不同意',
   `audit_status` tinyint(1) NULL DEFAULT NULL COMMENT '改档审核:0-申请,1-同意,2-不同意',
@@ -161,6 +162,7 @@ CREATE TABLE `inspect_task`  (
   CONSTRAINT `inspect_task_ibfk_13` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `inspect_task_ibfk_13` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `inspect_task_ibfk_14` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `inspect_task_ibfk_14` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `inspect_task_ibfk_15` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `inspect_task_ibfk_15` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `inspect_task_ibfk_16` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `inspect_task_ibfk_2` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `inspect_task_ibfk_2` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `inspect_task_ibfk_3` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `inspect_task_ibfk_3` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `inspect_task_ibfk_4` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `inspect_task_ibfk_4` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
@@ -188,6 +190,8 @@ CREATE TABLE `level`  (
   `weight` int(11) NOT NULL,
   `weight` int(11) NOT NULL,
   `work_id` bigint(20) NULL DEFAULT NULL,
   `work_id` bigint(20) NULL DEFAULT NULL,
   `kdpt` int(11) NOT NULL,
   `kdpt` int(11) NOT NULL,
+  `rough_code` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '粗分档档位',
+  `rough_weight` int(11) NULL DEFAULT NULL COMMENT '粗分档典型值',
   PRIMARY KEY (`id`) USING BTREE,
   PRIMARY KEY (`id`) USING BTREE,
   UNIQUE INDEX `idx_level_workId_code`(`work_id`, `code`) USING BTREE,
   UNIQUE INDEX `idx_level_workId_code`(`work_id`, `code`) USING BTREE,
   CONSTRAINT `FK3km0g7jbkt78oj20csqeh26f2` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `FK3km0g7jbkt78oj20csqeh26f2` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
@@ -198,6 +202,7 @@ CREATE TABLE `level`  (
   CONSTRAINT `level_ibfk_13` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `level_ibfk_13` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `level_ibfk_14` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `level_ibfk_14` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `level_ibfk_15` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `level_ibfk_15` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `level_ibfk_16` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `level_ibfk_2` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `level_ibfk_2` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `level_ibfk_3` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `level_ibfk_3` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `level_ibfk_4` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `level_ibfk_4` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
@@ -261,6 +266,7 @@ CREATE TABLE `mark_subject`  (
   CONSTRAINT `mark_subject_ibfk_13` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `mark_subject_ibfk_13` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `mark_subject_ibfk_14` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `mark_subject_ibfk_14` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `mark_subject_ibfk_15` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `mark_subject_ibfk_15` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_subject_ibfk_16` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `mark_subject_ibfk_2` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `mark_subject_ibfk_2` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `mark_subject_ibfk_3` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `mark_subject_ibfk_3` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `mark_subject_ibfk_4` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `mark_subject_ibfk_4` FOREIGN KEY (`work_id`) REFERENCES `work` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
@@ -272,10 +278,24 @@ CREATE TABLE `mark_subject`  (
 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
 
 
 -- ----------------------------
 -- ----------------------------
--- Table structure for mark_task
+-- Table structure for mark_task_job
+-- ----------------------------
+DROP TABLE IF EXISTS `mark_task_job`;
+CREATE TABLE `mark_task_job`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `data_object` varchar(4000) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT 'object',
+  `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
+  `status` bit(1) NULL DEFAULT b'0' COMMENT '状态,0:未记录,1:已记录',
+  `work_id` bigint(20) NULL DEFAULT NULL COMMENT '工作区id',
+  `version` int(11) NULL DEFAULT 0 COMMENT '版本号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = latin1 COLLATE = latin1_swedish_ci COMMENT = '定时任务调度表' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for mark_task_level
 -- ----------------------------
 -- ----------------------------
-DROP TABLE IF EXISTS `mark_task`;
-CREATE TABLE `mark_task`  (
+DROP TABLE IF EXISTS `mark_task_level`;
+CREATE TABLE `mark_task_level`  (
   `id` bigint(20) NOT NULL AUTO_INCREMENT,
   `id` bigint(20) NOT NULL AUTO_INCREMENT,
   `work_id` bigint(20) NOT NULL,
   `work_id` bigint(20) NOT NULL,
   `paper_id` bigint(20) NOT NULL,
   `paper_id` bigint(20) NOT NULL,
@@ -307,37 +327,134 @@ CREATE TABLE `mark_task`  (
   INDEX `idx_mark_task_paper_id`(`paper_id`) USING BTREE,
   INDEX `idx_mark_task_paper_id`(`paper_id`) USING BTREE,
   INDEX `question_id`(`question_id`, `marker_id`, `stage`, `result`, `is_rejected`, `random_seq`, `random_seq_new`) USING BTREE,
   INDEX `question_id`(`question_id`, `marker_id`, `stage`, `result`, `is_rejected`, `random_seq`, `random_seq_new`) USING BTREE,
   INDEX `idx_union_1`(`marker_id`, `stage`, `result`, `random_seq`, `random_seq_new`) USING BTREE,
   INDEX `idx_union_1`(`marker_id`, `stage`, `result`, `random_seq`, `random_seq_new`) USING BTREE,
-  CONSTRAINT `FKa6xqlu9ml2e47x1o2u2yec7vm` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_ibfk_1` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_ibfk_10` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_ibfk_11` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_ibfk_12` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_ibfk_13` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_ibfk_14` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_ibfk_15` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_ibfk_2` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_ibfk_3` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_ibfk_4` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_ibfk_5` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_ibfk_6` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_ibfk_7` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_ibfk_8` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_ibfk_9` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
+  CONSTRAINT `FKq15ptavipihjxg24fo2hnuaiy` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_level_ibfk_1` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_level_ibfk_10` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_level_ibfk_11` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_level_ibfk_12` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_level_ibfk_13` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_level_ibfk_14` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_level_ibfk_15` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_level_ibfk_16` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_level_ibfk_2` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_level_ibfk_3` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_level_ibfk_4` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_level_ibfk_5` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_level_ibfk_6` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_level_ibfk_7` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_level_ibfk_8` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_level_ibfk_9` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
 
 
 -- ----------------------------
 -- ----------------------------
--- Table structure for mark_task_job
+-- Table structure for mark_task_rough_level
 -- ----------------------------
 -- ----------------------------
-DROP TABLE IF EXISTS `mark_task_job`;
-CREATE TABLE `mark_task_job`  (
-  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
-  `data_object` varchar(4000) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT 'object',
-  `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
-  `status` bit(1) NULL DEFAULT b'0' COMMENT '状态,0:未记录,1:已记录',
-  `work_id` bigint(20) NULL DEFAULT NULL COMMENT '工作区id',
-  `version` int(11) NULL DEFAULT 0 COMMENT '版本号',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = latin1 COLLATE = latin1_swedish_ci COMMENT = '定时任务调度表' ROW_FORMAT = Dynamic;
+DROP TABLE IF EXISTS `mark_task_rough_level`;
+CREATE TABLE `mark_task_rough_level`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT,
+  `work_id` bigint(20) NOT NULL,
+  `paper_id` bigint(20) NOT NULL,
+  `is_rejected` bit(1) NOT NULL,
+  `level_value` int(11) NULL DEFAULT NULL,
+  `marker_id` bigint(20) NOT NULL,
+  `marker_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+  `origin_level` int(11) NULL DEFAULT NULL,
+  `question_id` bigint(20) NULL DEFAULT NULL,
+  `result` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `level` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '最终档位(和paper表中level一致)',
+  `stage` int(11) NOT NULL,
+  `subject` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `created_on` datetime(0) NULL DEFAULT NULL,
+  `updated_on` datetime(0) NULL DEFAULT NULL,
+  `random_seq` int(11) NULL DEFAULT NULL,
+  `secret_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
+  `random_seq_new` bigint(20) NULL DEFAULT NULL COMMENT '随机号',
+  `is_active` bit(1) NULL DEFAULT b'0' COMMENT '是否激活',
+  `is_test` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否试评,0:不是,1:数据已导入,2:试评中',
+  `batch_no` bigint(45) NULL DEFAULT NULL COMMENT '批次号',
+  `is_change_stage` tinyint(1) NULL DEFAULT NULL COMMENT '是否改档',
+  `serial_number` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '叫号序号',
+  `display_number` int(11) NULL DEFAULT NULL,
+  `is_sample` bit(1) NULL DEFAULT NULL COMMENT '是否标准卷',
+  `deviation_direction` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '偏差方向',
+  `is_mark` bit(1) NULL DEFAULT b'0' COMMENT '是否标记',
+  PRIMARY KEY (`id`) USING BTREE,
+  INDEX `idx_mark_task_paper_id`(`paper_id`) USING BTREE,
+  INDEX `question_id`(`question_id`, `marker_id`, `stage`, `result`, `is_rejected`, `random_seq`, `random_seq_new`) USING BTREE,
+  INDEX `idx_union_1`(`marker_id`, `stage`, `result`, `random_seq`, `random_seq_new`) USING BTREE,
+  CONSTRAINT `FKg9qn80erklpyev237eux96hkr` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_rough_level_ibfk_1` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_rough_level_ibfk_10` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_rough_level_ibfk_11` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_rough_level_ibfk_12` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_rough_level_ibfk_13` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_rough_level_ibfk_14` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_rough_level_ibfk_15` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_rough_level_ibfk_16` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_rough_level_ibfk_2` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_rough_level_ibfk_3` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_rough_level_ibfk_4` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_rough_level_ibfk_5` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_rough_level_ibfk_6` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_rough_level_ibfk_7` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_rough_level_ibfk_8` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_rough_level_ibfk_9` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for mark_task_score
+-- ----------------------------
+DROP TABLE IF EXISTS `mark_task_score`;
+CREATE TABLE `mark_task_score`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT,
+  `work_id` bigint(20) NOT NULL,
+  `paper_id` bigint(20) NOT NULL,
+  `is_rejected` bit(1) NOT NULL,
+  `level_value` int(11) NULL DEFAULT NULL,
+  `marker_id` bigint(20) NOT NULL,
+  `marker_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+  `origin_level` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `question_id` bigint(20) NULL DEFAULT NULL,
+  `result` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `level` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '最终档位(和paper表中level一致)',
+  `stage` int(11) NOT NULL,
+  `subject` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `created_on` datetime(0) NULL DEFAULT NULL,
+  `updated_on` datetime(0) NULL DEFAULT NULL,
+  `random_seq` int(11) NULL DEFAULT NULL,
+  `secret_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
+  `random_seq_new` bigint(20) NULL DEFAULT NULL COMMENT '随机号',
+  `is_active` bit(1) NULL DEFAULT b'0' COMMENT '是否激活',
+  `is_test` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否试评,0:不是,1:数据已导入,2:试评中',
+  `batch_no` bigint(45) NULL DEFAULT NULL COMMENT '批次号',
+  `is_change_stage` tinyint(1) NULL DEFAULT NULL COMMENT '是否改档',
+  `serial_number` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '叫号序号',
+  `display_number` int(11) NULL DEFAULT NULL,
+  `is_sample` bit(1) NULL DEFAULT NULL COMMENT '是否标准卷',
+  `deviation_direction` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '偏差方向',
+  `is_mark` bit(1) NULL DEFAULT b'0' COMMENT '是否标记',
+  PRIMARY KEY (`id`) USING BTREE,
+  INDEX `idx_mark_task_paper_id`(`paper_id`) USING BTREE,
+  INDEX `question_id`(`question_id`, `marker_id`, `stage`, `result`, `is_rejected`, `random_seq`, `random_seq_new`) USING BTREE,
+  INDEX `idx_union_1`(`marker_id`, `stage`, `result`, `random_seq`, `random_seq_new`) USING BTREE,
+  CONSTRAINT `FK9sftme2i9tse0k40ulrsk8u6j` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_score_ibfk_1` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_score_ibfk_10` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_score_ibfk_11` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_score_ibfk_12` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_score_ibfk_13` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_score_ibfk_14` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_score_ibfk_15` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_score_ibfk_16` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_score_ibfk_2` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_score_ibfk_3` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_score_ibfk_4` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_score_ibfk_5` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_score_ibfk_6` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_score_ibfk_7` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_score_ibfk_8` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_task_score_ibfk_9` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
 
 
 -- ----------------------------
 -- ----------------------------
 -- Table structure for mark_user
 -- Table structure for mark_user
@@ -379,6 +496,7 @@ CREATE TABLE `mark_user`  (
   CONSTRAINT `mark_user_ibfk_14` FOREIGN KEY (`group_id`) REFERENCES `marker_group` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `mark_user_ibfk_14` FOREIGN KEY (`group_id`) REFERENCES `marker_group` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `mark_user_ibfk_15` FOREIGN KEY (`group_id`) REFERENCES `marker_group` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `mark_user_ibfk_15` FOREIGN KEY (`group_id`) REFERENCES `marker_group` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `mark_user_ibfk_16` FOREIGN KEY (`group_id`) REFERENCES `marker_group` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `mark_user_ibfk_16` FOREIGN KEY (`group_id`) REFERENCES `marker_group` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `mark_user_ibfk_17` FOREIGN KEY (`group_id`) REFERENCES `marker_group` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `mark_user_ibfk_2` FOREIGN KEY (`group_id`) REFERENCES `marker_group` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `mark_user_ibfk_2` FOREIGN KEY (`group_id`) REFERENCES `marker_group` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `mark_user_ibfk_3` FOREIGN KEY (`group_id`) REFERENCES `marker_group` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `mark_user_ibfk_3` FOREIGN KEY (`group_id`) REFERENCES `marker_group` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `mark_user_ibfk_4` FOREIGN KEY (`group_id`) REFERENCES `marker_group` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
   CONSTRAINT `mark_user_ibfk_4` FOREIGN KEY (`group_id`) REFERENCES `marker_group` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
@@ -395,9 +513,10 @@ CREATE TABLE `mark_user`  (
 DROP TABLE IF EXISTS `marker_group`;
 DROP TABLE IF EXISTS `marker_group`;
 CREATE TABLE `marker_group`  (
 CREATE TABLE `marker_group`  (
   `id` bigint(20) NOT NULL AUTO_INCREMENT,
   `id` bigint(20) NOT NULL AUTO_INCREMENT,
+  `work_id` bigint(20) NOT NULL,
   `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
   `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
   `subject` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
   `subject` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
-  `work_id` bigint(20) NOT NULL,
+  `stage` int(1) NULL DEFAULT NULL,
   PRIMARY KEY (`id`) USING BTREE
   PRIMARY KEY (`id`) USING BTREE
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
 
 
@@ -417,6 +536,62 @@ CREATE TABLE `marker_group_leader`  (
   PRIMARY KEY (`id`) USING BTREE
   PRIMARY KEY (`id`) USING BTREE
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
 
 
+-- ----------------------------
+-- Table structure for marker_group_student
+-- ----------------------------
+DROP TABLE IF EXISTS `marker_group_student`;
+CREATE TABLE `marker_group_student`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT,
+  `work_id` bigint(20) NOT NULL,
+  `subject` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+  `stage` int(1) NOT NULL COMMENT '所属阶段',
+  `group_id` bigint(20) NOT NULL COMMENT '分组ID',
+  `paper_id` bigint(20) NULL DEFAULT NULL COMMENT '试卷ID',
+  `question_id` bigint(20) NULL DEFAULT NULL COMMENT '考区ID',
+  `exam_number` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+  `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+  `area_code` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+  `area_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+  `exam_room` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+  `school` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+  `source_name` varchar(225) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '生源地',
+  `batch_no` bigint(20) NULL DEFAULT NULL COMMENT '批次号',
+  `used` tinyint(1) NULL DEFAULT NULL COMMENT '已否已发任务',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for message
+-- ----------------------------
+DROP TABLE IF EXISTS `message`;
+CREATE TABLE `message`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT,
+  `work_id` bigint(20) NULL DEFAULT NULL COMMENT '工作ID',
+  `subject` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '科目',
+  `stage` int(2) NULL DEFAULT NULL COMMENT '阶段',
+  `send_user_id` bigint(20) NULL DEFAULT NULL COMMENT '发件人ID',
+  `send_user_name` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发件人名称',
+  `content` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '消息内容',
+  `receive_user` mediumtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '收件人集合json',
+  `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '消息管理' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for message_receive
+-- ----------------------------
+DROP TABLE IF EXISTS `message_receive`;
+CREATE TABLE `message_receive`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT,
+  `message_id` bigint(20) NULL DEFAULT NULL,
+  `receive_user_id` bigint(20) NULL DEFAULT NULL,
+  `is_read` tinyint(1) NULL DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE,
+  INDEX `FKsg879qydqr4dx6r0khxfkkick`(`message_id`) USING BTREE,
+  CONSTRAINT `FKsg879qydqr4dx6r0khxfkkick` FOREIGN KEY (`message_id`) REFERENCES `message` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `message_receive_ibfk_1` FOREIGN KEY (`message_id`) REFERENCES `message` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '消息发送的用户' ROW_FORMAT = Dynamic;
+
 -- ----------------------------
 -- ----------------------------
 -- Table structure for paper
 -- Table structure for paper
 -- ----------------------------
 -- ----------------------------
@@ -428,7 +603,6 @@ CREATE TABLE `paper`  (
   `exam_number` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
   `exam_number` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
   `student_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
   `student_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
   `area_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
   `area_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
-  `idx` bigint(20) NULL DEFAULT NULL,
   `is_arbitrated` bit(1) NOT NULL,
   `is_arbitrated` bit(1) NOT NULL,
   `is_manual` bit(1) NOT NULL,
   `is_manual` bit(1) NOT NULL,
   `is_rejected` bit(1) NOT NULL,
   `is_rejected` bit(1) NOT NULL,
@@ -449,6 +623,7 @@ CREATE TABLE `paper`  (
   `source_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
   `source_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
   `inspect_level` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
   `inspect_level` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
   `inspector` bigint(20) NULL DEFAULT NULL,
   `inspector` bigint(20) NULL DEFAULT NULL,
+  `is_rough_sample` bit(1) NULL DEFAULT NULL COMMENT '粗分档标准卷',
   `is_sample` bit(1) NOT NULL,
   `is_sample` bit(1) NOT NULL,
   `sheet_md5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
   `sheet_md5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
   `slice_md5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
   `slice_md5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
@@ -456,17 +631,21 @@ CREATE TABLE `paper`  (
   `is_missing` bit(1) NOT NULL,
   `is_missing` bit(1) NOT NULL,
   `exam_room` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
   `exam_room` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
   `is_test` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否试评,0:不是,1:数据已导入,2:试评中',
   `is_test` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否试评,0:不是,1:数据已导入,2:试评中',
-  `is_active` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否激活',
+  `rough_batch_no` bigint(45) NULL DEFAULT NULL COMMENT '粗分档批次号',
   `batch_no` bigint(45) NULL DEFAULT NULL COMMENT '批次号',
   `batch_no` bigint(45) NULL DEFAULT NULL COMMENT '批次号',
   `score_batch_no` bigint(45) NULL DEFAULT NULL COMMENT '打分任务发布批次号',
   `score_batch_no` bigint(45) NULL DEFAULT NULL COMMENT '打分任务发布批次号',
   `is_shift` bit(1) NULL DEFAULT b'0' COMMENT '是否改档',
   `is_shift` bit(1) NULL DEFAULT b'0' COMMENT '是否改档',
   `is_shift_score` bit(1) NULL DEFAULT b'0' COMMENT '是否改档打分',
   `is_shift_score` bit(1) NULL DEFAULT b'0' COMMENT '是否改档打分',
+  `is_rough_one_click` bit(1) NULL DEFAULT b'0',
   `is_one_click` bit(1) NULL DEFAULT b'0' COMMENT '是否一键定档',
   `is_one_click` bit(1) NULL DEFAULT b'0' COMMENT '是否一键定档',
   `is_rejected_by_leader` bit(1) NULL DEFAULT b'0' COMMENT '是否科组长打回',
   `is_rejected_by_leader` bit(1) NULL DEFAULT b'0' COMMENT '是否科组长打回',
   `is_relate` bit(1) NULL DEFAULT b'0' COMMENT '是否关联试卷',
   `is_relate` bit(1) NULL DEFAULT b'0' COMMENT '是否关联试卷',
-  `sort_num` int(11) NULL DEFAULT NULL COMMENT '排序值',
+  `sort_num` int(11) NULL DEFAULT 0 COMMENT '排序值',
   `scan_user_id` bigint(20) NULL DEFAULT NULL COMMENT '采集员ID',
   `scan_user_id` bigint(20) NULL DEFAULT NULL COMMENT '采集员ID',
   `is_mark` bit(1) NULL DEFAULT b'0' COMMENT '是否标记',
   `is_mark` bit(1) NULL DEFAULT b'0' COMMENT '是否标记',
+  `rough_level` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
+  `redo_rough_level` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
+  `is_admin_mark` bit(1) NULL DEFAULT b'0' COMMENT '管理员标记',
   PRIMARY KEY (`id`) USING BTREE,
   PRIMARY KEY (`id`) USING BTREE,
   INDEX `idx_paper_exam_number`(`exam_number`) USING BTREE,
   INDEX `idx_paper_exam_number`(`exam_number`) USING BTREE,
   INDEX `idx_union_1`(`batch_no`) USING BTREE,
   INDEX `idx_union_1`(`batch_no`) USING BTREE,
@@ -482,23 +661,10 @@ DROP TABLE IF EXISTS `param_setting`;
 CREATE TABLE `param_setting`  (
 CREATE TABLE `param_setting`  (
   `id` bigint(10) NOT NULL AUTO_INCREMENT,
   `id` bigint(10) NOT NULL AUTO_INCREMENT,
   `work_id` bigint(10) NULL DEFAULT NULL COMMENT '工作id',
   `work_id` bigint(10) NULL DEFAULT NULL COMMENT '工作id',
-  `package_scan` tinyint(1) NULL DEFAULT NULL COMMENT '是否整包扫描1:是 0:否',
-  `image_encrypt` tinyint(1) NULL DEFAULT NULL COMMENT '是否加密1:是 0:否',
-  `name_rule` tinyint(1) NULL DEFAULT NULL COMMENT '图片命名规则(1:考号命名、0:随机码命名)',
-  `paper_stage` tinyint(1) NULL DEFAULT NULL COMMENT '试卷档位状态(1:已知、0:未知)',
-  `deviation` int(2) NULL DEFAULT NULL COMMENT '仲裁档位差',
-  `auto_callback` tinyint(1) NULL DEFAULT NULL COMMENT '是否自动打回(1:是、0:否)',
-  `majority` tinyint(1) NULL DEFAULT NULL COMMENT '是否过半定档(1:是、0:否)',
-  `cumulative_error` int(3) NULL DEFAULT NULL COMMENT '打回累计误差',
-  `level_show_all_paper` tinyint(1) NULL DEFAULT NULL COMMENT '分档阶段阅卷员是否显示所有试卷(1:是、0:否)',
-  `round_up` tinyint(1) NULL DEFAULT NULL COMMENT '分数处理方式(1:四舍五入、0:非零进一)',
-  `change_stage` tinyint(1) NULL DEFAULT NULL COMMENT '改档及改档打分(1:显示、0:不显示)',
-  `score_show_all_paper` tinyint(1) NULL DEFAULT NULL COMMENT '打分阶段阅卷员是否显示所有试卷(1:是、0:否)',
-  `prop_denominator` int(2) NULL DEFAULT NULL COMMENT '档位百分比分母(1: \"全部考生数\", 2: \"去掉缺考考生数\")',
-  `auto_callback_show_deviation` tinyint(1) NULL DEFAULT NULL COMMENT '自动打回时显示偏差',
-  `show_standard_paper_manage` int(11) NULL DEFAULT NULL,
-  `clear_data` int(11) NULL DEFAULT NULL,
-  `take_best` tinyint(1) NULL DEFAULT NULL COMMENT '取优原则(1:是、0:否)',
+  `collect_config` mediumtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '采集规则参数',
+  `level_config` mediumtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '细分档规则参数',
+  `rough_level_config` mediumtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '粗分档规则参数',
+  `score_config` mediumtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '打分规则参数',
   PRIMARY KEY (`id`) USING BTREE
   PRIMARY KEY (`id`) USING BTREE
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '参数设置' ROW_FORMAT = Dynamic;
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '参数设置' ROW_FORMAT = Dynamic;
 
 
@@ -520,7 +686,7 @@ CREATE TABLE `student`  (
   `source_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
   `source_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
   `relate_exam_number` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '关联考号',
   `relate_exam_number` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '关联考号',
   PRIMARY KEY (`id`) USING BTREE,
   PRIMARY KEY (`id`) USING BTREE,
-  UNIQUE INDEX `exam_number`(`exam_number`, `work_id`, `is_test`) USING BTREE,
+  UNIQUE INDEX `exam_number`(`exam_number`, `work_id`) USING BTREE,
   INDEX `idx_student_name`(`name`) USING BTREE
   INDEX `idx_student_name`(`name`) USING BTREE
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
 
 

+ 0 - 141
sql/v3.1.0表结构修改日志.sql

@@ -1,141 +0,0 @@
-ALTER TABLE `msyj-local-v3.1.0`.`param_setting`
-DROP COLUMN `take_best`,
-DROP COLUMN `clear_data`,
-DROP COLUMN `show_standard_paper_manage`,
-DROP COLUMN `auto_callback_show_deviation`,
-DROP COLUMN `prop_denominator`,
-DROP COLUMN `score_show_all_paper`,
-DROP COLUMN `change_stage`,
-DROP COLUMN `round_up`,
-DROP COLUMN `level_show_all_paper`,
-DROP COLUMN `cumulative_error`,
-DROP COLUMN `majority`,
-DROP COLUMN `auto_callback`,
-DROP COLUMN `deviation`,
-DROP COLUMN `paper_stage`,
-DROP COLUMN `name_rule`,
-DROP COLUMN `image_encrypt`,
-DROP COLUMN `package_scan`,
-ADD COLUMN `collect_config` MEDIUMTEXT NULL COMMENT '采集规则参数' AFTER `work_id`,
-ADD COLUMN `level_config` MEDIUMTEXT NULL COMMENT '细分档规则参数' AFTER `collect_config`,
-ADD COLUMN `rough_level_config` MEDIUMTEXT NULL COMMENT '粗分档规则参数' AFTER `level_config`,
-ADD COLUMN `score_config` MEDIUMTEXT NULL COMMENT '打分规则参数' AFTER `first_level_config`;
-
-
-CREATE TABLE `marker_group_student`  (
-                                         `id` bigint(20) NOT NULL AUTO_INCREMENT,
-                                         `work_id` bigint(20) NOT NULL,
-                                         `subject` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-                                         `stage` int(1) NOT NULL COMMENT '所属阶段',
-                                         `group_id` bigint(20) NOT NULL COMMENT '分组ID',
-                                         `paper_id` bigint(20) NOT NULL COMMENT '试卷ID',
-                                         `exam_number` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-                                         `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-                                         `area_code` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-                                         `area_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-                                         `exam_room` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-                                         `school` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-                                         `source_name` varchar(225) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '生源地',
-                                         `group_id` bigint(20) NOT NULL COMMENT '批次号',
-                                         `used` tinyint(1) NULL DEFAULT NULL COMMENT '已否已发任务',
-                                         PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-
-
-ALTER TABLE `marker_group`
-    CHANGE COLUMN `work_id` `work_id` BIGINT(20) NOT NULL AFTER `id`,
-    ADD COLUMN `stage` INT(1) NULL AFTER `subject`;
-
-ALTER TABLE `level`
-    ADD COLUMN `rough_code` varchar(2) NULL COMMENT '粗分档档位' AFTER `kdpt`,
-    ADD COLUMN `rough_weight` INT(11) NULL COMMENT '粗分档典型值' AFTER `rough_code`;
-
-CREATE TABLE `mark_task_rough_level`  (
-  `id` bigint(20) NOT NULL AUTO_INCREMENT,
-  `work_id` bigint(20) NOT NULL,
-  `paper_id` bigint(20) NOT NULL,
-  `is_rejected` bit(1) NOT NULL,
-  `level_value` int(11) NULL DEFAULT NULL,
-  `marker_id` bigint(20) NOT NULL,
-  `marker_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
-  `origin_level` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
-  `question_id` bigint(20) NULL DEFAULT NULL,
-  `result` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
-  `level` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '最终档位(和paper表中level一致)',
-  `stage` int(11) NOT NULL,
-  `subject` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
-  `created_on` datetime(0) NULL DEFAULT NULL,
-  `updated_on` datetime(0) NULL DEFAULT NULL,
-  `random_seq` int(11) NULL DEFAULT NULL,
-  `secret_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
-  `random_seq_new` bigint(20) NULL DEFAULT NULL COMMENT '随机号',
-  `is_active` bit(1) NULL DEFAULT b'0' COMMENT '是否激活',
-  `is_test` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否试评,0:不是,1:数据已导入,2:试评中',
-  `batch_no` bigint(45) NULL DEFAULT NULL COMMENT '批次号',
-  `is_change_stage` tinyint(1) NULL DEFAULT NULL COMMENT '是否改档',
-  `serial_number` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '叫号序号',
-  `display_number` int(11) NULL DEFAULT NULL,
-  `is_sample` bit(1) NULL DEFAULT NULL COMMENT '是否标准卷',
-  `deviation_direction` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '偏差方向',
-  `is_mark` bit(1) NULL DEFAULT b'0' COMMENT '是否标记',
-  PRIMARY KEY (`id`) USING BTREE,
-  INDEX `idx_mark_task_paper_id`(`paper_id`) USING BTREE,
-  INDEX `question_id`(`question_id`, `marker_id`, `stage`, `result`, `is_rejected`, `random_seq`, `random_seq_new`) USING BTREE,
-  INDEX `idx_union_1`(`marker_id`, `stage`, `result`, `random_seq`, `random_seq_new`) USING BTREE,
-  CONSTRAINT `mark_task_rough_level_ibfk_1` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_rough_level_ibfk_10` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_rough_level_ibfk_11` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_rough_level_ibfk_12` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_rough_level_ibfk_13` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_rough_level_ibfk_14` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_rough_level_ibfk_15` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_rough_level_ibfk_2` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_rough_level_ibfk_3` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_rough_level_ibfk_4` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_rough_level_ibfk_5` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_rough_level_ibfk_6` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_rough_level_ibfk_7` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_rough_level_ibfk_8` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
-  CONSTRAINT `mark_task_rough_level_ibfk_9` FOREIGN KEY (`paper_id`) REFERENCES `paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
-) ENGINE = InnoDB AUTO_INCREMENT = 152 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
-
-
-ALTER TABLE `paper`
-    ADD COLUMN `is_rough_sample` BIT(1) NULL DEFAULT NULL COMMENT '粗分档标准卷' ,
-    ADD COLUMN `rough_level` varchar(2) NULL COMMENT '粗分档档位' AFTER `is_tagged`,
-    ADD COLUMN `redo_rough_level` VARCHAR(5) NULL COMMENT '粗分档建议档位' AFTER `rough_level`,
-    ADD COLUMN `rough_batch_no` BIGINT(45) NULL COMMENT '粗分档批次号' AFTER `is_active`,
-    ADD COLUMN `is_rough_arbitrated` BIT(1) NULL COMMENT '粗分档仲裁' AFTER `is_mark`,
-    ADD COLUMN `is_rough_manual` BIT(1) NULL AFTER `is_rough_arbitrated`,
-    ADD COLUMN `is_rough_rejected` BIT(1) NULL COMMENT '粗分档打回' AFTER `is_rough_manual`,
-    ADD COLUMN `is_rough_mark` BIT(1) NULL COMMENT '粗分档标记' AFTER `is_rough_rejected`;
-
-ALTER TABLE `paper`
-    ADD COLUMN `is_rough_shift` BIT(1) NULL AFTER `redo_rough_level`,
-ADD COLUMN `is_rough_shift_score` BIT(1) NULL AFTER `is_rough_shift`;
-
-
-CREATE TABLE `message` (
-                       `id` BIGINT(20) NOT NULL AUTO_INCREMENT,
-                       `work_id` BIGINT(20) NULL COMMENT '工作ID',
-                       `subject` VARCHAR(10) NULL COMMENT '科目',
-                       `stage` INT(2) NULL COMMENT '阶段',
-                       `send_user_id` BIGINT(20) NULL COMMENT '发件人ID',
-                       `send_user_name` VARCHAR(45) NULL COMMENT '发件人名称',
-                       `content` VARCHAR(500) NULL COMMENT '消息内容',
-                       `receive_user` MEDIUMTEXT NULL COMMENT '收件人集合json',
-                       `create_time` DATETIME NULL COMMENT '创建时间',
-                       PRIMARY KEY (`id`))
-    COMMENT = '消息管理';
-
-CREATE TABLE `message_receive` (
-                              `id` BIGINT(20) NOT NULL AUTO_INCREMENT,
-                              `message_id` BIGINT(20) NULL,
-                              `receive_user_id` BIGINT(20) NULL,
-                              `is_read` tinyint(1) NULL,
-                              PRIMARY KEY (`id`))
-    COMMENT = '消息发送的用户';
-
-
-ALTER TABLE `change_level`
-    ADD COLUMN `stage` INT(2) NULL COMMENT '阶段' AFTER `subject`;

+ 0 - 2
sql/清空所有数据脚本.sql

@@ -9,7 +9,6 @@ delete from inspect_task;
 delete from `level`;
 delete from `level`;
 delete from mark_log;
 delete from mark_log;
 delete from mark_subject;
 delete from mark_subject;
-delete from mark_task;
 delete from mark_task_job;
 delete from mark_task_job;
 delete from mark_task_level;
 delete from mark_task_level;
 delete from mark_task_rough_level;
 delete from mark_task_rough_level;
@@ -40,7 +39,6 @@ alter table inspect_task AUTO_INCREMENT 1;
 alter table `level` AUTO_INCREMENT 1;
 alter table `level` AUTO_INCREMENT 1;
 alter table mark_log AUTO_INCREMENT 1;
 alter table mark_log AUTO_INCREMENT 1;
 -- alter table mark_subject AUTO_INCREMENT 1;
 -- alter table mark_subject AUTO_INCREMENT 1;
-alter table mark_task AUTO_INCREMENT 1;
 alter table mark_task_job AUTO_INCREMENT 1;
 alter table mark_task_job AUTO_INCREMENT 1;
 alter table mark_task_level AUTO_INCREMENT 1;
 alter table mark_task_level AUTO_INCREMENT 1;
 alter table mark_task_rough_level AUTO_INCREMENT 1;
 alter table mark_task_rough_level AUTO_INCREMENT 1;

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

@@ -452,9 +452,9 @@ public class ScoreExporter {
         //测试-导出档位成绩表
         //测试-导出档位成绩表
         StringBuilder sbAll = null;
         StringBuilder sbAll = null;
         if (!imageConfig.isCustomSubject()) {
         if (!imageConfig.isCustomSubject()) {
-            String scSql = "select temp.*, mt.`result`, p.source_name as sourceName, p.exam_number as examNumber, p.student_name as studentName, t.area_name as areaName, p.mark_by_leader as markByLeader, p.`rough_level` level, p.id upload, p.is_missing isMissing, p.is_rough_sample isSample,p.is_one_click isOneClick, cl.id isShift from student t left join paper p on t.work_id = p.work_id and t.exam_number = p.exam_number and p.subject = 'SC' left join mark_task_rough_level AS mt on p.work_id = mt.work_id and p.id = mt.paper_id left join (SELECT mu.id, mu.name AS teacherName, mu.`role`, mu.subject, mu.work_id AS workId FROM mark_user AS mu WHERE mu.work_id = ? AND mu.`role` = 'MARKER' AND (mu.mark_right = 0 OR mu.mark_right = 2) AND mu.subject = 'SC' AND mu.enabled = 1) temp on mt.work_id = temp.workId and mt.marker_id = temp.id left join  (SELECT id, work_id, paper_id FROM change_level WHERE work_id = ? AND subject = 'SC') cl ON p.work_id = cl.work_id and p.id = cl.paper_id WHERE mt.work_id = ? AND mt.stage = " + MarkStage.ROUGH_LEVEL.ordinal() + " AND p.is_missing = FALSE UNION ALL select temp.*, null as result, p.source_name as sourceName, p.exam_number as examNumber, p.student_name as studentName, t.area_name as areaName, p.mark_by_leader as markByLeader, p.`rough_level` level, p.id upload, p.is_missing missing, p.is_rough_sample isSample,p.is_one_click isOneClick, cl.id isShift from student t LEFT JOIN paper p ON t.work_id = p.work_id AND t.exam_number = p.exam_number LEFT JOIN (SELECT  id, work_id, paper_id FROM change_level WHERE work_id = ? AND subject = 'SC') cl ON p.work_id = cl.work_id AND p.id = cl.paper_id LEFT JOIN (SELECT mu.id,mu.name AS teacherName,mu.`role`,mu.subject, mu.work_id AS workId FROM  mark_user AS mu WHERE mu.work_id = ? AND mu.`role` = 'MARKER' AND (mu.mark_right = 0 OR mu.mark_right = 2) AND mu.subject = 'SC' AND mu.enabled = 1) temp ON 1 = 1 WHERE p.is_missing = TRUE AND p.work_id = ? AND p.subject = 'SC' ";
-            String smSql = "select temp.*, mt.`result`, p.source_name as sourceName, p.exam_number as examNumber, p.student_name as studentName, t.area_name as areaName, p.mark_by_leader as markByLeader, p.`rough_level` level, p.id upload, p.is_missing isMissing, p.is_rough_sample isSample,p.is_one_click isOneClick, cl.id isShift from student t left join paper p on t.work_id = p.work_id and t.exam_number = p.exam_number and p.subject = 'SM' left join mark_task_rough_level AS mt on p.work_id = mt.work_id and p.id = mt.paper_id left join (SELECT mu.id, mu.name AS teacherName, mu.`role`, mu.subject, mu.work_id AS workId FROM mark_user AS mu WHERE mu.work_id = ? AND mu.`role` = 'MARKER' AND (mu.mark_right = 0 OR mu.mark_right = 2) AND mu.subject = 'SM' AND mu.enabled = 1) temp on mt.work_id = temp.workId and mt.marker_id = temp.id left join  (SELECT id, work_id, paper_id FROM change_level WHERE work_id = ? AND subject = 'SM') cl ON p.work_id = cl.work_id and p.id = cl.paper_id WHERE mt.work_id = ? AND mt.stage = " + MarkStage.ROUGH_LEVEL.ordinal() + " AND p.is_missing = FALSE UNION ALL select temp.*, null as result, p.source_name as sourceName, p.exam_number as examNumber, p.student_name as studentName, t.area_name as areaName, p.mark_by_leader as markByLeader, p.`rough_level` level, p.id upload, p.is_missing missing, p.is_rough_sample isSample,p.is_one_click isOneClick, cl.id isShift from student t LEFT JOIN paper p ON t.work_id = p.work_id AND t.exam_number = p.exam_number LEFT JOIN (SELECT  id, work_id, paper_id FROM change_level WHERE work_id = ? AND subject = 'SM') cl ON p.work_id = cl.work_id AND p.id = cl.paper_id LEFT JOIN (SELECT mu.id,mu.name AS teacherName,mu.`role`,mu.subject, mu.work_id AS workId FROM  mark_user AS mu WHERE mu.work_id = ? AND mu.`role` = 'MARKER' AND (mu.mark_right = 0 OR mu.mark_right = 2) AND mu.subject = 'SM' AND mu.enabled = 1) temp ON 1 = 1 WHERE p.is_missing = TRUE AND p.work_id = ? AND p.subject = 'SM' ";
-            String sxSql = "select temp.*, mt.`result`, p.source_name as sourceName, p.exam_number as examNumber, p.student_name as studentName, t.area_name as areaName, p.mark_by_leader as markByLeader, p.`rough_level` level, p.id upload, p.is_missing isMissing, p.is_rough_sample isSample,p.is_one_click isOneClick, cl.id isShift from student t left join paper p on t.work_id = p.work_id and t.exam_number = p.exam_number and p.subject = 'SX' left join mark_task_rough_level AS mt on p.work_id = mt.work_id and p.id = mt.paper_id left join (SELECT mu.id, mu.name AS teacherName, mu.`role`, mu.subject, mu.work_id AS workId FROM mark_user AS mu WHERE mu.work_id = ? AND mu.`role` = 'MARKER' AND (mu.mark_right = 0 OR mu.mark_right = 2) AND mu.subject = 'SX' AND mu.enabled = 1) temp on mt.work_id = temp.workId and mt.marker_id = temp.id left join  (SELECT id, work_id, paper_id FROM change_level WHERE work_id = ? AND subject = 'SX') cl ON p.work_id = cl.work_id and p.id = cl.paper_id WHERE mt.work_id = ? AND mt.stage = " + MarkStage.ROUGH_LEVEL.ordinal() + " AND p.is_missing = FALSE UNION ALL select temp.*, null as result, p.source_name as sourceName, p.exam_number as examNumber, p.student_name as studentName, t.area_name as areaName, p.mark_by_leader as markByLeader, p.`rough_level` level, p.id upload, p.is_missing missing, p.is_rough_sample isSample,p.is_one_click isOneClick, cl.id isShift from student t LEFT JOIN paper p ON t.work_id = p.work_id AND t.exam_number = p.exam_number LEFT JOIN (SELECT  id, work_id, paper_id FROM change_level WHERE work_id = ? AND subject = 'SX') cl ON p.work_id = cl.work_id AND p.id = cl.paper_id LEFT JOIN (SELECT mu.id,mu.name AS teacherName,mu.`role`,mu.subject, mu.work_id AS workId FROM  mark_user AS mu WHERE mu.work_id = ? AND mu.`role` = 'MARKER' AND (mu.mark_right = 0 OR mu.mark_right = 2) AND mu.subject = 'SX' AND mu.enabled = 1) temp ON 1 = 1 WHERE p.is_missing = TRUE AND p.work_id = ? AND p.subject = 'SX' ";
+            String scSql = "select temp.*, mt.`result`, p.source_name as sourceName, p.exam_number as examNumber, p.student_name as studentName, t.area_name as areaName, p.mark_by_leader as markByLeader, p.`rough_level` level, p.id upload, p.is_missing isMissing, p.is_rough_sample isSample,p.is_one_click isOneClick, cl.id isShift from student t left join paper p on t.work_id = p.work_id and t.exam_number = p.exam_number and p.subject = 'SC' left join mark_task_rough_level AS mt on p.work_id = mt.work_id and p.id = mt.paper_id left join (SELECT mu.id, mu.name AS teacherName, mu.`role`, mu.subject, mu.work_id AS workId FROM mark_user AS mu WHERE mu.work_id = ? AND mu.`role` = 'MARKER' AND (mu.mark_right = 0 OR mu.mark_right = 2) AND mu.subject = 'SC' AND mu.enabled = 1) temp on mt.work_id = temp.workId and mt.marker_id = temp.id left join  (SELECT id, work_id, paper_id FROM change_level WHERE work_id = ? AND subject = 'SC') cl ON p.work_id = cl.work_id and p.id = cl.paper_id WHERE mt.work_id = ? AND mt.stage = " + MarkStage.ROUGH_LEVEL.ordinal() + " AND p.is_missing = FALSE UNION ALL select temp.*, null as result, p.source_name as sourceName, p.exam_number as examNumber, p.student_name as studentName, t.area_name as areaName, p.mark_by_leader as markByLeader, p.`rough_level` level, p.id upload, p.is_missing missing, p.is_rough_sample isSample,p.is_rough_one_click isOneClick, cl.id isShift from student t LEFT JOIN paper p ON t.work_id = p.work_id AND t.exam_number = p.exam_number LEFT JOIN (SELECT  id, work_id, paper_id FROM change_level WHERE work_id = ? AND subject = 'SC') cl ON p.work_id = cl.work_id AND p.id = cl.paper_id LEFT JOIN (SELECT mu.id,mu.name AS teacherName,mu.`role`,mu.subject, mu.work_id AS workId FROM  mark_user AS mu WHERE mu.work_id = ? AND mu.`role` = 'MARKER' AND (mu.mark_right = 0 OR mu.mark_right = 2) AND mu.subject = 'SC' AND mu.enabled = 1) temp ON 1 = 1 WHERE p.is_missing = TRUE AND p.work_id = ? AND p.subject = 'SC' ";
+            String smSql = "select temp.*, mt.`result`, p.source_name as sourceName, p.exam_number as examNumber, p.student_name as studentName, t.area_name as areaName, p.mark_by_leader as markByLeader, p.`rough_level` level, p.id upload, p.is_missing isMissing, p.is_rough_sample isSample,p.is_one_click isOneClick, cl.id isShift from student t left join paper p on t.work_id = p.work_id and t.exam_number = p.exam_number and p.subject = 'SM' left join mark_task_rough_level AS mt on p.work_id = mt.work_id and p.id = mt.paper_id left join (SELECT mu.id, mu.name AS teacherName, mu.`role`, mu.subject, mu.work_id AS workId FROM mark_user AS mu WHERE mu.work_id = ? AND mu.`role` = 'MARKER' AND (mu.mark_right = 0 OR mu.mark_right = 2) AND mu.subject = 'SM' AND mu.enabled = 1) temp on mt.work_id = temp.workId and mt.marker_id = temp.id left join  (SELECT id, work_id, paper_id FROM change_level WHERE work_id = ? AND subject = 'SM') cl ON p.work_id = cl.work_id and p.id = cl.paper_id WHERE mt.work_id = ? AND mt.stage = " + MarkStage.ROUGH_LEVEL.ordinal() + " AND p.is_missing = FALSE UNION ALL select temp.*, null as result, p.source_name as sourceName, p.exam_number as examNumber, p.student_name as studentName, t.area_name as areaName, p.mark_by_leader as markByLeader, p.`rough_level` level, p.id upload, p.is_missing missing, p.is_rough_sample isSample,p.is_rough_one_click isOneClick, cl.id isShift from student t LEFT JOIN paper p ON t.work_id = p.work_id AND t.exam_number = p.exam_number LEFT JOIN (SELECT  id, work_id, paper_id FROM change_level WHERE work_id = ? AND subject = 'SM') cl ON p.work_id = cl.work_id AND p.id = cl.paper_id LEFT JOIN (SELECT mu.id,mu.name AS teacherName,mu.`role`,mu.subject, mu.work_id AS workId FROM  mark_user AS mu WHERE mu.work_id = ? AND mu.`role` = 'MARKER' AND (mu.mark_right = 0 OR mu.mark_right = 2) AND mu.subject = 'SM' AND mu.enabled = 1) temp ON 1 = 1 WHERE p.is_missing = TRUE AND p.work_id = ? AND p.subject = 'SM' ";
+            String sxSql = "select temp.*, mt.`result`, p.source_name as sourceName, p.exam_number as examNumber, p.student_name as studentName, t.area_name as areaName, p.mark_by_leader as markByLeader, p.`rough_level` level, p.id upload, p.is_missing isMissing, p.is_rough_sample isSample,p.is_one_click isOneClick, cl.id isShift from student t left join paper p on t.work_id = p.work_id and t.exam_number = p.exam_number and p.subject = 'SX' left join mark_task_rough_level AS mt on p.work_id = mt.work_id and p.id = mt.paper_id left join (SELECT mu.id, mu.name AS teacherName, mu.`role`, mu.subject, mu.work_id AS workId FROM mark_user AS mu WHERE mu.work_id = ? AND mu.`role` = 'MARKER' AND (mu.mark_right = 0 OR mu.mark_right = 2) AND mu.subject = 'SX' AND mu.enabled = 1) temp on mt.work_id = temp.workId and mt.marker_id = temp.id left join  (SELECT id, work_id, paper_id FROM change_level WHERE work_id = ? AND subject = 'SX') cl ON p.work_id = cl.work_id and p.id = cl.paper_id WHERE mt.work_id = ? AND mt.stage = " + MarkStage.ROUGH_LEVEL.ordinal() + " AND p.is_missing = FALSE UNION ALL select temp.*, null as result, p.source_name as sourceName, p.exam_number as examNumber, p.student_name as studentName, t.area_name as areaName, p.mark_by_leader as markByLeader, p.`rough_level` level, p.id upload, p.is_missing missing, p.is_rough_sample isSample,p.is_rough_one_click isOneClick, cl.id isShift from student t LEFT JOIN paper p ON t.work_id = p.work_id AND t.exam_number = p.exam_number LEFT JOIN (SELECT  id, work_id, paper_id FROM change_level WHERE work_id = ? AND subject = 'SX') cl ON p.work_id = cl.work_id AND p.id = cl.paper_id LEFT JOIN (SELECT mu.id,mu.name AS teacherName,mu.`role`,mu.subject, mu.work_id AS workId FROM  mark_user AS mu WHERE mu.work_id = ? AND mu.`role` = 'MARKER' AND (mu.mark_right = 0 OR mu.mark_right = 2) AND mu.subject = 'SX' AND mu.enabled = 1) temp ON 1 = 1 WHERE p.is_missing = TRUE AND p.work_id = ? AND p.subject = 'SX' ";
             //拼装问号
             //拼装问号
             scSql = sqlUtil.sqlPrint(scSql, workId, workId, workId, workId, workId, workId);
             scSql = sqlUtil.sqlPrint(scSql, workId, workId, workId, workId, workId, workId);
             smSql = sqlUtil.sqlPrint(smSql, workId, workId, workId, workId, workId, workId);
             smSql = sqlUtil.sqlPrint(smSql, workId, workId, workId, workId, workId, workId);

+ 10 - 0
stmms-ms-core/src/main/java/cn/com/qmth/stmms/ms/core/domain/Paper.java

@@ -143,6 +143,8 @@ public class Paper implements Serializable {
     /**
     /**
      * 是否一键定档
      * 是否一键定档
      */
      */
+    private boolean isRoughOneClick;
+
     private boolean isOneClick;
     private boolean isOneClick;
 
 
     private Boolean isRejectedByLeader;
     private Boolean isRejectedByLeader;
@@ -564,6 +566,14 @@ public class Paper implements Serializable {
         isShiftScore = shiftScore;
         isShiftScore = shiftScore;
     }
     }
 
 
+    public boolean isRoughOneClick() {
+        return isRoughOneClick;
+    }
+
+    public void setRoughOneClick(boolean roughOneClick) {
+        isRoughOneClick = roughOneClick;
+    }
+
     public boolean isOneClick() {
     public boolean isOneClick() {
         return isOneClick;
         return isOneClick;
     }
     }

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

@@ -176,6 +176,7 @@ public interface MarkTaskLevelRepo extends JpaRepository<MarkTaskLevel, Long>, J
 
 
     List<MarkTaskLevel> findByPaperId(Long paperId);
     List<MarkTaskLevel> findByPaperId(Long paperId);
 
 
+    @Query(value = "select max(s.randomSeq) from MarkTaskLevel s where s.workId = ?1 and s.subject = ?2 and s.markerId = ?3 and s.questionId = ?4", nativeQuery = true)
     Integer findRandomSeqByWorkIdAndSubjectAndMarkerIdAndQuestionId(Long workId, Subject subject, Long markerId, Long questionId);
     Integer findRandomSeqByWorkIdAndSubjectAndMarkerIdAndQuestionId(Long workId, Subject subject, Long markerId, Long questionId);
 
 
     @Query("select m.paper.id from MarkTaskLevel m where m.workId = ?1 and m.questionId = ?2 and m.markerId = ?3 and m.stage = ?4 and m.isMark = ?5")
     @Query("select m.paper.id from MarkTaskLevel m where m.workId = ?1 and m.questionId = ?2 and m.markerId = ?3 and m.stage = ?4 and m.isMark = ?5")

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

@@ -143,6 +143,7 @@ public interface MarkTaskRoughLevelRepo extends JpaRepository<MarkTaskRoughLevel
 
 
     List<MarkTaskRoughLevel> findByPaperId(Long paperId);
     List<MarkTaskRoughLevel> findByPaperId(Long paperId);
 
 
+    @Query(value = "select max(s.randomSeq) from MarkTaskRoughLevel s where s.workId = ?1 and s.subject = ?2 and s.markerId = ?3 and s.questionId = ?4", nativeQuery = true)
     Integer findRandomSeqByWorkIdAndSubjectAndMarkerIdAndQuestionId(Long workId, Subject subject, Long markerId, Long questionId);
     Integer findRandomSeqByWorkIdAndSubjectAndMarkerIdAndQuestionId(Long workId, Subject subject, Long markerId, Long questionId);
 
 
     @Query("select m.paper.id from MarkTaskRoughLevel m where m.workId = ?1 and m.questionId = ?2 and m.markerId = ?3 and m.stage = ?4 and m.isMark = ?5")
     @Query("select m.paper.id from MarkTaskRoughLevel m where m.workId = ?1 and m.questionId = ?2 and m.markerId = ?3 and m.stage = ?4 and m.isMark = ?5")

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

@@ -391,31 +391,34 @@ public class PaperApi {
         MarkStage stage = MarkStage.valueOf(body.get("stage"));
         MarkStage stage = MarkStage.valueOf(body.get("stage"));
         if (action != null && level != null) {
         if (action != null && level != null) {
             if (action.equals("leveling")) {
             if (action.equals("leveling")) {
-                paper.setOneClick(true);
                 paper.setRejectedByLeader(false);
                 paper.setRejectedByLeader(false);
                 if (MarkStage.ROUGH_LEVEL.equals(stage)) {
                 if (MarkStage.ROUGH_LEVEL.equals(stage)) {
+                    paper.setRoughOneClick(true);
                     markingRoughLevelService.levelMarkPaper(paper, level, false);
                     markingRoughLevelService.levelMarkPaper(paper, level, false);
                 } else if (MarkStage.LEVEL.equals(stage)) {
                 } else if (MarkStage.LEVEL.equals(stage)) {
+                    paper.setOneClick(true);
                     markingLevelService.levelMarkPaper(paper, level, false);
                     markingLevelService.levelMarkPaper(paper, level, false);
                 }
                 }
             } else if (action.equals("sampling")) {
             } else if (action.equals("sampling")) {
-                paper.setOneClick(false);
                 paper.setRejectedByLeader(false);
                 paper.setRejectedByLeader(false);
                 if (MarkStage.ROUGH_LEVEL.equals(stage)) {
                 if (MarkStage.ROUGH_LEVEL.equals(stage)) {
+                    paper.setRoughOneClick(false);
                     markingRoughLevelService.levelMarkPaper(paper, level, true);
                     markingRoughLevelService.levelMarkPaper(paper, level, true);
                 } else if (MarkStage.LEVEL.equals(stage)) {
                 } else if (MarkStage.LEVEL.equals(stage)) {
+                    paper.setOneClick(false);
                     markingLevelService.levelMarkPaper(paper, level, true);
                     markingLevelService.levelMarkPaper(paper, level, true);
                 }
                 }
             } else if (action.equals("reject")) {
             } else if (action.equals("reject")) {
-                paper.setOneClick(false);
                 paper.setRejectedByLeader(true);
                 paper.setRejectedByLeader(true);
                 //需要打回的评卷员
                 //需要打回的评卷员
                 String ranges = body.get("range");
                 String ranges = body.get("range");
                 String leaderConfirmStr = body.get("leaderConfirm");
                 String leaderConfirmStr = body.get("leaderConfirm");
                 boolean leaderConfirm = leaderConfirmStr == null || "".equals(leaderConfirmStr) || Boolean.parseBoolean(leaderConfirmStr);
                 boolean leaderConfirm = leaderConfirmStr == null || "".equals(leaderConfirmStr) || Boolean.parseBoolean(leaderConfirmStr);
                 if (MarkStage.ROUGH_LEVEL.equals(stage)) {
                 if (MarkStage.ROUGH_LEVEL.equals(stage)) {
+                    paper.setRoughOneClick(false);
                     markingRoughLevelService.reject(paper, level, ranges, leaderConfirm);
                     markingRoughLevelService.reject(paper, level, ranges, leaderConfirm);
                 } else if (MarkStage.LEVEL.equals(stage)) {
                 } else if (MarkStage.LEVEL.equals(stage)) {
+                    paper.setOneClick(false);
                     markingLevelService.reject(paper, level, ranges, leaderConfirm);
                     markingLevelService.reject(paper, level, ranges, leaderConfirm);
                 }
                 }
             }
             }
@@ -449,31 +452,34 @@ public class PaperApi {
                 Paper paper = paperRepo.findOne(Long.valueOf(id));
                 Paper paper = paperRepo.findOne(Long.valueOf(id));
                 if (action != null && level != null) {
                 if (action != null && level != null) {
                     if (action.equals("leveling")) {
                     if (action.equals("leveling")) {
-                        paper.setOneClick(true);
                         paper.setRejectedByLeader(false);
                         paper.setRejectedByLeader(false);
                         if (MarkStage.ROUGH_LEVEL.equals(stage)) {
                         if (MarkStage.ROUGH_LEVEL.equals(stage)) {
+                            paper.setRoughOneClick(true);
                             markingRoughLevelService.levelMarkPaper(paper, level, false);
                             markingRoughLevelService.levelMarkPaper(paper, level, false);
                         } else if (MarkStage.LEVEL.equals(stage)) {
                         } else if (MarkStage.LEVEL.equals(stage)) {
+                            paper.setOneClick(true);
                             markingLevelService.levelMarkPaper(paper, level, false);
                             markingLevelService.levelMarkPaper(paper, level, false);
                         }
                         }
                     } else if (action.equals("sampling")) {
                     } else if (action.equals("sampling")) {
-                        paper.setOneClick(false);
                         paper.setRejectedByLeader(false);
                         paper.setRejectedByLeader(false);
                         if (MarkStage.ROUGH_LEVEL.equals(stage)) {
                         if (MarkStage.ROUGH_LEVEL.equals(stage)) {
+                            paper.setRoughOneClick(false);
                             markingRoughLevelService.levelMarkPaper(paper, level, true);
                             markingRoughLevelService.levelMarkPaper(paper, level, true);
                         } else if (MarkStage.LEVEL.equals(stage)) {
                         } else if (MarkStage.LEVEL.equals(stage)) {
+                            paper.setOneClick(false);
                             markingLevelService.levelMarkPaper(paper, level, true);
                             markingLevelService.levelMarkPaper(paper, level, true);
                         }
                         }
                     } else if (action.equals("reject")) {
                     } else if (action.equals("reject")) {
-                        paper.setOneClick(false);
                         paper.setRejectedByLeader(true);
                         paper.setRejectedByLeader(true);
                         //需要打回的评卷员
                         //需要打回的评卷员
                         String ranges = body.get("range");
                         String ranges = body.get("range");
                         String leaderConfirmStr = body.get("leaderConfirm");
                         String leaderConfirmStr = body.get("leaderConfirm");
                         boolean leaderConfirm = leaderConfirmStr == null || "".equals(leaderConfirmStr) || Boolean.parseBoolean(leaderConfirmStr);
                         boolean leaderConfirm = leaderConfirmStr == null || "".equals(leaderConfirmStr) || Boolean.parseBoolean(leaderConfirmStr);
                         if (MarkStage.ROUGH_LEVEL.equals(stage)) {
                         if (MarkStage.ROUGH_LEVEL.equals(stage)) {
+                            paper.setRoughOneClick(false);
                             markingRoughLevelService.reject(paper, level, ranges, leaderConfirm);
                             markingRoughLevelService.reject(paper, level, ranges, leaderConfirm);
                         } else if (MarkStage.LEVEL.equals(stage)) {
                         } else if (MarkStage.LEVEL.equals(stage)) {
+                            paper.setOneClick(false);
                             markingLevelService.reject(paper, level, ranges, leaderConfirm);
                             markingLevelService.reject(paper, level, ranges, leaderConfirm);
                         }
                         }
                     }
                     }
@@ -619,18 +625,24 @@ public class PaperApi {
                 } else if (Objects.equals(type, "paper")) {
                 } else if (Objects.equals(type, "paper")) {
                     predicates.add(builder.equal(root.get("secretNumber"), number));
                     predicates.add(builder.equal(root.get("secretNumber"), number));
                 } else if (Objects.equals(type, "task")) {
                 } else if (Objects.equals(type, "task")) {
-                    List<MarkTaskLevel> markTasks = markTaskLevelRepo.findByWorkIdAndSecretNumber(workId, number);
-                    if (markTasks == null || markTasks.isEmpty()) {
-                        List<MarkTaskScore> markScoreTasks = markTaskScoreRepo.findByWorkIdAndSecretNumber(workId, number);
-                        if (markScoreTasks == null || markScoreTasks.isEmpty()) {
+                    List<MarkTaskRoughLevel> markRoughTasks = markTaskRoughLevelRepo.findByWorkIdAndSecretNumber(workId, number);
+                    if(markRoughTasks.isEmpty()){
+                        List<MarkTaskLevel> markTasks = markTaskLevelRepo.findByWorkIdAndSecretNumber(workId, number);
+                        if (markTasks == null || markTasks.isEmpty()) {
+                            List<MarkTaskScore> markScoreTasks = markTaskScoreRepo.findByWorkIdAndSecretNumber(workId, number);
+                            if (markScoreTasks == null || markScoreTasks.isEmpty()) {
+                                predicates.add(builder.isNull(root.get("id")));
+                            } else {
+                                predicates.add(builder.equal(root.get("id"), markScoreTasks.get(0).getPaper().getId()));
+                            }
                             predicates.add(builder.isNull(root.get("id")));
                             predicates.add(builder.isNull(root.get("id")));
                         } else {
                         } else {
-                            predicates.add(builder.equal(root.get("id"), markScoreTasks.get(0).getPaper().getId()));
+                            predicates.add(builder.equal(root.get("id"), markTasks.get(0).getPaper().getId()));
                         }
                         }
-                        predicates.add(builder.isNull(root.get("id")));
                     } else {
                     } else {
-                        predicates.add(builder.equal(root.get("id"), markTasks.get(0).getPaper().getId()));
+                        predicates.add(builder.equal(root.get("id"), markRoughTasks.get(0).getPaper().getId()));
                     }
                     }
+
                 }
                 }
             }
             }
             if (!StringUtils.isEmpty(studentName)) {
             if (!StringUtils.isEmpty(studentName)) {

+ 1 - 0
stmms-ms-marking/src/main/java/cn/com/qmth/stmms/ms/marking/assembler/PaperAssembler.java

@@ -105,6 +105,7 @@ public class PaperAssembler {
             paperDTO.setPaperTest(paper.getTest());
             paperDTO.setPaperTest(paper.getTest());
             paperDTO.setShift(paper.isShift());
             paperDTO.setShift(paper.isShift());
             paperDTO.setShiftScore(paper.isShiftScore());
             paperDTO.setShiftScore(paper.isShiftScore());
+            paperDTO.setRoughOneClick(paper.isRoughOneClick());
             paperDTO.setOneClick(paper.isOneClick());
             paperDTO.setOneClick(paper.isOneClick());
             paperDTO.setIsRejectedByLeader(paper.isRejectedByLeader() != null && paper.isRejectedByLeader());
             paperDTO.setIsRejectedByLeader(paper.isRejectedByLeader() != null && paper.isRejectedByLeader());
             paperDTO.setScanUserId(paper.getScanUserId());
             paperDTO.setScanUserId(paper.getScanUserId());

+ 9 - 0
stmms-ms-marking/src/main/java/cn/com/qmth/stmms/ms/marking/dto/PaperDTO.java

@@ -55,6 +55,7 @@ public class PaperDTO implements Serializable{
     private int sortSum;
     private int sortSum;
     //考生姓名
     //考生姓名
     private String studentName;
     private String studentName;
+    private boolean isRoughOneClick;
     private boolean isOneClick;
     private boolean isOneClick;
     private boolean isMark;
     private boolean isMark;
     private boolean isAdminMark;
     private boolean isAdminMark;
@@ -346,6 +347,14 @@ public class PaperDTO implements Serializable{
         this.paperId = paperId;
         this.paperId = paperId;
     }
     }
 
 
+    public boolean isRoughOneClick() {
+        return isRoughOneClick;
+    }
+
+    public void setRoughOneClick(boolean roughOneClick) {
+        isRoughOneClick = roughOneClick;
+    }
+
     public boolean isOneClick() {
     public boolean isOneClick() {
         return isOneClick;
         return isOneClick;
     }
     }

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

@@ -94,7 +94,7 @@ public class DetermineLevelService {
                     int cumulateError = ParamCache.levelConfigMap.get(String.valueOf(workId)).getCumulativeError();
                     int cumulateError = ParamCache.levelConfigMap.get(String.valueOf(workId)).getCumulativeError();
                     List<String> markerIds = ArbitrationService.calcCumulateLevel(cumulateError, markTasks);
                     List<String> markerIds = ArbitrationService.calcCumulateLevel(cumulateError, markTasks);
                     // 不是所有评卷员累计误差都大于累计误差值
                     // 不是所有评卷员累计误差都大于累计误差值
-                    if (markerIds.size() != markTasks.size()) {
+                    if (!markerIds.isEmpty() && markerIds.size() != markTasks.size()) {
                         return new DeterResult(null, DeterType.REJECT, markerIds);
                         return new DeterResult(null, DeterType.REJECT, markerIds);
                     }
                     }
                 }
                 }

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

@@ -96,7 +96,7 @@ public class DetermineRoughLevelService {
                     int cumulateError = ParamCache.roughLevelConfigMap.get(String.valueOf(workId)).getCumulativeError();
                     int cumulateError = ParamCache.roughLevelConfigMap.get(String.valueOf(workId)).getCumulativeError();
                     List<String> markerIds = ArbitrationService.calcCumulateRoughLevel(cumulateError, markTasks);
                     List<String> markerIds = ArbitrationService.calcCumulateRoughLevel(cumulateError, markTasks);
                     // 不是所有评卷员累计误差都大于累计误差值
                     // 不是所有评卷员累计误差都大于累计误差值
-                    if (markerIds.size() != markTasks.size()) {
+                    if (!markerIds.isEmpty() && markerIds.size() != markTasks.size()) {
                         return new RoughDeterResult(null, DeterType.REJECT, markerIds);
                         return new RoughDeterResult(null, DeterType.REJECT, markerIds);
                     }
                     }
                 }
                 }

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

@@ -127,7 +127,7 @@ public class MarkingRoughLevelService {
             }
             }
             // 打回
             // 打回
             else if (determine.getDeterType() == DetermineRoughLevelService.DeterType.REJECT) {
             else if (determine.getDeterType() == DetermineRoughLevelService.DeterType.REJECT) {
-                paper.setOneClick(false);
+                paper.setRoughOneClick(false);
                 paper.setRejectedByLeader(true);
                 paper.setRejectedByLeader(true);
                 //需要打回的评卷员
                 //需要打回的评卷员
                 String ranges = String.join(",", determine.getRejectTasks());
                 String ranges = String.join(",", determine.getRejectTasks());