xiaofei 8 ماه پیش
والد
کامیت
b3a8843a2d

+ 8 - 8
distributed-print-business/src/main/resources/mapper/ClientMapper.xml

@@ -225,14 +225,14 @@
             </if>
         </where>
         <if test="orderType != null and orderType != '' and orderField != null and orderField != ''">
-            <choose>
-                <when test="orderField == 'examDate'">
-                    order by b.exam_start_time #{orderType}
-                </when>
-                <otherwise>
-                    order by #{orderField} #{orderType}
-                </otherwise>
-            </choose>
+            <if test="orderField == 'examDate'">
+                <if test="orderType == 'ASC'">
+                    order by b.exam_start_time ASC
+                </if>
+                <if test="orderType == 'DESC'">
+                    order by b.exam_start_time DESC
+                </if>
+            </if>
         </if>
         <if test="orderType == null or orderType == '' or orderField == null or orderField == ''">
             ORDER BY a.id DESC , b.id DESC

+ 78 - 22
distributed-print/install/mysql/init/teachcloud_db.sql

@@ -56,6 +56,8 @@ CREATE TABLE IF NOT EXISTS `basic_card_rule` (
   `undertaking_enable` tinyint(1) DEFAULT NULL COMMENT '启用考生承诺书',
   `undertaking_body` varchar(300) DEFAULT NULL COMMENT '考生承诺书内容',
   `default_option_number` int DEFAULT '4' COMMENT '选择题默认选项个数',
+  `contains_letter` TINYINT(1) NULL DEFAULT 0 COMMENT '学号是否包含字母',
+  `relation_list` VARCHAR(500) NULL COMMENT '学号字母所在位置坐标',
   `required_fields` text NOT NULL COMMENT '必选字段',
   `extend_fields` text NOT NULL COMMENT '扩展字段',
   `fill_fields` varchar(500) DEFAULT NULL COMMENT '变量信息填充字段',
@@ -290,6 +292,7 @@ CREATE TABLE IF NOT EXISTS `basic_print_config` (
   `exam_id` bigint DEFAULT NULL COMMENT '考试ID',
   `enable` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1启用/0禁用',
   `card_rule_id` bigint DEFAULT NULL COMMENT '题卡规则(-1代表通卡)',
+  `open_ab` TINYINT(1) NULL DEFAULT 0 COMMENT '是否开启AB卷',
   `print_content` varchar(255) DEFAULT NULL COMMENT '试卷、题卡',
   `backup_method` varchar(10) DEFAULT NULL COMMENT '试卷题卡备份方式(ROOM按考场)',
   `backup_count` double DEFAULT NULL COMMENT '试卷、题卡备份数量(0-1为按比例,大于等于1为按数量)',
@@ -791,6 +794,7 @@ CREATE TABLE IF NOT EXISTS `exam_detail_course` (
   `create_time` bigint DEFAULT NULL COMMENT '创建时间',
   `update_id` bigint DEFAULT NULL COMMENT '更新人',
   `update_time` bigint DEFAULT NULL COMMENT '更新时间',
+  `serial_number` INT(2) NULL COMMENT '备用卷',
   `paper_type` varchar(30) DEFAULT NULL COMMENT '当前试卷类型',
   `attachment_id` mediumtext COMMENT '备用题卡json',
   `common_attachment_id` mediumtext COMMENT '模式2下考生公共题卡json',
@@ -981,6 +985,7 @@ CREATE TABLE IF NOT EXISTS `exam_task` (
   `course_name` varchar(50) DEFAULT NULL COMMENT '课程名称',
   `specialty` varchar(100) DEFAULT NULL COMMENT '适用专业',
   `paper_number` varchar(30) NOT NULL COMMENT '试卷编号',
+  `open_ab` TINYINT(1) NULL DEFAULT 0 COMMENT '是否开启AB卷',
   `sequence` varchar(5) DEFAULT NULL COMMENT '课程创建的任务序号',
   `start_time` bigint DEFAULT NULL COMMENT '命题开始时间',
   `end_time` bigint DEFAULT NULL COMMENT '命题结束时间',
@@ -991,6 +996,7 @@ CREATE TABLE IF NOT EXISTS `exam_task` (
   `review` tinyint DEFAULT NULL COMMENT '是否审核,0-禁用,1-启用',
   `review_status` varchar(8) DEFAULT NULL COMMENT '审核状态:PASS-审核通过,NOT_PASS-审核不通过,默认为空-未审核',
   `enable` tinyint DEFAULT '1' COMMENT '是否启用,false:停用,true:启用',
+  `exam_task_detail_enable` TINYINT(1) NULL DEFAULT 1 COMMENT '卷库启用禁用状态。是否启用,false:停用,true:启用',
   `batch_no` varchar(32) DEFAULT NULL COMMENT '批次id',
   `teaching_room_id` bigint DEFAULT NULL COMMENT '教学单位、教研室',
   `teacher_name` varchar(100) DEFAULT NULL COMMENT '拟卷教师',
@@ -1005,6 +1011,8 @@ CREATE TABLE IF NOT EXISTS `exam_task` (
   `approve_form_attachment_id` bigint DEFAULT NULL COMMENT '命题任务审批表附件id',
   `source` varchar(45) DEFAULT NULL COMMENT '命题任务创建方式(ASSIGN:命题任务指派,SELF:老师自主发起)',
   `exam_task_content` MEDIUMTEXT NULL COMMENT '入库申请请求参数',
+  `paper_confirm_attachment_ids` TEXT NULL,
+  `remark` VARCHAR(200) NULL,
   PRIMARY KEY (`id`) USING BTREE,
   KEY `task_schoolId_flowId_idx` (`school_id`,`flow_id`,`card_rule_id`) USING BTREE,
   KEY `idx_school_id_paper_number` (`exam_id`,`paper_number`) USING BTREE
@@ -1044,12 +1052,14 @@ CREATE TABLE IF NOT EXISTS `exam_task_assign_paper_type` (
 CREATE TABLE IF NOT EXISTS `exam_task_detail` (
   `id` bigint NOT NULL COMMENT '主键',
   `exam_task_id` bigint NOT NULL COMMENT '命题任务ID',
+  `serial_number` int(2) NULL COMMENT '备用卷序号(1,2,3,4…)',
   `paper_type` varchar(20) DEFAULT NULL COMMENT '试卷类型,多个以”/“分隔,如A/B/C/D',
-  `draw_count` int DEFAULT NULL COMMENT '单次抽卷数量',
   `paper_attachment_ids` text COMMENT '转换为A3格式的试卷附件\n[\\n  	{\\n  		"type": "A",\\n  		"attachmentId": 12,\\n  		"totalPages": 3\\n  	},\\n  	{\\n  		"type": "B",\\n  		"attachmentId": 13,\\n  		"totalPages": 2\\n  	}\\n  ]',
   `make_method` varchar(45) DEFAULT NULL COMMENT '题卡绑定方式',
   `paper_confirm_attachment_ids` text COMMENT '[\n  	{\n  		"attachmentId": 12\n  	},\n  	{\n  		"attachmentId": 13\n  	}\n  ]',
   `remark` varchar(200) DEFAULT NULL COMMENT '备注',
+  `exposed` TINYINT(1) NULL DEFAULT 0 COMMENT '是否曝光',
+  `exposed_exam_id` BIGINT(20) NULL COMMENT '曝光的考试ID',
   `exposed_paper_type` varchar(20) DEFAULT NULL COMMENT '曝光卷型:已打印卷型,多个以”/“分隔,如A/B/C/D',
   `relate_paper_type` varchar(5) DEFAULT NULL COMMENT '已曝光卷型',
   `unexposed_paper_type` varchar(20) DEFAULT NULL COMMENT '未曝光卷型',
@@ -1601,6 +1611,7 @@ CREATE TABLE IF NOT EXISTS `mark_paper` (
   `status` varchar(10) DEFAULT NULL COMMENT '评卷状态',
   `package_code` mediumtext COMMENT '签到表编号',
   `user_id` bigint DEFAULT NULL COMMENT '命题老师ID',
+  `serial_number` INT(1) NULL COMMENT '备用卷',
   `paper_type` varchar(10) DEFAULT NULL COMMENT '试卷类型',
   `open_double_marking` bigint DEFAULT '0' COMMENT '是否开启双评:true-开启,false-关闭',
   PRIMARY KEY (`id`) USING BTREE,
@@ -1618,6 +1629,7 @@ CREATE TABLE IF NOT EXISTS `mark_paper_package` (
   `course_name` varchar(100) DEFAULT NULL COMMENT '科目名称',
   `paper_number` varchar(50) DEFAULT NULL COMMENT '试卷编号',
   `course_paper_id` varchar(50) NOT NULL COMMENT '课程试卷号',
+  `serial_number` INT(1) NULL COMMENT '备用卷序号',
   `paper_type` varchar(10) NOT NULL COMMENT '试卷类型',
   `package_code` varchar(10) NOT NULL COMMENT '卷袋号',
   PRIMARY KEY (`exam_id`,`course_paper_id`,`paper_type`,`package_code`),
@@ -1680,6 +1692,26 @@ CREATE TABLE IF NOT EXISTS `mark_question` (
   PRIMARY KEY (`id`) USING BTREE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='小题信息表';
 
+-- ----------------------------
+-- Table structure for mark_question_answer
+-- ----------------------------
+CREATE TABLE IF NOT EXISTS `mark_question_answer` (
+    `id` BIGINT(20) NOT NULL,
+    `exam_id` BIGINT(20) NULL COMMENT '考试ID',
+    `paper_number` VARCHAR(50) NULL COMMENT '试卷编号',
+    `paper_type` VARCHAR(10) NULL COMMENT '卷型',
+    `main_number` INT NULL COMMENT '大题号',
+    `sub_number` INT NULL COMMENT '小题号',
+    `answer` VARCHAR(16) NULL COMMENT '客观题标答',
+    `objective_policy` VARCHAR(16) NULL COMMENT '判分策略',
+    `objective_policy_score` DOUBLE NULL COMMENT '客观题判分策略计分(漏选给分)',
+    `create_id` BIGINT(20) NULL,
+    `create_time` BIGINT(20) NULL,
+    `update_id` BIGINT(20) NULL,
+    `update_time` BIGINT(20) NULL,
+    PRIMARY KEY (`id`))
+    COMMENT = '客观题信息';
+
 -- ----------------------------
 -- Table structure for mark_reject_history
 -- ----------------------------
@@ -1733,6 +1765,7 @@ CREATE TABLE IF NOT EXISTS `mark_student` (
   `course_id` bigint DEFAULT NULL COMMENT '课程ID(basic_course表ID)',
   `paper_number` varchar(100) DEFAULT NULL COMMENT '试卷类型',
   `course_paper_id` varchar(45) DEFAULT NULL COMMENT '试卷编号(交互)',
+  `serial_number` INT(2) NULL COMMENT '备用卷序号',
   `paper_type` varchar(10) DEFAULT NULL COMMENT '试卷编号',
   `secret_number` varchar(64) NOT NULL COMMENT '密号',
   `student_code` varchar(64) DEFAULT NULL COMMENT '学号',
@@ -1765,6 +1798,8 @@ CREATE TABLE IF NOT EXISTS `mark_student` (
   `breach_code` varchar(32) DEFAULT NULL,
   `omr_absent` bit(1) DEFAULT NULL COMMENT '识别缺考',
   `omr_absent_checked` bit(1) DEFAULT NULL COMMENT '识别缺考检查',
+  `omr_breach` TINYINT(1) NULL DEFAULT 0 COMMENT '识别违纪',
+  `paper_type_check_status` varchar(32) NOT NULL DEFAULT 'NORMAL' COMMENT '卷型检查状态',
   `card_number` int DEFAULT NULL,
   `exam_start_time` bigint DEFAULT NULL COMMENT '考试开始时间',
   `exam_end_time` bigint DEFAULT NULL COMMENT '考试结束时间',
@@ -1994,6 +2029,19 @@ CREATE TABLE IF NOT EXISTS `obe_course_requirement_matrix` (
   PRIMARY KEY (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='培养方案毕业要求支撑矩阵';
 
+-- ----------------------------
+-- Table structure for obe_course_outline_audit_report
+-- ----------------------------
+CREATE TABLE `obe_course_outline_audit_report`  (
+      `id` bigint NOT NULL COMMENT '主键',
+      `culture_program_id` bigint NOT NULL COMMENT '培养方案id',
+      `requirement_radar` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '毕业要求雷达报表',
+      `requirement_detail` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '毕业要求详情报表',
+      `requirement_degree` double NOT NULL COMMENT '毕业要求达成值',
+      PRIMARY KEY (`id`) USING BTREE,
+      UNIQUE INDEX `obe_course_requirement_report_unique`(`culture_program_id` ASC) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '课程毕业要求报表';
+
 -- ----------------------------
 -- Table structure for obe_course_requirement_report
 -- ----------------------------
@@ -2103,7 +2151,9 @@ CREATE TABLE IF NOT EXISTS `obe_culture_program_requirement` (
   `create_time` bigint DEFAULT NULL COMMENT '创建时间',
   `update_id` bigint DEFAULT NULL COMMENT '更新人ID',
   `update_time` bigint DEFAULT NULL COMMENT '更新时间',
-  PRIMARY KEY (`id`)
+   PRIMARY KEY (`id`) USING BTREE,
+   UNIQUE INDEX `obe_culture_program_requirement_unique`(`culture_program_id` ASC, `name` ASC) USING BTREE,
+   INDEX `uq_professional_id`(`culture_program_id` ASC) USING BTREE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='培养方案毕业要求';
 
 -- ----------------------------
@@ -2323,6 +2373,7 @@ CREATE TABLE IF NOT EXISTS `scan_answer_card` (
   `exam_id` bigint NOT NULL COMMENT '考试ID',
   `paper_number` varchar(100) DEFAULT NULL COMMENT '科目代码',
   `course_paper_id` varchar(50) NOT NULL COMMENT '试卷编号(交互)',
+  `serial_number` INT(2) NULL COMMENT '备用卷序号',
   `paper_type` varchar(100) NOT NULL COMMENT '试卷编号',
   `card_id` bigint DEFAULT NULL COMMENT '知学知考题卡ID(自定义卡格式为空)',
   `number` int NOT NULL COMMENT '序号',
@@ -2500,6 +2551,7 @@ CREATE TABLE IF NOT EXISTS `scan_paper_page` (
   `selective` text,
   `sheet_path` varchar(1000) NOT NULL,
   `recog_data` longtext,
+  `paper_type` TEXT NULL COMMENT '卷型',
   `creator_id` bigint DEFAULT NULL,
   `updater_id` bigint DEFAULT NULL,
   `create_time` bigint DEFAULT NULL,
@@ -2550,7 +2602,7 @@ CREATE TABLE IF NOT EXISTS `sys_config` (
   `org_id` bigint DEFAULT NULL COMMENT '机构id',
   `config_key` varchar(100) NOT NULL COMMENT '参数键名',
   `config_name` varchar(100) NOT NULL COMMENT '参数名称',
-  `config_value` varchar(100) DEFAULT NULL COMMENT '参数键值',
+  `config_value` MEDIUMTEXT DEFAULT NULL COMMENT '参数键值',
   `remark` varchar(100) DEFAULT NULL COMMENT '备注',
   `enable` tinyint DEFAULT '1' COMMENT '是否启用,0:停用,1:启用',
   `sort` int DEFAULT '1' COMMENT '排序',
@@ -5472,10 +5524,11 @@ CREATE TABLE IF NOT EXISTS `t_c_final_score` (
   `paper_number` varchar(100) DEFAULT NULL COMMENT '试卷编码',
   `name` varchar(100) NOT NULL COMMENT '考生姓名',
   `student_code` varchar(100) NOT NULL COMMENT '学号',
-  `score` double NOT NULL COMMENT '分数',
-  `score_detail` mediumtext NOT NULL COMMENT '成绩明细',
+  `score` double NULL COMMENT '分数',
+  `score_detail` mediumtext NULL COMMENT '成绩明细',
   `enable` tinyint NOT NULL DEFAULT '1' COMMENT '是否启用,0:停用,1:启用',
   `source` varchar(50) DEFAULT NULL COMMENT '来源,EXCEL_IMPORT:excel导入,SYNC:数据同步',
+  `teach_class_name` varchar(100) NOT NULL COMMENT '教学班',
   `create_id` bigint DEFAULT NULL COMMENT '创建人id',
   `create_time` bigint DEFAULT NULL COMMENT '创建时间',
   `update_id` bigint DEFAULT NULL COMMENT '更新人id',
@@ -5573,21 +5626,23 @@ CREATE TABLE IF NOT EXISTS `t_c_statistics_temp` (
 -- Table structure for t_c_usual_score
 -- ----------------------------
 CREATE TABLE IF NOT EXISTS `t_c_usual_score` (
-  `id` bigint NOT NULL COMMENT '主键',
-  `culture_program_id` bigint DEFAULT NULL COMMENT '培养方案id',
-  `exam_id` bigint DEFAULT NULL COMMENT '考试id',
-  `course_id` bigint DEFAULT NULL COMMENT '课程id',
-  `course_code` varchar(100) DEFAULT NULL COMMENT '课程编码',
-  `course_name` varchar(100) DEFAULT NULL COMMENT '课程名称',
-  `paper_number` varchar(100) DEFAULT NULL COMMENT '试卷编码',
-  `name` varchar(100) NOT NULL COMMENT '考生姓名',
-  `student_code` varchar(100) NOT NULL COMMENT '学号',
-  `score` mediumtext NOT NULL COMMENT '平常作业分数',
-  `enable` tinyint NOT NULL DEFAULT '1' COMMENT '是否启用,0:停用,1:启用',
-  `create_id` bigint DEFAULT NULL COMMENT '创建人id',
-  `create_time` bigint DEFAULT NULL COMMENT '创建时间',
-  `update_id` bigint DEFAULT NULL COMMENT '更新人id',
-  `update_time` bigint DEFAULT NULL COMMENT '更新时间',
+    `id` bigint NOT NULL COMMENT '主键',
+    `culture_program_id` bigint NULL DEFAULT NULL COMMENT '培养方案id',
+    `exam_id` bigint NULL DEFAULT NULL COMMENT '考试id',
+    `course_id` bigint NULL DEFAULT NULL COMMENT '课程id',
+    `course_code` varchar(100) NULL DEFAULT NULL COMMENT '课程编码',
+    `course_name` varchar(100) NULL DEFAULT NULL COMMENT '课程名称',
+    `paper_number` varchar(100) NULL DEFAULT NULL COMMENT '试卷编码',
+    `name` varchar(100) NOT NULL COMMENT '考生姓名',
+    `student_code` varchar(100) NOT NULL COMMENT '学号',
+    `score` mediumtext NULL COMMENT '平常作业分数',
+    `enable` tinyint NOT NULL DEFAULT 1 COMMENT '是否启用,0:停用,1:启用',
+    `source` varchar(50) NULL DEFAULT NULL COMMENT '来源,EXCEL_IMPORT:excel导入,SYNC:数据同步',
+    `teach_class_name` varchar(100) NOT NULL COMMENT '教学班',
+    `create_id` bigint NULL DEFAULT NULL COMMENT '创建人id',
+    `create_time` bigint NULL DEFAULT NULL COMMENT '创建时间',
+    `update_id` bigint NULL DEFAULT NULL COMMENT '更新人id',
+    `update_time` bigint NULL DEFAULT NULL COMMENT '更新时间',
   PRIMARY KEY (`id`),
   UNIQUE KEY `t_c_usual_score_unique` (`culture_program_id`,`course_id`,`student_code`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='平常作业成绩表';
@@ -5771,6 +5826,7 @@ CREATE TABLE IF NOT EXISTS `t_r_basic_info` (
   `participant` varchar(100) DEFAULT NULL COMMENT '评价参与人',
   `course_suggest` mediumtext COMMENT '课程持续改进',
   `enable` tinyint NOT NULL DEFAULT '1' COMMENT '是否启用,0:停用,1:启用',
+  `teach_class_name` varchar(100) NOT NULL COMMENT '教学班',
   `create_id` bigint DEFAULT NULL COMMENT '创建人id',
   `create_time` bigint DEFAULT NULL COMMENT '创建时间',
   `update_id` bigint DEFAULT NULL COMMENT '更新人id',
@@ -5779,8 +5835,8 @@ CREATE TABLE IF NOT EXISTS `t_r_basic_info` (
   `course_evaluation_result` mediumtext COMMENT '课程考核成绩评价结果',
   `course_evaluation_result_detail` mediumtext COMMENT '课程考核成绩评价明细结果',
   PRIMARY KEY (`id`),
-  UNIQUE KEY `t_r_basic_info_unique` (`culture_program_id`,`course_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='报告基本情况表';
+  UNIQUE KEY `t_r_basic_info_unique` (`culture_program_id`, `course_id`, `exam_id`, `paper_number`, `teach_class_name`)
+    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='报告基本情况表';
 
 -- ----------------------------
 -- Table structure for t_r_exam_student

+ 3 - 3
distributed-print/install/mysql/upgrade/3.4.2.sql

@@ -60,12 +60,12 @@ update exam_task_detail set open_ab = (case open_ab when 1 then 0 else 1 end);
 
 ALTER TABLE `basic_print_config` ADD COLUMN `open_ab` TINYINT(1) NULL DEFAULT 0 COMMENT '是否开启AB卷' AFTER `card_rule_id`;
 ALTER TABLE `mark_student` ADD COLUMN `omr_breach` TINYINT(1) NULL DEFAULT 0 COMMENT '识别违纪' AFTER `omr_absent_checked`;
-ALTER TABLE mark_student ADD COLUMN paper_type_check_status VARCHAR(32) NOT NULL COMMENT '卷型检查状态' AFTER omr_breach;
+ALTER TABLE mark_student ADD COLUMN paper_type_check_status VARCHAR(32) NOT NULL DEFAULT 'NORMAL' COMMENT '卷型检查状态' AFTER omr_breach;
 UPDATE mark_student SET paper_type_check_status = 'NORMAL' WHERE paper_type_check_status = '' or paper_type_check_status is null;
 
 ALTER TABLE `exam_task_detail`
 DROP COLUMN `open_ab`,
-ADD COLUMN `serial_number` int(2) NULL COMMENT '备用卷序号(1,2,3,4…)' AFTER `exam_task_id`,
+ADD COLUMN `serial_number` int(2) NULL COMMENT '备用卷序号(1,2,3,4…)' AFTER `exam_task_id`,
 ADD COLUMN `exposed` TINYINT(1) NULL DEFAULT 0 COMMENT '是否曝光' AFTER `remark`;
 ALTER TABLE `exam_task_detail` ADD COLUMN `exposed_exam_id` BIGINT(20) NULL COMMENT '曝光的考试ID' AFTER `exposed`;
 
@@ -105,7 +105,7 @@ CREATE TABLE `mark_question_answer` (
         PRIMARY KEY (`id`))
     COMMENT = '客观题信息';
 
-ALTER TABLE `exam_task` ADD COLUMN `exam_task_detail_enable` TINYINT(1) NULL DEFAULT 0 COMMENT '卷库启用禁用状态。是否启用,false:停用,true:启用' AFTER `enable`;
+ALTER TABLE `exam_task` ADD COLUMN `exam_task_detail_enable` TINYINT(1) NULL DEFAULT 1 COMMENT '卷库启用禁用状态。是否启用,false:停用,true:启用' AFTER `enable`;
 
 -- 2024-10-24
 INSERT INTO sys_privilege