Browse Source

增加安装包install内容

luoshi 1 year ago
parent
commit
5b1b8a1157

+ 18 - 0
install/config.ini

@@ -0,0 +1,18 @@
+[app]
+version=1.3.14
+name=ÔÆÔľí
+portal=http://localhost:8000/
+module=tomcat
+depend=mysql,nginx
+
+[mysql]
+db=stmms_ft,college_scan_multi
+before=init.sql
+after=
+
+[upgrade]
+minmum_version=1.3.10
+
+[tomcat]
+port=8080
+exec=%QMTH_HOME%\markingcloud\tomcat\start.bat

+ 630 - 0
install/mysql/init/college_scan_multi.sql

@@ -0,0 +1,630 @@
+use college_scan_multi;
+
+SET FOREIGN_KEY_CHECKS=0;
+
+-- ----------------------------
+-- Table structure for absent
+-- ----------------------------
+DROP TABLE IF EXISTS `absent`;
+CREATE TABLE `absent` (
+  `exam_id` int(11) NOT NULL,
+  `examNumber` varchar(30) NOT NULL,
+  `campus_name` varchar(50) DEFAULT NULL,
+  `packageCode` varchar(30) DEFAULT NULL,
+  `studentCode` varchar(30) DEFAULT NULL,
+  `name` varchar(50) DEFAULT NULL,
+  `subjectCode` varchar(30) DEFAULT NULL,
+  `subjectName` varchar(50) DEFAULT NULL,
+  `seatNo` varchar(30) DEFAULT NULL,
+  `statues` varchar(30) DEFAULT NULL,
+  PRIMARY KEY (`examNumber`,`exam_id`),
+  KEY `PackageCode` (`packageCode`),
+  KEY `SubjectCode` (`subjectCode`),
+  KEY `Name` (`name`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for append_scan
+-- ----------------------------
+DROP TABLE IF EXISTS `append_scan`;
+CREATE TABLE `append_scan` (
+  `save_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
+  `exam_id` int(11) NOT NULL,
+  `exam_site` varchar(50) DEFAULT NULL,
+  `student_code` varchar(30) DEFAULT NULL,
+  `exam_number` varchar(30) NOT NULL,
+  `subject_code` varchar(30) DEFAULT NULL,
+  `sheet_count` int(5) DEFAULT NULL,
+  `slice_count` int(5) DEFAULT NULL,
+  `append_count` int(5) DEFAULT NULL,
+  `result_value` varchar(100) DEFAULT NULL,
+  `check_status` varchar(10) DEFAULT NULL,
+  PRIMARY KEY (`exam_id`,`exam_number`),
+  UNIQUE KEY `exam_id` (`exam_id`,`exam_number`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for baseinfo
+-- ----------------------------
+DROP TABLE IF EXISTS `baseinfo`;
+CREATE TABLE `baseinfo` (
+  `examId` int(11) NOT NULL,
+  `disk_name` varchar(50) NOT NULL,
+  `disk_serno` varchar(50) DEFAULT NULL,
+  `BatchNO` varchar(30) DEFAULT NULL,
+  `BatchNum` int(10) DEFAULT NULL,
+  `ClipCount` int(5) DEFAULT NULL,
+  `KgtCount` int(5) DEFAULT NULL,
+  `ClipRect` varchar(1000) DEFAULT NULL,
+  `conver` int(1) DEFAULT NULL,
+  PRIMARY KEY (`examId`,`disk_name`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for baseinfolog
+-- ----------------------------
+DROP TABLE IF EXISTS `baseinfolog`;
+CREATE TABLE `baseinfolog` (
+  `examID` int(11) DEFAULT NULL,
+  `DiskSerNo` varchar(50) DEFAULT NULL,
+  `FormID` int(3) DEFAULT NULL,
+  `ClipCount` int(3) DEFAULT NULL,
+  `KgtCount` int(3) DEFAULT NULL,
+  `EDateTime` datetime DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for campus
+-- ----------------------------
+DROP TABLE IF EXISTS `campus`;
+CREATE TABLE `campus` (
+  `campus_name` varchar(50) DEFAULT NULL,
+  `PackageCode` varchar(30) NOT NULL,
+  `picCount` int(3) DEFAULT NULL,
+  `exam_id` int(11) NOT NULL,
+  `Status` int(2) DEFAULT NULL,
+  PRIMARY KEY (`PackageCode`,`exam_id`),
+  KEY `camp_Id` (`PackageCode`,`exam_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for card_defcount
+-- ----------------------------
+DROP TABLE IF EXISTS `card_defcount`;
+CREATE TABLE `card_defcount` (
+  `exam_id` int(11) NOT NULL,
+  `check_Code` varchar(30) NOT NULL,
+  `Card_DefCount` int(3) DEFAULT NULL,
+  PRIMARY KEY (`exam_id`,`check_Code`),
+  KEY `exam_id` (`exam_id`,`check_Code`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for check_omr
+-- ----------------------------
+DROP TABLE IF EXISTS `check_omr`;
+CREATE TABLE `check_omr` (
+  `exam_id` int(11) NOT NULL,
+  `student_id` varchar(30) NOT NULL,
+  `subject_code` varchar(30) NOT NULL,
+  `exam_number` varchar(30) NOT NULL,
+  `sheetSrc` longtext,
+  `check_times` varchar(30) DEFAULT NULL,
+  `check_status` int(5) DEFAULT NULL,
+  `check_ip` varchar(30) DEFAULT NULL,
+  `newAnswer` longtext,
+  `mark_dth` longtext,
+  `admin_check_Ip` varchar(30) DEFAULT NULL,
+  `admin_check_status` int(5) DEFAULT NULL,
+  PRIMARY KEY (`exam_id`,`exam_number`),
+  KEY `check_ip` (`check_ip`) USING BTREE,
+  KEY `check_status` (`check_status`) USING BTREE,
+  KEY `exam_number` (`exam_number`),
+  KEY `exam_id` (`exam_id`),
+  KEY `mark_dth` (`mark_dth`(768)),
+  KEY `admin_check_Ip` (`admin_check_Ip`),
+  KEY `admin_check_status` (`admin_check_status`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for check_student
+-- ----------------------------
+DROP TABLE IF EXISTS `check_student`;
+CREATE TABLE `check_student` (
+  `exam_id` int(11) NOT NULL,
+  `exam_site` varchar(50) DEFAULT NULL,
+  `student_code` varchar(50) DEFAULT NULL,
+  `exam_number` varchar(30) NOT NULL,
+  `name` varchar(50) DEFAULT NULL,
+  `subject_code` varchar(30) DEFAULT NULL,
+  `subject_name` varchar(50) DEFAULT NULL,
+  `is_upload` tinyint(1) NOT NULL DEFAULT '0',
+  `scan_misspage_page` varchar(128) DEFAULT NULL,
+  `ocrdata_scan_count` int(3) DEFAULT NULL,
+  `ocrdata_scan_page` varchar(128) DEFAULT NULL,
+  `sign_scan_count` int(3) DEFAULT NULL,
+  `sign_scan_page` varchar(128) DEFAULT NULL,
+  `card_def_count` int(3) DEFAULT NULL,
+  `misspage` varchar(200) DEFAULT NULL,
+  `remark` varchar(200) DEFAULT NULL,
+  PRIMARY KEY (`exam_id`,`exam_number`),
+  KEY `exam_site` (`exam_site`),
+  KEY `ocrdata_scan_page` (`ocrdata_scan_page`),
+  KEY `sign_scan_page` (`sign_scan_page`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for cliprect
+-- ----------------------------
+DROP TABLE IF EXISTS `cliprect`;
+CREATE TABLE `cliprect` (
+  `ExamID` int(11) DEFAULT NULL,
+  `DiskSerNo` varchar(30) DEFAULT NULL,
+  `FormID` int(3) DEFAULT NULL,
+  `ClipCount` int(3) DEFAULT NULL,
+  `ClitRect` longtext
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for config
+-- ----------------------------
+DROP TABLE IF EXISTS `config`;
+CREATE TABLE `config` (
+  `exam_id` int(11) NOT NULL,
+  `config` longtext,
+  PRIMARY KEY (`exam_id`),
+  UNIQUE KEY `exam_id` (`exam_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for eb_exam_student
+-- ----------------------------
+DROP TABLE IF EXISTS `eb_exam_student`;
+CREATE TABLE `eb_exam_student` (
+  `auid` int(11) NOT NULL AUTO_INCREMENT,
+  `exam_id` int(11) NOT NULL COMMENT '考试ID',
+  `school_id` int(11) NOT NULL COMMENT '学校ID',
+  `campus_code` int(11) NOT NULL DEFAULT '0',
+  `campus_name` varchar(64) DEFAULT NULL COMMENT '学习中心名称',
+  `subject_code` varchar(32) NOT NULL COMMENT '科目代码',
+  `subject_name` varchar(128) DEFAULT NULL,
+  `student_id` int(11) DEFAULT NULL,
+  `secret_number` varchar(64) DEFAULT NULL,
+  `exam_number` varchar(64) NOT NULL COMMENT '准考证号',
+  `student_code` varchar(64) NOT NULL COMMENT '学号',
+  `name` varchar(64) NOT NULL COMMENT '姓名',
+  `package_code` varchar(64) DEFAULT NULL COMMENT '试卷袋编号',
+  `exam_site` varchar(32) DEFAULT NULL COMMENT '考点',
+  `exam_room` varchar(32) DEFAULT NULL COMMENT '考场',
+  `remark` varchar(128) DEFAULT NULL COMMENT '备注',
+  `subject_level` varchar(64) DEFAULT NULL COMMENT '层次',
+  `subject_category` varchar(64) DEFAULT NULL COMMENT '专业类型',
+  `college` varchar(64) NOT NULL COMMENT '学院',
+  `class_name` varchar(64) NOT NULL COMMENT '班级',
+  `teacher` varchar(64) NOT NULL COMMENT '任课老师',
+  `is_upload` tinyint(1) unsigned zerofill NOT NULL DEFAULT '0',
+  PRIMARY KEY (`exam_id`,`exam_number`),
+  UNIQUE KEY `auid` (`auid`),
+  KEY `subject_code` (`subject_code`),
+  KEY `exam_number` (`exam_number`),
+  KEY `student_code` (`student_code`),
+  KEY `package_code` (`package_code`),
+  KEY `exam_site` (`exam_site`),
+  KEY `exam_room` (`exam_room`)
+) ENGINE=InnoDB AUTO_INCREMENT=240437 DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for import_sign_page
+-- ----------------------------
+DROP TABLE IF EXISTS `import_sign_page`;
+CREATE TABLE `import_sign_page` (
+  `exam_id` int(5) NOT NULL,
+  `exam_site` varchar(50) DEFAULT NULL,
+  `exam_room` varchar(100) DEFAULT NULL,
+  `student_code` varchar(50) NOT NULL,
+  `student_name` varchar(100) DEFAULT NULL,
+  `subject_code` varchar(30) NOT NULL,
+  `subject_name` varchar(50) DEFAULT NULL,
+  `exam_number` varchar(20) NOT NULL,
+  `pagelist` varchar(50) DEFAULT NULL,
+  `is_absent` int(2) DEFAULT NULL,
+  `edit_time` varchar(30) DEFAULT NULL,
+  `edit_user` varchar(50) DEFAULT NULL,
+  PRIMARY KEY (`exam_number`,`exam_id`),
+  KEY `student_code_2` (`student_code`),
+  KEY `exam_number` (`exam_number`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for kslb
+-- ----------------------------
+DROP TABLE IF EXISTS `kslb`;
+CREATE TABLE `kslb` (
+  `zkzh` varchar(500) DEFAULT NULL,
+  `xm` varchar(500) DEFAULT NULL,
+  `ys` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT;
+
+-- ----------------------------
+-- Table structure for objective
+-- ----------------------------
+DROP TABLE IF EXISTS `objective`;
+CREATE TABLE `objective` (
+  `DiskSerNo` varchar(50) DEFAULT NULL,
+  `ExamID` int(11) NOT NULL,
+  `SubjectCode` varchar(30) NOT NULL,
+  `jData` longtext,
+  `ChoStart` int(10) DEFAULT '0',
+  `ChoEnd` int(10) DEFAULT '0',
+  `MulitChoStart` int(10) DEFAULT '0',
+  `MulitChoEnd` int(10) DEFAULT '0',
+  `JudgeStart` int(10) DEFAULT '0',
+  `JudgeEnd` int(10) DEFAULT '0',
+  `mark` int(10) DEFAULT '0',
+  `JudegMark` int(10) DEFAULT '0',
+  `logtime` datetime DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for ocrdata
+-- ----------------------------
+DROP TABLE IF EXISTS `ocrdata`;
+CREATE TABLE `ocrdata` (
+  `DiskSerNo` varchar(50) DEFAULT NULL,
+  `DiskSerNo_KGT` varchar(50) DEFAULT NULL,
+  `Batch` varchar(10) DEFAULT NULL,
+  `DeviceId` int(5) DEFAULT NULL,
+  `ExamId` int(5) NOT NULL,
+  `CampusCode` varchar(5) DEFAULT NULL,
+  `CampusName` varchar(30) DEFAULT NULL,
+  `exam_site` varchar(50) DEFAULT NULL,
+  `college` varchar(64) DEFAULT NULL,
+  `SubjectCode` varchar(30) DEFAULT NULL,
+  `SubjectName` varchar(50) DEFAULT NULL,
+  `OCRTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  `OCRUser` varchar(30) DEFAULT NULL,
+  `student_Code` varchar(50) DEFAULT NULL,
+  `ScanNumber` varchar(30) DEFAULT NULL,
+  `examNumber` varchar(30) NOT NULL,
+  `examName` varchar(50) DEFAULT NULL,
+  `StudentID` varchar(30) DEFAULT NULL,
+  `sheetSrc` longtext,
+  `sheetCount` int(3) DEFAULT NULL,
+  `sliceSrc` longtext,
+  `slicePic` longtext,
+  `sliceCount` int(3) DEFAULT NULL,
+  `absent` int(1) DEFAULT NULL,
+  `wj` int(1) DEFAULT NULL,
+  `check_absent_status` int(1) DEFAULT NULL,
+  `paper_type` varchar(5) DEFAULT NULL,
+  `card_type` varchar(50) DEFAULT NULL,
+  `card_name` varchar(50) DEFAULT NULL,
+  `omrUp` int(1) DEFAULT NULL,
+  `omrResult` longtext,
+  `FirstResult` longtext,
+  `SecondResult` longtext,
+  `FirstResultBack` longtext,
+  `SecondResultback` longtext,
+  `ScanRemark` longtext,
+  `kgtpoint` longtext,
+  `slicePoint` longtext,
+  `ans_checkIp1` varchar(30) DEFAULT NULL,
+  `ans_checkIp2` varchar(30) DEFAULT NULL,
+  `ans_checkIp3` varchar(30) DEFAULT NULL,
+  `misspage` varchar(30) DEFAULT NULL,
+  `misspageStatusCheck` varchar(10) DEFAULT NULL,
+  `ScanPagelist` varchar(30) DEFAULT NULL,
+  `scanPageCount` int(5) DEFAULT NULL,
+  `isUpload` int(3) NOT NULL DEFAULT '0',
+  `isUpload_kgt` int(3) NOT NULL DEFAULT '0',
+  `UpError` longtext,
+  `UploadTime` varchar(30) DEFAULT NULL,
+  `ServerPath` longtext,
+  `ServerAnswer` longtext,
+  `LoginName` varchar(30) DEFAULT '',
+  `loginPwd` varchar(30) DEFAULT NULL,
+  PRIMARY KEY (`ExamId`,`examNumber`),
+  KEY `fx_ExamId` (`ExamId`),
+  KEY `fx_CampusCode` (`CampusCode`),
+  KEY `fx_SubjectCode` (`SubjectCode`),
+  KEY `fx_examNumber` (`examNumber`),
+  KEY `fx_StudentID` (`StudentID`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT;
+
+-- ----------------------------
+-- Table structure for ocrdata_history
+-- ----------------------------
+DROP TABLE IF EXISTS `ocrdata_history`;
+CREATE TABLE `ocrdata_history` (
+  `remark` varchar(100) DEFAULT NULL,
+  `DiskSerNo` varchar(50) DEFAULT NULL,
+  `DiskSerNo_KGT` varchar(50) DEFAULT NULL,
+  `Batch` varchar(10) DEFAULT NULL,
+  `DeviceId` int(5) DEFAULT NULL,
+  `ExamId` int(5) NOT NULL,
+  `CampusCode` varchar(5) DEFAULT NULL,
+  `CampusName` varchar(30) DEFAULT NULL,
+  `exam_site` varchar(50) DEFAULT NULL,
+  `college` varchar(64) DEFAULT NULL,
+  `SubjectCode` varchar(30) DEFAULT NULL,
+  `SubjectName` varchar(50) DEFAULT NULL,
+  `OCRTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  `OCRUser` varchar(30) DEFAULT NULL,
+  `student_Code` varchar(50) DEFAULT NULL,
+  `ScanNumber` varchar(30) DEFAULT NULL,
+  `examNumber` varchar(30) NOT NULL,
+  `examName` varchar(50) DEFAULT NULL,
+  `StudentID` varchar(30) DEFAULT NULL,
+  `sheetSrc` longtext,
+  `sheetCount` int(3) DEFAULT NULL,
+  `sliceSrc` longtext,
+  `slicePic` longtext,
+  `sliceCount` int(3) DEFAULT NULL,
+  `absent` int(1) DEFAULT NULL,
+  `wj` int(1) DEFAULT NULL,
+  `check_absent_status` int(1) DEFAULT NULL,
+  `paper_type` varchar(5) DEFAULT NULL,
+  `card_type` varchar(50) DEFAULT NULL,
+  `card_name` varchar(50) DEFAULT NULL,
+  `omrUp` int(1) DEFAULT NULL,
+  `omrResult` longtext,
+  `FirstResult` longtext,
+  `SecondResult` longtext,
+  `ScanRemark` longtext,
+  `kgtpoint` longtext,
+  `slicePoint` longtext,
+  `ScanPagelist` varchar(30) DEFAULT NULL,
+  `scanPageCount` int(5) DEFAULT NULL,
+  `isUpload` int(3) DEFAULT '0',
+  `isUpload_kgt` int(3) DEFAULT '0',
+  KEY `ExamId` (`ExamId`),
+  KEY `SubjectCode` (`SubjectCode`),
+  KEY `examNumber` (`examNumber`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for omrresult
+-- ----------------------------
+DROP TABLE IF EXISTS `omrresult`;
+CREATE TABLE `omrresult` (
+  `examid` int(11) DEFAULT '0',
+  `subjectCode` varchar(30) DEFAULT NULL,
+  `examNumber` varchar(30) DEFAULT '',
+  `FirstResult` longtext,
+  `SecondResult` longtext,
+  `newFirstResult` longtext,
+  `newSecondResult` longtext,
+  `newFirst` longtext,
+  `newSecond` longtext,
+  `Status` int(1) DEFAULT NULL,
+  KEY `FirstResult` (`FirstResult`(250)),
+  KEY `SecondResult` (`SecondResult`(250))
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for registno
+-- ----------------------------
+DROP TABLE IF EXISTS `registno`;
+CREATE TABLE `registno` (
+  `DiskSerNo` varchar(30) DEFAULT NULL,
+  `ExamId` int(11) NOT NULL,
+  `RegistNo` varchar(30) NOT NULL,
+  `OCRTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `PicSrc` longtext,
+  `RegistCount` int(3) DEFAULT NULL,
+  `isUpload` int(1) NOT NULL DEFAULT '0',
+  `UpError` varchar(255) DEFAULT NULL,
+  `UploadTime` varchar(30) DEFAULT NULL,
+  `ServerPath` longtext,
+  `ServerAnswer` longtext,
+  `LoginName` varchar(30) DEFAULT NULL,
+  `loginPwd` varchar(30) DEFAULT NULL,
+  PRIMARY KEY (`ExamId`,`RegistNo`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for registqty
+-- ----------------------------
+DROP TABLE IF EXISTS `registqty`;
+CREATE TABLE `registqty` (
+  `DiskSerNo` varchar(30) NOT NULL,
+  `Batch` varchar(30) NOT NULL,
+  `Qty` varchar(10) DEFAULT NULL,
+  PRIMARY KEY (`DiskSerNo`,`Batch`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for sign_page
+-- ----------------------------
+DROP TABLE IF EXISTS `sign_page`;
+CREATE TABLE `sign_page` (
+  `exam_id` int(11) NOT NULL,
+  `exam_number` varchar(30) NOT NULL,
+  `exam_site` varchar(50) DEFAULT NULL,
+  `college` varchar(64) DEFAULT NULL,
+  `page_no` varchar(11) NOT NULL,
+  `xh` int(10) NOT NULL,
+  `Card_DefCount` int(3) DEFAULT NULL,
+  `subject_code` varchar(30) DEFAULT NULL,
+  `sign_page_src` longtext,
+  `scan_remark` longtext,
+  `Card_type` varchar(50) DEFAULT NULL,
+  `img_name` varchar(50) NOT NULL,
+  `is_upload` tinyint(1) unsigned zerofill NOT NULL DEFAULT '0',
+  `DiskSerNo` varchar(30) DEFAULT NULL,
+  `check_status` int(2) DEFAULT NULL,
+  PRIMARY KEY (`img_name`,`xh`,`exam_id`),
+  KEY `exam_number` (`exam_number`,`exam_site`,`page_no`,`subject_code`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for subject_code_kgt
+-- ----------------------------
+DROP TABLE IF EXISTS `subject_code_kgt`;
+CREATE TABLE `subject_code_kgt` (
+  `exam_id` int(11) NOT NULL,
+  `subject_code` varchar(30) NOT NULL,
+  `subject_name` varchar(50) DEFAULT NULL,
+  PRIMARY KEY (`exam_id`,`subject_code`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for task_child
+-- ----------------------------
+DROP TABLE IF EXISTS `task_child`;
+CREATE TABLE `task_child` (
+  `exam_id` int(11) NOT NULL,
+  `exam_number` varchar(30) NOT NULL,
+  `task_id` varchar(30) NOT NULL,
+  `check_times1` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `check_ip1` varchar(30) DEFAULT NULL,
+  `check_status1` varchar(30) DEFAULT NULL,
+  PRIMARY KEY (`exam_id`,`exam_number`,`task_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for task_master
+-- ----------------------------
+DROP TABLE IF EXISTS `task_master`;
+CREATE TABLE `task_master` (
+  `exam_id` int(11) NOT NULL,
+  `task_id` varchar(30) NOT NULL,
+  `task_type` int(1) DEFAULT NULL,
+  `task_times` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `task_name` varchar(200) DEFAULT NULL,
+  `task_remark` varchar(100) DEFAULT NULL,
+  `task_valid` int(5) DEFAULT NULL,
+  `task_where` longtext,
+  PRIMARY KEY (`exam_id`,`task_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for tmpabs_sign_page
+-- ----------------------------
+DROP TABLE IF EXISTS `tmpabs_sign_page`;
+CREATE TABLE `tmpabs_sign_page` (
+  `exam_id` int(11) unsigned NOT NULL,
+  `exam_site` varchar(200) NOT NULL DEFAULT '',
+  `exam_number` varchar(64) NOT NULL DEFAULT '',
+  `scan_page` varchar(16) NOT NULL DEFAULT '',
+  `pageCount` int(11) unsigned NOT NULL,
+  PRIMARY KEY (`exam_id`,`exam_number`),
+  KEY `exam_site` (`exam_site`),
+  KEY `exam_number` (`exam_number`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for tmp_barcodenotexists
+-- ----------------------------
+DROP TABLE IF EXISTS `tmp_barcodenotexists`;
+CREATE TABLE `tmp_barcodenotexists` (
+  `exam_id` int(11) NOT NULL,
+  `exam_site` varchar(32) DEFAULT NULL COMMENT '考点',
+  `exam_room` varchar(32) DEFAULT NULL COMMENT '考场',
+  `student_code` varchar(64) NOT NULL COMMENT '学号',
+  `name` varchar(64) NOT NULL COMMENT '姓名',
+  `subject_code` varchar(32) NOT NULL COMMENT '科目代码',
+  `subject_name` varchar(32) NOT NULL COMMENT '科目名称',
+  `exam_number` varchar(64) NOT NULL COMMENT '准考证号',
+  `Absent_status` varchar(30) DEFAULT NULL,
+  KEY `subject_code` (`subject_code`),
+  KEY `student_code` (`student_code`),
+  KEY `exam_number` (`exam_number`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for tmp_check_student
+-- ----------------------------
+DROP TABLE IF EXISTS `tmp_check_student`;
+CREATE TABLE `tmp_check_student` (
+  `exam_id` int(11) NOT NULL,
+  `exam_site` varchar(150) DEFAULT NULL,
+  `student_code` varchar(50) DEFAULT NULL,
+  `exam_number` varchar(128) NOT NULL,
+  `name` varchar(64) DEFAULT NULL,
+  `subject_code` varchar(32) DEFAULT NULL,
+  `subject_name` varchar(100) DEFAULT NULL,
+  `is_upload` tinyint(1) DEFAULT NULL,
+  `scan_misspage_page` varchar(128) DEFAULT NULL,
+  `ocrdata_scan_count` int(3) DEFAULT NULL,
+  `ocrdata_scan_page` varchar(128) DEFAULT NULL,
+  `sign_scan_count` int(3) DEFAULT NULL,
+  `sign_scan_page` varchar(128) DEFAULT NULL,
+  `card_def_count` int(3) DEFAULT NULL,
+  `repeat_status` int(11) DEFAULT NULL,
+  PRIMARY KEY (`exam_id`,`exam_number`),
+  KEY `exam_site` (`exam_id`,`exam_site`),
+  KEY `ocrdata_scan_page` (`exam_id`,`ocrdata_scan_page`),
+  KEY `sign_scan_page` (`exam_id`,`sign_scan_page`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for tmp_sign_count
+-- ----------------------------
+DROP TABLE IF EXISTS `tmp_sign_count`;
+CREATE TABLE `tmp_sign_count` (
+  `exam_id` int(11) unsigned NOT NULL,
+  `exam_number` varchar(64) NOT NULL DEFAULT '',
+  `scan_count` int(11) NOT NULL,
+  PRIMARY KEY (`exam_id`,`exam_number`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for tmp_sign_page
+-- ----------------------------
+DROP TABLE IF EXISTS `tmp_sign_page`;
+CREATE TABLE `tmp_sign_page` (
+  `exam_id` int(11) unsigned NOT NULL,
+  `exam_number` varchar(64) NOT NULL DEFAULT '',
+  `scan_page` varchar(16) NOT NULL DEFAULT '',
+  PRIMARY KEY (`exam_id`,`exam_number`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for upload_file_list
+-- ----------------------------
+DROP TABLE IF EXISTS `upload_file_list`;
+CREATE TABLE `upload_file_list` (
+  `exam_id` int(11) NOT NULL,
+  `subject_code` varchar(30) NOT NULL,
+  `subject_name` varchar(50) DEFAULT NULL,
+  `is_used` int(1) DEFAULT NULL,
+  `file_description` varchar(100) NOT NULL,
+  `file_type` int(1) NOT NULL,
+  `down_url` varchar(200) DEFAULT NULL,
+  `DiskSerNo` varchar(50) DEFAULT NULL,
+  PRIMARY KEY (`exam_id`,`file_description`,`file_type`,`subject_code`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for verify_check_info
+-- ----------------------------
+DROP TABLE IF EXISTS `verify_check_info`;
+CREATE TABLE `verify_check_info` (
+  `exam_id` int(11) NOT NULL,
+  `campus_code` int(30) DEFAULT NULL,
+  `exam_number` varchar(30) NOT NULL,
+  `subject_code` varchar(30) DEFAULT NULL,
+  `exam_site` varchar(50) DEFAULT NULL,
+  `slicePoint` longtext,
+  `misspage` varchar(30) DEFAULT NULL,
+  `sheet_src` longtext,
+  `check_times` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `check_ip1` varchar(30) DEFAULT NULL,
+  `check_status1` varchar(50) DEFAULT NULL,
+  `check_msg_history1` varchar(300) DEFAULT NULL,
+  `status_examine1` varchar(10) DEFAULT NULL,
+  `check_ip2` varchar(30) DEFAULT NULL,
+  `check_status2` varchar(50) DEFAULT NULL,
+  `check_msg_history2` varchar(300) DEFAULT NULL,
+  `status_examine2` varchar(10) DEFAULT NULL,
+  `check_ip3` varchar(30) DEFAULT NULL,
+  `check_status3` varchar(50) DEFAULT NULL,
+  `check_msg_history3` varchar(300) DEFAULT NULL,
+  `status_examine3` varchar(10) DEFAULT NULL,
+  `Remark` varchar(100) DEFAULT NULL,
+  PRIMARY KEY (`exam_id`,`exam_number`),
+  KEY `check_ip1` (`check_ip1`,`check_status1`,`check_msg_history1`),
+  KEY `check_ip2` (`check_ip2`,`check_status2`,`check_msg_history2`),
+  KEY `check_ip3` (`check_ip3`,`check_status3`,`check_msg_history3`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

+ 11 - 0
install/mysql/init/init.sql

@@ -0,0 +1,11 @@
+CREATE DATABASE IF NOT EXISTS stmms_ft default character set utf8mb4 collate utf8mb4_general_ci;
+
+CREATE  DATABASE college_scan_multi default character set utf8mb4 collate utf8mb4_general_ci;
+
+GRANT ALL PRIVILEGES  ON `stmms_ft`.* TO 'stmms'@'localhost' IDENTIFIED BY 'stmms';
+
+GRANT SELECT ON `stmms_ft`.* TO 'scan'@'%%' IDENTIFIED BY 'scan';
+
+GRANT ALL PRIVILEGES  ON `college_scan_multi`.* TO 'scan'@'%%' IDENTIFIED BY 'scan';
+
+FLUSH  PRIVILEGES;

+ 1356 - 0
install/mysql/init/stmms_ft.sql

@@ -0,0 +1,1356 @@
+# ************************************************************
+# Database: stmms_fenti
+# Generation Time: 2017-10-31 06:43:10 +0000
+# ************************************************************
+
+
+# Dump of table b_school
+# ------------------------------------------------------------
+USE `stmms_ft`;
+DROP TABLE IF EXISTS `b_school`;
+
+CREATE TABLE `b_school`
+(
+    `id`            int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `name`          varchar(64) NOT NULL COMMENT '名称',
+    `province`      varchar(16) NOT NULL COMMENT '省份',
+    `city`          varchar(16) NOT NULL COMMENT '城市',
+    `code`          varchar(64)  DEFAULT NULL COMMENT '代码',
+	`parent_id`     int(11)      DEFAULT NULL COMMENT '父机构ID',
+	`sub_code`      varchar(64)  DEFAULT NULL COMMENT '子机构代码',
+    `address`       varchar(128) DEFAULT NULL COMMENT '地址',
+    `phone`         varchar(32)  DEFAULT NULL COMMENT '电话',
+    `logo_url`      text  DEFAULT NULL COMMENT '图片地址',
+    `description`   varchar(128) DEFAULT NULL COMMENT '描述',
+    `enable`        tinyint(1)  NOT NULL COMMENT '是否禁用',
+	`double_track`  tinyint(1)  NOT NULL COMMENT '双评轨迹',
+    `access_key`    varchar(64)  DEFAULT NULL COMMENT 'AccessKey',
+    `access_secret` varchar(64)  DEFAULT NULL COMMENT 'AccessSecret',
+    `group_delete_check` tinyint(1)  NOT NULL COMMENT '开启删除分组授权码',
+    `create_time`   datetime    NOT NULL COMMENT '创建时间',
+    `update_time`   datetime     DEFAULT NULL COMMENT '修改时间',
+    PRIMARY KEY (`id`),
+    UNIQUE KEY `index1` (`access_key`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='学校表';
+
+  
+# Dump of table b_sys_config
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `b_sys_config`;
+CREATE TABLE `b_sys_config`
+(
+    `id`            int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `type`          varchar(64) NOT NULL COMMENT '类型',
+    `description`   varchar(128) DEFAULT NULL COMMENT '描述',
+    `update_time`   datetime     DEFAULT NULL COMMENT '修改时间',
+    PRIMARY KEY (`id`),
+    UNIQUE KEY `index1` (`type`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='配置表';
+  
+LOCK TABLES `b_sys_config` WRITE;
+
+INSERT INTO `b_sys_config` (`id`, `type`, `description`, `update_time`)
+VALUES (1, 'FILE_SERVER', 'http://192.168.10.42:9000/,http://192.168.10.42:9000/', '2021-08-09 15:38:58');
+INSERT INTO `b_sys_config` (`id`, `type`, `description`, `update_time`)
+VALUES (2, 'MARK_TIME', '30', '2021-08-09 15:38:58');
+INSERT INTO `b_sys_config` (`id`, `type`, `description`, `update_time`)
+VALUES (3, 'AUTO_REPORT', null, '2021-08-09 15:38:58');
+
+UNLOCK TABLES;
+
+
+# Dump of table b_sys_auth
+# ------------------------------------------------------------
+DROP TABLE IF EXISTS `b_sys_auth`;
+CREATE TABLE `b_sys_auth` (
+	`id`            int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+	`access_key` 	varchar(255) DEFAULT NULL COMMENT 'AccessKey',
+	`access_secret` varchar(255) DEFAULT NULL COMMENT 'AccessSecret',
+	`description` 	text		DEFAULT NULL COMMENT '离线授权证书',
+	`type` 			varchar(16) NOT NULL COMMENT '授权类型',
+    `update_time`   datetime    DEFAULT NULL COMMENT '修改时间',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB 
+	DEFAULT CHARSET = utf8mb4 COMMENT ='授权配置表';
+
+  
+# Dump of table b_user
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `b_user`;
+
+CREATE TABLE `b_user`
+(
+    `id`                        int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `login_name`                varchar(64) NOT NULL COMMENT '登录名',
+    `name`                      varchar(64) NOT NULL COMMENT '名称',
+    `password`                  varchar(64) NOT NULL COMMENT '密码',
+    `role`                      varchar(16) NOT NULL COMMENT '角色',
+    `source`                    varchar(16) NOT NULL COMMENT '来源',
+    `enable`                    tinyint(1)  NOT NULL COMMENT '是否启用',
+    `school_id`                 int(11)     NOT NULL COMMENT '所属学校ID',
+    `related_account`           varchar(64) DEFAULT NULL COMMENT '关联外部用户',
+    `last_login_time`           datetime    DEFAULT NULL COMMENT '最后一次登录时间',
+    `last_login_ip`             varchar(64) DEFAULT NULL COMMENT '最后一次登录IP',
+    `created_time`              datetime    NOT NULL COMMENT '创建时间',
+    `updated_time`              datetime    DEFAULT NULL COMMENT '修改时间',
+    `access_token`              varchar(64) DEFAULT NULL COMMENT '访问令牌',
+    `access_token_refresh_time` datetime    DEFAULT NULL COMMENT '访问令牌刷新时间',
+    `scan_token`              	varchar(64) DEFAULT NULL COMMENT '扫描访问令牌',
+    `scan_token_invalid_time` 	datetime    DEFAULT NULL COMMENT '扫描访问令牌刷新时间',
+    `description` 				varchar(128) DEFAULT NULL COMMENT '描述',
+    `empno` 					varchar(128) DEFAULT NULL COMMENT '工号',
+    `random_password` 			varchar(64)  DEFAULT NULL COMMENT '随机密码',
+    PRIMARY KEY (`id`),
+    UNIQUE KEY `index1` (`login_name`),
+    UNIQUE KEY `index2` (`school_id`, `related_account`),
+    KEY `index3` (`school_id`, `role`, `source`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='用户表';
+
+LOCK TABLES `b_user` WRITE;
+
+INSERT INTO `b_user` (`id`, `login_name`, `name`, `password`, `role`, `source`, `enable`, `school_id`,
+                      `created_time`, `updated_time`)
+VALUES (1, 'admin', '超级管理员', 'd0e915689fc1f1e19e1a036c22bdfeab', 'SYS_ADMIN', 'INTERNAL', 1, 0,
+        '2020-08-01 12:00:00', '2020-08-01 12:00:00');
+
+UNLOCK TABLES;
+
+
+# Dump of table eb_user_exam
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `eb_user_exam`;
+
+CREATE TABLE `eb_user_exam`
+(
+    `id`           int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `user_id`      int(11)     NOT NULL COMMENT '用户ID',
+    `exam_id`	   int(11)	   NOT NULL COMMENT '考试ID',
+    PRIMARY KEY (`id`),
+    UNIQUE KEY `index1` (`user_id`, `exam_id`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='用户考试关联表';
+
+  
+# Dump of table eb_subject_user
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `eb_subject_user`;
+
+CREATE TABLE `eb_subject_user`
+(
+    `id`           int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `user_id`      int(11)     NOT NULL COMMENT '用户ID',
+    `subject_code` varchar(32) NOT NULL COMMENT '科目代码',
+    PRIMARY KEY (`id`),
+    UNIQUE KEY `index1` (`user_id`, `subject_code`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='用户科目关联表';
+
+# Dump of table eb_check_student
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `eb_check_student`;
+CREATE TABLE `eb_check_student`
+(
+    `student_id`   int(11)     NOT NULL COMMENT '学生ID',
+    `exam_id`      int(11)     NOT NULL COMMENT '考试ID',
+    `subject_code` varchar(32) NOT NULL COMMENT '科目代码',
+    `type`         varchar(16) NOT NULL COMMENT '类型',
+    `is_checked`   tinyint(1)  NOT NULL COMMENT '是否已处理',
+    `update_time`  datetime DEFAULT NULL COMMENT '处理时间',
+    PRIMARY KEY (`student_id`),
+    KEY `index1` (`exam_id`, `subject_code`, `type`, `is_checked`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='审核学生表';
+
+# Dump of table eb_data_sync
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `eb_data_sync`;
+CREATE TABLE `eb_data_sync`
+(
+    `examId`        int(11)      NOT NULL COMMENT '考试ID',
+    `school_id`     int(11)      DEFAULT NULL COMMENT '学校ID',
+    `cloud_exam_id` bigint(20)   NOT NULL COMMENT '云平台考试ID',
+    `finished`      tinyint(1)   NOT NULL COMMENT '是否完成',
+	`source`		varchar(16)  NOT NULL COMMENT '数据来源',
+    `next_id`       bigint(20)   DEFAULT NULL COMMENT '下一位考生ID',
+    `root_org_id`   varchar(32)  DEFAULT NULL COMMENT '机构ID',
+    `subject_code`  varchar(32)  DEFAULT NULL COMMENT '科目代码',
+    `app_id`        varchar(128) DEFAULT NULL COMMENT '项目ID',
+	`access_key` 	varchar(64) DEFAULT NULL COMMENT '密匙',
+  	`access_secret` varchar(64) DEFAULT NULL COMMENT '密钥',
+    `student_url`   varchar(128) NOT NULL COMMENT '考生API URL',
+    `subject_url`   varchar(128) NOT NULL COMMENT '科目API URL',
+    `subject_paper_url` varchar(255) NOT NULL COMMENT '试卷详情API URL',
+    `create_time`   datetime    DEFAULT NULL COMMENT '创建时间',
+    `update_time`   datetime    DEFAULT NULL COMMENT '更新时间',
+    PRIMARY KEY (`examId`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='数据同步表';
+
+# Dump of table eb_exam
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `eb_exam`;
+
+CREATE TABLE `eb_exam`
+(
+    `id`                int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `name`              varchar(64) NOT NULL COMMENT '考试名称',
+    `school_id`         int(11)     NOT NULL COMMENT '学校ID',
+    `code`              varchar(64)  DEFAULT NULL COMMENT '考试代码',
+    `exam_time`         datetime    NOT NULL COMMENT '考试时间',
+    `type`              varchar(16) NOT NULL COMMENT '类型',
+    `status`            varchar(16) NOT NULL COMMENT '状态',
+    `card_type`         varchar(16)  DEFAULT NULL COMMENT '题卡类型',
+    `force_special_tag` tinyint(1)  NOT NULL COMMENT '强制标记',
+    `forbidden_info`    tinyint(1)  NOT NULL COMMENT '是否屏蔽个人信息',
+    `forbidden_score`   tinyint(1)  NOT NULL COMMENT '是否屏蔽查询个人信息',
+    `objective_status`  varchar(16) NOT NULL COMMENT '客观题统分状态',
+    `sas_config`        text         DEFAULT NULL COMMENT '统计配置',
+    `sheet_config`      text         DEFAULT NULL COMMENT '原图遮盖配置',
+    `slice_config`      text         DEFAULT NULL COMMENT '裁切图坐标',
+    `description`       varchar(128) DEFAULT NULL COMMENT '描述',
+    `creator_id`        int(11)      DEFAULT NULL COMMENT '创建人',
+    `create_time`       datetime     NOT NULL COMMENT '创建时间',
+    `update_time`       datetime     DEFAULT NULL COMMENT '修改时间',
+    `mark_start_time`   datetime     DEFAULT NULL COMMENT '考试开始时间',
+    `mark_end_time`     datetime     DEFAULT NULL COMMENT '考试结束时间',
+	`sheet_view`		tinyint(1)   NOT NULL COMMENT '原卷显示功能',
+    `mark_mode`       	varchar(16)  DEFAULT NULL COMMENT '强制评卷模式',
+	`scan_config`       text         DEFAULT NULL COMMENT '扫描配置',
+    `auto_scroll`   	tinyint(1) 		NOT NULL COMMENT '评卷提交自动定位',
+	`enable_split`   	tinyint(1)  	NOT NULL COMMENT '自动对切题卡',
+	`show_reject`   	tinyint(1)  	NOT NULL COMMENT '显示打回前原分值',
+	`inspect_unrepeated`   	tinyint(1)  	NOT NULL COMMENT '全卷多次复核时不能为同一账号',
+	`inspect_scroll_bottom`   	tinyint(1)  	NOT NULL COMMENT '全卷复核时强制试卷拉到底部',
+	`remark_count`   	int(11)  	DEFAULT NULL COMMENT '回评卷数',
+	`show_objective_score`   	tinyint(1)  	NOT NULL COMMENT '是否显示客观分',
+    PRIMARY KEY (`id`),
+    UNIQUE KEY `index1` (`school_id`, `code`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='考试表';
+
+
+
+# Dump of table eb_exam_package
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `eb_exam_package`;
+
+CREATE TABLE `eb_exam_package`
+(
+    `exam_id`   int(11)     NOT NULL COMMENT '考试ID',
+    `code`      varchar(64) NOT NULL COMMENT '试卷袋编号',
+    `pic_count` int(11)     NOT NULL COMMENT '上传图片数量',
+    PRIMARY KEY (`exam_id`, `code`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='卷袋信息表';
+
+
+
+# Dump of table eb_exam_question
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `eb_exam_question`;
+
+CREATE TABLE `eb_exam_question`
+(
+    `id`               int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `exam_id`          int(11)     NOT NULL COMMENT '考试ID',
+    `subject_code`     varchar(32) NOT NULL DEFAULT '' COMMENT '科目代码',
+    `paper_type`       varchar(8)  NOT NULL COMMENT '试卷类型',
+    `is_objective`     tinyint(1)  NOT NULL COMMENT '是否客观题',
+    `group_number`     int(11)     DEFAULT NULL COMMENT '分组序号',
+    `main_number`      int(11)     NOT NULL COMMENT '大题号',
+    `sub_number`       varchar(32) NOT NULL COMMENT '小题号',
+    `main_title`       varchar(128) NOT NULL COMMENT '大题名称',
+    `name`       	   varchar(128) DEFAULT NULL COMMENT '名称',
+    `answer`           varchar(16)          DEFAULT NULL COMMENT '正确答案',
+    `total_score`      double      NOT NULL COMMENT '满分',
+    `interval_score`   double      NOT NULL COMMENT '评卷间隔分',
+    `objective_policy` varchar(16)          DEFAULT NULL COMMENT '客观题判分策略',
+	`question_type`		varchar(32)         DEFAULT NULL COMMENT '题型',
+    PRIMARY KEY (`id`),
+    KEY `index1` (`exam_id`, `subject_code`, `is_objective`, `main_number`, `sub_number`, `paper_type`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='小题信息表';
+
+
+
+# Dump of table eb_exam_student
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `eb_exam_student`;
+
+CREATE TABLE `eb_exam_student`
+(
+    `id`                    int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `exam_id`               int(11)     NOT NULL COMMENT '考试ID',
+    `school_id`             int(11)     NOT NULL COMMENT '学校ID',
+    `subject_code`          varchar(32) NOT NULL COMMENT '科目代码',
+    `subject_name`          varchar(32) NOT NULL COMMENT '科目名称',
+    `paper_type`            varchar(8)  NOT NULL COMMENT '试卷类型',
+    `exam_number`           varchar(64) NOT NULL COMMENT '准考证号',
+    `secret_number`         varchar(64) NOT NULL COMMENT '密号',
+    `student_code`          varchar(64) NOT NULL COMMENT '学号',
+    `name`                  varchar(64) NOT NULL COMMENT '姓名',
+    `package_code`          varchar(64)  DEFAULT NULL COMMENT '试卷袋编号',
+    `campus_name`           varchar(64)  DEFAULT NULL COMMENT '学习中心名称',
+    `exam_site`             varchar(32)  DEFAULT NULL COMMENT '考点',
+    `exam_room`             varchar(32)  DEFAULT NULL COMMENT '考场',
+    `remark`                varchar(128) DEFAULT NULL COMMENT '备注',
+    `batch_code`            varchar(32)  DEFAULT NULL COMMENT '扫描批次号',
+    `sheet_count`           int(11)     NOT NULL COMMENT '原图数量',
+    `slice_count`           int(11)     NOT NULL COMMENT '小图数量',
+    `answers`               text COMMENT '客观题识别结果',
+    `is_upload`             tinyint(1)  NOT NULL COMMENT '是否已上传',
+    `is_absent`             tinyint(1)  NOT NULL COMMENT '是否缺考',
+    `is_manual_absent`      tinyint(1)  NOT NULL COMMENT '是否人工指定缺考',
+    `is_breach`             tinyint(1)  NOT NULL COMMENT '是否违纪',
+    `is_exception`          tinyint(1)  NOT NULL COMMENT '是否数据异常',
+    `is_trial`              tinyint(1)  NOT NULL COMMENT '是否试评',
+    `upload_time`           datetime     DEFAULT NULL COMMENT '上传时间',
+    `inspect_time`          datetime     DEFAULT NULL COMMENT '复核时间',
+    `inspector_id`          int(11)      DEFAULT NULL COMMENT '复核人ID',
+    `inspect_count`         int(11)      NOT NULL COMMENT '复核次数',
+    `objective_score`       double       DEFAULT NULL COMMENT '客观总分',
+    `objective_score_list`  text COMMENT '客观得分明细',
+    `subjective_status`     varchar(16) NOT NULL COMMENT '主观题状态',
+    `subjective_score`      double       DEFAULT NULL COMMENT '主观总分',
+    `subjective_score_list` text COMMENT '主观得分明细',
+    `subject_level`         varchar(64)  DEFAULT NULL COMMENT '层次',
+    `subject_category`      varchar(64)  DEFAULT NULL COMMENT '专业类型',
+    `college`               varchar(64) NOT NULL COMMENT '学院',
+    `class_name`            varchar(64) NOT NULL COMMENT '班级',
+    `teacher`               varchar(64) NOT NULL COMMENT '任课老师',
+    `card_number` 			int (11) 	DEFAULT NULL COMMENT '题卡号',
+    `score_verify_user` 			int (11) 	DEFAULT NULL COMMENT '成绩校验人ID',
+    `score_verify_time`          datetime     DEFAULT NULL COMMENT '成绩校验时间',
+    `score_verify_flagged`             tinyint(1)  DEFAULT NULL COMMENT '成绩校验标记结果',
+    `inspected`	tinyint(1) NOT NULL COMMENT '当前轮次是否已审核',
+    PRIMARY KEY (`id`),
+    UNIQUE KEY `index1` (`exam_id`, `exam_number`),
+    UNIQUE KEY `index2` (`exam_id`, `secret_number`),
+    KEY `index3` (`exam_id`, `subject_code`, `is_upload`, `is_absent`, `is_breach`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='考试考生库';
+
+# Dump of table eb_inspect_history
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `eb_inspect_history`;
+
+CREATE TABLE `eb_inspect_history` 
+(
+	`id` 		INT (11) NOT NULL AUTO_INCREMENT COMMENT '主键',
+	`exam_id`	INT (11) NOT NULL COMMENT '考试ID',
+	`subject_code` 	VARCHAR (32) NOT NULL COMMENT '科目代码',
+	`inspect_time` 	DATETIME NOT NULL COMMENT '复核时间',
+	`inspector_id` 	INT (11) DEFAULT NULL COMMENT '复核人ID',
+	`student_id` 	INT (11) DEFAULT NULL COMMENT '考生ID',
+	`inspect_round` 	INT (11) NOT NULL COMMENT '复核轮数',
+	PRIMARY KEY (`id`),
+	UNIQUE KEY `index1` (`student_id`, `inspect_round`)
+) ENGINE = INNODB 
+	DEFAULT CHARSET = utf8mb4 COMMENT = '复核记录表';
+
+# Dump of table eb_exam_subject
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `eb_exam_subject`;
+
+CREATE TABLE `eb_exam_subject`
+(
+    `exam_id`          int(11)     NOT NULL COMMENT '考试ID',
+    `code`             varchar(32) NOT NULL COMMENT '科目代码',
+    `name`             varchar(32) NOT NULL COMMENT '科目名称',
+    `level`            varchar(64)  DEFAULT NULL COMMENT '层次',
+    `category`         varchar(64)  DEFAULT NULL COMMENT '专业类型',
+    `objective_score`  double      NOT NULL COMMENT '客观题满分',
+    `subjective_score` double      NOT NULL COMMENT '主观题满分',
+    `total_score`      double      NOT NULL COMMENT '全卷满分',
+    `upload_count`     int(11)     NOT NULL COMMENT '已上传人数',
+	`trial_count`      int(11)      DEFAULT NULL COMMENT '试评数量',
+    `remark`           varchar(128) DEFAULT NULL COMMENT '备注',
+    `slice_config`     text         DEFAULT NULL COMMENT '裁切图配置',
+    `sheet_config`     text         DEFAULT NULL COMMENT '原图遮盖配置',
+    `sas_config`       text         DEFAULT NULL COMMENT '统计配置',
+    `card_type`        varchar(16)  DEFAULT NULL COMMENT '题卡类型',
+    `paper_file_type`  varchar(16)  DEFAULT NULL COMMENT '试卷文件类型',
+    `answer_file_type` varchar(16)  DEFAULT NULL COMMENT '标答文件类型',
+	`auto_scroll`   	tinyint(1)	DEFAULT NULL COMMENT '评卷提交自动定位',
+	`enable_split`   	tinyint(1)	DEFAULT NULL COMMENT '自动对切题卡',
+	`display_question_name`   	tinyint(1)	NOT NULL COMMENT '显示题目昵称',
+	`inspect_round` 	INT (11)	NOT NULL COMMENT '复核轮数',
+	`selective` 		tinyint(1)  NOT NULL COMMENT '选做题科目',
+    PRIMARY KEY (`exam_id`, `code`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='考试科目表';
+
+# Dump of table eb_marker
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `eb_marker`;
+
+CREATE TABLE `eb_marker`
+(
+    `id`           int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `exam_id`      int(11)     NOT NULL COMMENT '考试ID',
+    `subject_code` varchar(32) NOT NULL COMMENT '科目代码',
+    `group_number` int(11)     NOT NULL COMMENT '分组编号',
+    `user_id`      int(11)     NOT NULL COMMENT '用户ID',
+    `enable`       tinyint(1)  NOT NULL COMMENT '是否启用',
+    `mode`         varchar(16) DEFAULT NULL COMMENT '强制评卷模式',
+    `top_count`    int(11)     DEFAULT NULL COMMENT '评卷数上限',
+    `finish_count` int(11)     DEFAULT NULL COMMENT '完成数量',
+    `valid_count`  int(11)     DEFAULT NULL COMMENT '有效数量',
+    `reject_count` int(11) 	   DEFAULT NULL COMMENT '打回次数',
+    `avg_score`    double      DEFAULT NULL COMMENT '平均分',
+    `avg_speed`    double      DEFAULT NULL COMMENT '平均时长',
+    `stdev_score`  double      DEFAULT NULL COMMENT '标准差',
+    `mark_setting` text        DEFAULT NULL COMMENT '个性化评卷参数设置',
+    PRIMARY KEY (`id`),
+    KEY `index1` (`user_id`),
+    KEY `index2` (`exam_id`, `subject_code`, `group_number`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='评卷员表';
+
+
+# Dump of table eb_marker_class
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `eb_marker_class`;
+
+CREATE TABLE `eb_marker_class`
+(
+    `id`         int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `user_id`    int(11) NOT NULL COMMENT '用户ID',
+    `exam_id`    int(11) NOT NULL COMMENT '考试ID',
+    `class_name` varchar(64) DEFAULT NULL COMMENT '班级名称',
+    PRIMARY KEY (`id`),
+    UNIQUE KEY `index1` (`user_id`, `exam_id`, `class_name`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='评卷员班级表';
+
+
+# Dump of table eb_mark_group
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `eb_mark_group`;
+
+CREATE TABLE `eb_mark_group`
+(
+    `exam_id`             int(11)     NOT NULL COMMENT '考试ID',
+    `subject_code`        varchar(32) NOT NULL COMMENT '科目代码',
+    `number`              int(11)     NOT NULL COMMENT '序号',
+    `pic_list`            text 		  DEFAULT NULL COMMENT '小图配置',
+    `total_score`         double      NOT NULL COMMENT '满分',
+    `double_rate`         double       DEFAULT NULL COMMENT '双评比例',
+    `arbitrate_threshold` double       DEFAULT NULL COMMENT '仲裁阈值',
+    `score_policy`        varchar(16)  DEFAULT NULL COMMENT '合分策略',
+    `third_policy`        varchar(32)  DEFAULT NULL COMMENT '三评规则',
+    `mark_mode`           varchar(16)  DEFAULT NULL COMMENT '强制评卷模式',
+    `sheet_view`          tinyint(1)  NOT NULL COMMENT '是否允许查看原卷',
+    `enable_all_zero`     tinyint(1)  NOT NULL COMMENT '是否启用全零分',
+    `status`              varchar(16) NOT NULL COMMENT '评卷状态',
+    `build_time`          datetime     DEFAULT NULL COMMENT '最后生成任务时间',
+    `library_count`       int(11)     NOT NULL COMMENT '任务总量',
+    `marked_count`        int(11)     NOT NULL COMMENT '已评数量',
+    `left_count`          int(11)     NOT NULL COMMENT '剩余数量',
+    `is_selective`        tinyint(1)  DEFAULT NULL COMMENT '是否选做题分组',
+    PRIMARY KEY (`exam_id`, `subject_code`, `number`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='评卷分组表';
+
+
+# Dump of table eb_mark_group_student
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `eb_mark_group_student`;
+
+CREATE TABLE `eb_mark_group_student`
+(
+    `student_id`   int(11)     NOT NULL COMMENT '考生ID',
+    `group_number` int(11)     NOT NULL COMMENT '分组ID',
+    `exam_id`      int(11)     NOT NULL COMMENT '考试ID',
+    `subject_code` varchar(32) NOT NULL COMMENT '科目代码',
+    `status`       varchar(16) NOT NULL COMMENT '状态',
+    PRIMARY KEY (`student_id`, `group_number`),
+    KEY `index1` (`exam_id`, `subject_code`, `group_number`, `status`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='考生分组状态表';
+
+
+# Dump of table eb_subjective_score
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `eb_subjective_score`;
+
+CREATE TABLE `eb_subjective_score`
+(
+    `student_id`   int(11)     NOT NULL COMMENT '考生ID',
+    `main_number`  int(11)     NOT NULL COMMENT '大题号',
+    `sub_number`   varchar(32) NOT NULL COMMENT '小题号',
+    `exam_id`      int(11)     NOT NULL COMMENT '考试ID',
+    `subject_code` varchar(32) NOT NULL COMMENT '科目代码',
+    `group_number` int(11)     NOT NULL COMMENT '分组序号',
+    `group_score`  double      NOT NULL COMMENT '分组得分',
+    `main_score`   double      NOT NULL COMMENT '大题得分',
+    `score`        double      NOT NULL COMMENT '小题得分',
+    `unanswered_count`   	int(11)	NOT NULL COMMENT '未作答的步骤数量',
+    `uncalculate`			tinyint (1) NOT NULL COMMENT '是否合分',
+    `rejected`				tinyint (1) NOT NULL COMMENT '是否被打回',
+    PRIMARY KEY (`student_id`, `main_number`, `sub_number`),
+    KEY `index1` (`exam_id`, `subject_code`, `main_number`, `main_score`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='主观题得分明细表';
+
+  
+# Dump of table eb_selective_group
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `eb_selective_group`;
+
+CREATE TABLE `eb_selective_group`
+(
+    `exam_id`             int(11)     NOT NULL COMMENT '考试ID',
+    `subject_code`        varchar(32) NOT NULL COMMENT '科目代码',
+    `main_number`         int(11)     NOT NULL COMMENT '大题号',
+    `selective_count`     int(11)     NOT NULL COMMENT '选做数量',
+    `selective_index`     int(11)     NOT NULL COMMENT '选做分组序号',
+    `selective_part` 	  int (11) 	  NOT NULL COMMENT '选做题分区号',
+    `score_policy`		  varchar(64) DEFAULT NULL COMMENT '合分方式',
+    PRIMARY KEY (`exam_id`, `subject_code`, `main_number`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='选做题分组表';
+
+
+# Dump of table eb_selective_student
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `eb_selective_student`;
+
+CREATE TABLE `eb_selective_student`
+(
+    `student_id`          int(11) 	  NOT NULL COMMENT '考生ID',
+    `exam_id`             int(11)     NOT NULL COMMENT '考试ID',
+    `subject_code`        varchar(32) NOT NULL COMMENT '科目代码',
+	`muti_selective`		  tinyint (1) NOT NULL COMMENT '是否多选做',
+	`less_selective`		  tinyint (1) NOT NULL COMMENT '是否少选做',
+    PRIMARY KEY (`student_id`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='选做题考生状态表';
+  
+  
+# Dump of table eb_operation_log
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `eb_operation_log`;
+
+CREATE TABLE `eb_operation_log`
+(
+    `id`          int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `exam_id`     int(11)      DEFAULT NULL COMMENT '考试ID',
+    `school_id`   int(11)     NOT NULL COMMENT '学校ID',
+    `type`        varchar(16) NOT NULL COMMENT '类型',
+    `menu`        varchar(128) DEFAULT NULL COMMENT '菜单',
+    `description` varchar(128) DEFAULT NULL COMMENT '详情',
+    `is_marker`   tinyint(1)  NOT NULL COMMENT '是否评卷员',
+    `operator_id` int(11)     NOT NULL COMMENT '操作人ID',
+    `login_name`  varchar(64) NOT NULL COMMENT '登录名',
+    `ip_address`  varchar(128) DEFAULT NULL COMMENT '访问地址',
+    `create_time` datetime    NOT NULL COMMENT '创建时间',
+    PRIMARY KEY (`id`),
+    KEY `index1` (`exam_id`, `school_id`, `type`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='考试操作记录表';
+
+
+# Dump of table m_arbitrate_history
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `m_arbitrate_history`;
+
+CREATE TABLE `m_arbitrate_history`
+(
+    `id`            int(11)     NOT NULL AUTO_INCREMENT COMMENT '自增主键',
+    `exam_id`       int(11)     NOT NULL COMMENT '考试ID',
+    `subject_code`  varchar(32) NOT NULL COMMENT '科目代码',
+    `group_number`  int(11)     NOT NULL COMMENT '大题号',
+    `exam_number`   varchar(64) NOT NULL COMMENT '准考证号',
+    `secret_number` varchar(64) NOT NULL COMMENT '考生密号',
+    `student_id`    int(11)     NOT NULL COMMENT '考生ID',
+    `status`        varchar(16) NOT NULL COMMENT '状态',
+    `user_id`       int(11)      DEFAULT NULL COMMENT '处理人ID',
+    `total_score`   double       DEFAULT NULL COMMENT '总分',
+    `score_list`    text		 DEFAULT NULL COMMENT '给分明细',
+	`unanswered_count`  int(11)		 DEFAULT NULL COMMENT '未作答的步骤数量',
+    `create_time`   datetime    NOT NULL COMMENT '创建时间',
+    `update_time`   datetime     DEFAULT NULL COMMENT '处理时间',
+    PRIMARY KEY (`id`),
+    KEY `index1` (`exam_id`, `subject_code`, `group_number`, `status`),
+    KEY `index2` (`user_id`, `status`, `update_time`),
+    KEY `index3` (`student_id`, `status`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='仲裁记录表';
+
+
+# Dump of table m_library
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `m_library`;
+
+CREATE TABLE `m_library`
+(
+    `id`                int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `exam_id`           int(11)     NOT NULL COMMENT '考试ID',
+    `subject_code`      varchar(32) NOT NULL COMMENT '科目代码',
+    `group_number`      int(11)     NOT NULL COMMENT '大题号',
+    `student_id`        int(11)     NOT NULL COMMENT '考生ID',
+    `exam_number`       varchar(64) NOT NULL COMMENT '准考证号',
+    `secret_number`     varchar(64) NOT NULL COMMENT '考生密号',
+    `task_number`       int(11)     NOT NULL COMMENT '多评任务序号',
+    `status`            varchar(16) NOT NULL COMMENT '状态',
+    `marker_id`         int(11)      DEFAULT NULL COMMENT '评卷员ID',
+    `marker_time`       datetime     DEFAULT NULL COMMENT '评卷时间',
+    `marker_score`      double       DEFAULT NULL COMMENT '评卷总分',
+    `marker_score_list` text		 DEFAULT NULL COMMENT '评卷给分明细',
+    `marker_spent`      int(11)      DEFAULT NULL COMMENT '评卷时长',
+    `header_id`         int(11)      DEFAULT NULL COMMENT '科组长ID',
+    `header_time`       datetime     DEFAULT NULL COMMENT '科组长评卷时间',
+    `header_score`      double       DEFAULT NULL COMMENT '科组长总分',
+    `header_score_list` text		 DEFAULT NULL COMMENT '科组长给分明细',
+    `unanswered_count`  int(11)		 DEFAULT NULL COMMENT '未作答的步骤数量',
+    `reject_reason` 	varchar(128) DEFAULT NULL COMMENT '打回原因',
+    PRIMARY KEY (`id`),
+    KEY `index1` (`exam_id`, `subject_code`, `group_number`, `status`),
+    UNIQUE KEY `index2` (`student_id`, `group_number`, `task_number`),
+    KEY `index3` (`marker_id`, `status`, `marker_time`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='评卷任务表';
+
+
+# Dump of table m_reject_history
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `m_reject_history`;
+CREATE TABLE `m_reject_history`
+(
+    `id`            int(11)     NOT NULL AUTO_INCREMENT COMMENT '自增主键',
+    `exam_id`       int(11)     NOT NULL COMMENT '考试ID',
+    `subject_code`  varchar(32) NOT NULL COMMENT '科目代码',
+    `group_number`  int(11)     NOT NULL COMMENT '大题号',
+    `exam_number`   varchar(64) NOT NULL COMMENT '准考证号',
+    `secret_number` varchar(64) NOT NULL COMMENT '考生密号',
+    `student_id`    int(11)     NOT NULL COMMENT '考生ID',
+    `library_id`    int(11)     NOT NULL COMMENT '评卷任务ID',
+    `marker_id`     int(11)     NOT NULL COMMENT '评卷员ID',
+    `user_id`       int(11)      DEFAULT NULL COMMENT '打回人ID',
+    `total_score`   double       DEFAULT NULL COMMENT '总分',
+    `score_list`    text		 DEFAULT NULL COMMENT '打回时给分明细',
+    `reject_score_list`    text		 DEFAULT NULL COMMENT '打回后给分明细',
+	`reason` 	varchar(128) DEFAULT NULL COMMENT '打回原因',
+    `create_time`   datetime    NOT NULL COMMENT '创建时间',
+    PRIMARY KEY (`id`),
+    KEY `index1` (`exam_id`, `subject_code`, `group_number`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='打回记录表';
+  
+  
+# Dump of table m_special_tag
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `m_special_tag`;
+
+CREATE TABLE `m_special_tag`
+(
+    `id`           int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `library_id`   int(11)     NOT NULL COMMENT '评卷任务ID',
+    `tag_name`     varchar(64) NOT NULL COMMENT '标记内容',
+    `position_x`   double      NOT NULL COMMENT 'X轴位置',
+    `position_y`   double      NOT NULL COMMENT 'Y轴位置',
+    `offset_index` int(11)     NOT NULL COMMENT '裁切图序号',
+    `offset_x`     int(11)     NOT NULL COMMENT '裁切图X轴坐标',
+    `offset_y`     int(11)     NOT NULL COMMENT '裁切图Y轴坐标',
+    PRIMARY KEY (`id`),
+    KEY `index1` (`library_id`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='特殊标记表';
+
+
+# Dump of table m_track
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `m_track`;
+
+CREATE TABLE `m_track`
+(
+    `library_id`      int(11)      NOT NULL COMMENT '评卷任务ID',
+    `question_number` varchar(128) NOT NULL COMMENT '完整题号',
+    `number`          int(11)      NOT NULL COMMENT '序号',
+    `student_id`      int(11)      NOT NULL COMMENT '考生ID',
+    `exam_id`         int(11)      NOT NULL COMMENT '考试ID',
+    `subject_code`    varchar(32)  NOT NULL COMMENT '科目代码',
+    `group_number`    int(11)      NOT NULL COMMENT '大题题号',
+    `marker_id`       int(11)      NOT NULL COMMENT '评卷员ID',
+    `score`           double       NOT NULL COMMENT '给分',
+    `position_x`      double       NOT NULL COMMENT 'X轴位置',
+    `position_y`      double       NOT NULL COMMENT 'Y轴位置',
+    `offset_index`    int(11)      NOT NULL COMMENT '裁切图序号',
+    `offset_x`        int(11)      NOT NULL COMMENT '裁切图X轴坐标',
+    `offset_y`        int(11)      NOT NULL COMMENT '裁切图Y轴坐标',
+    `unanswered`      tinyint(1)   NOT NULL COMMENT '未作答',
+    PRIMARY KEY (`library_id`, `question_number`, `number`),
+    KEY `index1` (`student_id`, `group_number`),
+    KEY `index2` (`marker_id`),
+    KEY `index3` (`exam_id`, `subject_code`, `group_number`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='轨迹给分表';
+
+  
+# Dump of table m_header_tag
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `m_header_tag`;
+
+CREATE TABLE `m_header_tag`
+(
+    `id`           int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `student_id`   int(11)     NOT NULL COMMENT '考生ID',
+	`group_number` int(11)     NOT NULL COMMENT '大题题号',
+	`user_id`      int(11)     NOT NULL COMMENT '用户ID',
+    `tag_name`     varchar(64) NOT NULL COMMENT '标记内容',
+    `position_x`   double      NOT NULL COMMENT 'X轴位置',
+    `position_y`   double      NOT NULL COMMENT 'Y轴位置',
+    `offset_index` int(11)     NOT NULL COMMENT '裁切图序号',
+    `offset_x`     int(11)     NOT NULL COMMENT '裁切图X轴坐标',
+    `offset_y`     int(11)     NOT NULL COMMENT '裁切图Y轴坐标',
+    PRIMARY KEY (`id`),
+    KEY `index1` (`student_id`,`group_number`),
+	KEY `index2` (`user_id`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='组长特殊标记表';
+
+
+# Dump of table m_header_track
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `m_header_track`;
+
+CREATE TABLE `m_header_track`
+(
+	`student_id`      int(11)      NOT NULL COMMENT '考生ID',
+    `question_number` varchar(128) NOT NULL COMMENT '完整题号',
+    `number`          int(11)      NOT NULL COMMENT '序号',
+    `exam_id`         int(11)      NOT NULL COMMENT '考试ID',
+    `subject_code`    varchar(32)  NOT NULL COMMENT '科目代码',
+    `group_number`    int(11)      NOT NULL COMMENT '大题题号',
+    `user_id`         int(11)      NOT NULL COMMENT '用户ID',
+    `score`           double       NOT NULL COMMENT '给分',
+    `position_x`      double       NOT NULL COMMENT 'X轴位置',
+    `position_y`      double       NOT NULL COMMENT 'Y轴位置',
+    `offset_index`    int(11)      NOT NULL COMMENT '裁切图序号',
+    `offset_x`        int(11)      NOT NULL COMMENT '裁切图X轴坐标',
+    `offset_y`        int(11)      NOT NULL COMMENT '裁切图Y轴坐标',
+    `unanswered`      tinyint(1)   NOT NULL COMMENT '未作答',
+    PRIMARY KEY (`student_id`, `question_number`, `number`),
+    KEY `index1` (`student_id`, `group_number`),
+    KEY `index2` (`user_id`),
+    KEY `index3` (`exam_id`, `subject_code`, `group_number`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='组长轨迹给分表';
+
+
+# Dump of table m_problem_type
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `m_problem_type`;
+CREATE TABLE `m_problem_type`
+(
+    `id`        int(11)    NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `exam_id`   int(11)    NOT NULL COMMENT '考试ID',
+    `name`      varchar(64) DEFAULT NULL COMMENT '名称',
+    `is_custom` tinyint(1) NOT NULL COMMENT '是否自定义',
+    PRIMARY KEY (`id`),
+    KEY `index1` (`exam_id`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='问题类型表';
+
+
+# Dump of table m_problem_history
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `m_problem_history`;
+CREATE TABLE `m_problem_history`
+(
+    `id`            int(11)     NOT NULL AUTO_INCREMENT COMMENT '自增主键',
+    `exam_id`       int(11)     NOT NULL COMMENT '考试ID',
+    `subject_code`  varchar(32) NOT NULL COMMENT '科目代码',
+    `group_number`  int(11)     NOT NULL COMMENT '大题号',
+    `exam_number`   varchar(64) NOT NULL COMMENT '准考证号',
+    `secret_number` varchar(64) NOT NULL COMMENT '考生密号',
+    `problem_id`    int(11)     NOT NULL COMMENT '问题ID',
+    `student_id`    int(11)     NOT NULL COMMENT '考生ID',
+    `library_id`    int(11)     NOT NULL COMMENT '评卷任务ID',
+    `marker_id`     int(11)     NOT NULL COMMENT '评卷员ID',
+    `status`        varchar(16)  DEFAULT NULL COMMENT '状态',
+    `user_id`       int(11)      DEFAULT NULL COMMENT '处理人ID',
+    `total_score`   double       DEFAULT NULL COMMENT '总分',
+    `score_list`    text		 DEFAULT NULL COMMENT '给分明细',
+	`unanswered_count`	int(11)	DEFAULT NULL COMMENT '未作答的步骤数量',
+    `create_time`   datetime    NOT NULL COMMENT '创建时间',
+    `update_time`   datetime     DEFAULT NULL COMMENT '处理时间',
+    PRIMARY KEY (`id`),
+    KEY `index1` (`exam_id`, `subject_code`, `group_number`, `status`),
+    KEY `index2` (`user_id`, `status`, `update_time`),
+    KEY `index3` (`student_id`, `status`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='问题卷历史表';
+
+
+# Dump of table m_trial_library
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `m_trial_library`;
+CREATE TABLE `m_trial_library`
+(
+    `id`            int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `exam_id`       int(11)     NOT NULL COMMENT '考试ID',
+    `subject_code`  varchar(32) NOT NULL COMMENT '科目代码',
+    `group_number`  int(11)     NOT NULL COMMENT '分组序号',
+    `student_id`    int(11)     NOT NULL COMMENT '考生ID',
+    `exam_number`   varchar(64) NOT NULL COMMENT '准考证号',
+    `secret_number` varchar(64) NOT NULL COMMENT '考生密号',
+	`marker_id`         int(11)      DEFAULT NULL COMMENT '评卷员ID',
+    `marker_time`       datetime     DEFAULT NULL COMMENT '评卷时间',
+    `marker_score`      double       DEFAULT NULL COMMENT '评卷总分',
+    `marker_score_list` text		 DEFAULT NULL COMMENT '评卷给分明细',
+    PRIMARY KEY (`id`),
+    KEY `index1` (`exam_id`, `subject_code`, `group_number`),
+    UNIQUE KEY `index2` (`student_id`, `group_number`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='试评任务表';
+
+
+# Dump of table m_trial_tag
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `m_trial_tag`;
+CREATE TABLE `m_trial_tag`
+(
+    `id`           int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `library_id`   int(11)     NOT NULL COMMENT '评卷任务ID',
+    `marker_id`    int(11)     NOT NULL COMMENT '评卷员ID',
+    `content`      varchar(64) NOT NULL COMMENT '标记内容',
+    `position_x`   double      NOT NULL COMMENT 'X轴位置',
+    `position_y`   double      NOT NULL COMMENT 'Y轴位置',
+    `offset_index` int(11)     NOT NULL COMMENT '裁切图序号',
+    `offset_x`     int(11)     NOT NULL COMMENT '裁切图X轴坐标',
+    `offset_y`     int(11)     NOT NULL COMMENT '裁切图Y轴坐标',
+    PRIMARY KEY (`id`),
+    KEY `index1` (`library_id`, `marker_id`),
+    KEY `index2` (`marker_id`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='试评特殊标记表';
+
+
+# Dump of table m_trial_track
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `m_trial_track`;
+CREATE TABLE `m_trial_track`
+(
+    `library_id`      int(11)     NOT NULL COMMENT '评卷任务ID',
+    `marker_id`       int(11)     NOT NULL COMMENT '评卷员ID',
+    `question_number` varchar(64) NOT NULL COMMENT '完整题号',
+    `number`          int(11)     NOT NULL COMMENT '序号',
+    `exam_id`         int(11)     NOT NULL COMMENT '考试ID',
+    `subject_code`    varchar(32) NOT NULL COMMENT '科目代码',
+    `group_number`    int(11)     NOT NULL COMMENT '大题题号',
+    `student_id`      int(11)     NOT NULL COMMENT '考生ID',
+    `score`           double      NOT NULL COMMENT '给分',
+    `position_x`      double      NOT NULL COMMENT 'X轴位置',
+    `position_y`      double      NOT NULL COMMENT 'Y轴位置',
+    `offset_index`    int(11)     NOT NULL COMMENT '裁切图序号',
+    `offset_x`        int(11)     NOT NULL COMMENT '裁切图X轴坐标',
+    `offset_y`        int(11)     NOT NULL COMMENT '裁切图Y轴坐标',
+    `unanswered`      tinyint(1)   NOT NULL COMMENT '未作答',
+    PRIMARY KEY (`library_id`, `marker_id`, `number`, `question_number`),
+    KEY `index1` (`exam_id`, `subject_code`, `group_number`),
+    KEY `index2` (`student_id`),
+    KEY `index3` (`marker_id`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='试评轨迹表';
+
+
+
+# Dump of table s_basic_group
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `s_basic_class_group`;
+CREATE TABLE `s_basic_class_group`
+(
+    `id`                   int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `exam_id`              int(11)      DEFAULT NULL COMMENT '考试ID',
+    `subject_code`         varchar(32)  DEFAULT NULL COMMENT '科目代码',
+    `subject_name`         varchar(32)  DEFAULT NULL COMMENT '科目名称',
+    `class_name`           varchar(64)  DEFAULT NULL COMMENT '班级名称',
+    `discrimination`       double       DEFAULT NULL COMMENT '区分度',
+    `objective`            tinyint(1)   DEFAULT NULL COMMENT '是否客观题',
+    `group_name`           varchar(128) DEFAULT NULL COMMENT '大题名称',
+    `group_number`         int(11)      DEFAULT NULL COMMENT '大题号',
+    `question_count`       int(11)      DEFAULT NULL COMMENT '题目数量',
+    `total_score`          double       DEFAULT NULL COMMENT '总分',
+    `difficulity_level`    text         DEFAULT NULL COMMENT '难度分布',
+    `discrimination_level` text         DEFAULT NULL COMMENT '区分度分布',
+    `coefficient`          double       DEFAULT NULL COMMENT '差异系数',
+    `difficulty`           double       DEFAULT NULL COMMENT '难度',
+    `paper_type`           varchar(8)   DEFAULT NULL COMMENT '试卷类型',
+    PRIMARY KEY (`id`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='班级大题统计表';
+
+
+# Dump of table s_basic_group
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `s_basic_group`;
+CREATE TABLE `s_basic_group`
+(
+    `id`                   int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `exam_id`              int(11)      DEFAULT NULL COMMENT '考试ID',
+    `subject_code`         varchar(32)  DEFAULT NULL COMMENT '科目代码',
+    `subject_name`         varchar(32)  DEFAULT NULL COMMENT '科目名称',
+    `objective`            tinyint(1)   DEFAULT NULL COMMENT '是否客观题',
+    `group_name`           varchar(128) DEFAULT NULL COMMENT '大题名称',
+    `group_number`         int(11)      DEFAULT NULL COMMENT '大题号',
+    `max_score`            double       DEFAULT NULL COMMENT '最高分',
+    `min_score`            double       DEFAULT NULL COMMENT '最低分',
+    `avg_score`            double       DEFAULT NULL COMMENT '平均分',
+    `total_score`          double       DEFAULT NULL COMMENT '满分',
+    `stdev`                double       DEFAULT NULL COMMENT '标准差',
+    `coefficient`          double       DEFAULT NULL COMMENT '差异系数',
+    `score_rate`           double       DEFAULT NULL COMMENT '得分率',
+    `full_count`           int(11)      DEFAULT NULL COMMENT '满分人数',
+    `zero_count`           int(11)      DEFAULT NULL COMMENT '零分人数',
+    `difficulty`           double       DEFAULT NULL COMMENT '难度',
+    `discrimination`       double       DEFAULT NULL COMMENT '区分度',
+    `question_count`       int(11)      DEFAULT NULL COMMENT '题目数量',
+    `reality_count`        int(11)      DEFAULT NULL COMMENT '有效数量',
+    `difficulity_level`    text         DEFAULT NULL COMMENT '难度分布',
+    `discrimination_level` text         DEFAULT NULL COMMENT '区分度分布',
+    `paper_type`           varchar(8)   DEFAULT NULL COMMENT '试卷类型',
+    PRIMARY KEY (`id`),
+    KEY `index1` (`exam_id`, `subject_code`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='大题统计表';
+
+
+# Dump of table s_basic_question
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `s_basic_question`;
+CREATE TABLE `s_basic_question`
+(
+    `id`              int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `exam_id`         int(11)     DEFAULT NULL COMMENT '考试ID',
+    `subject_code`    varchar(32) DEFAULT NULL COMMENT '科目代码',
+    `subject_name`    varchar(32) DEFAULT NULL COMMENT '科目名称',
+    `objective`       tinyint(1)  DEFAULT NULL COMMENT '是否客观题',
+    `question_name`   varchar(64) DEFAULT NULL COMMENT '题目名称',
+    `paper_type`      varchar(8)  DEFAULT NULL COMMENT '试卷类型',
+    `main_number`     int(11) 	  NOT NULL COMMENT '大题号',
+    `sub_number`      varchar(32) NOT NULL COMMENT '小题号',
+    `avg_score`       double      DEFAULT NULL COMMENT '平均分',
+    `total_score`     double      DEFAULT NULL COMMENT '满分',
+    `stdev`           double      DEFAULT NULL COMMENT '标准差',
+    `score_rate`      double      DEFAULT NULL COMMENT '得分率',
+    `full_score_rate` double      DEFAULT NULL COMMENT '满分率',
+    `coefficient`     double      DEFAULT NULL COMMENT '差异系数',
+    `difficulty`      double      DEFAULT NULL COMMENT '难度',
+    `discrimination`  double      DEFAULT NULL COMMENT '区分度',
+    `max_score`       double      DEFAULT NULL COMMENT '最大分数',
+    `min_score`       double      DEFAULT NULL COMMENT '最小分数',
+    `reality_count`   int(11)     DEFAULT NULL COMMENT '有效数量',
+    `zero_count`      int(11)     DEFAULT NULL COMMENT '零分数量',
+    `options`         text        DEFAULT NULL COMMENT '选项',
+    `answer`          varchar(16) DEFAULT NULL COMMENT '答案',
+    `full_count`      int(11)     DEFAULT NULL COMMENT '满分数量',
+    PRIMARY KEY (`id`),
+    KEY `index1` (`exam_id`, `subject_code`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='小题统计表';
+
+
+# Dump of table s_basic_subject
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `s_basic_subject`;
+CREATE TABLE `s_basic_subject`
+(
+    `id`                   int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `exam_id`              int(11)     DEFAULT NULL COMMENT '考试ID',
+    `subject_code`         varchar(32) DEFAULT NULL COMMENT '科目代码',
+    `subject_name`         varchar(32) DEFAULT NULL COMMENT '科目名称',
+    `absent_count`         int(11)     DEFAULT NULL COMMENT '缺考人数',
+    `breach_count`         int(11)     DEFAULT NULL COMMENT '违纪人数',
+    `pass_count`           int(11)     DEFAULT NULL COMMENT '及格人数',
+    `pass_rate`            double      DEFAULT NULL COMMENT '及格率',
+    `excellent_count`      int(11)     DEFAULT NULL COMMENT '优秀人数',
+    `excellent_rate`       double      DEFAULT NULL COMMENT '优秀率',
+    `reality_count`        int(11)     DEFAULT NULL COMMENT '有效人数',
+    `max_score`            double      DEFAULT NULL COMMENT '最高分',
+    `min_score`            double      DEFAULT NULL COMMENT '最低分',
+    `avg_score`            double      DEFAULT NULL COMMENT '平均分',
+    `total_count`          int(11)     DEFAULT NULL COMMENT '总人数',
+    `score_range`          text 	   DEFAULT NULL COMMENT '分数分布',
+    `options`              text        DEFAULT NULL COMMENT '选项',
+    `difficulity_level`    text        DEFAULT NULL COMMENT '难度分布',
+    `discrimination_level` text        DEFAULT NULL COMMENT '区分度分布',
+    `range_level`          text        DEFAULT NULL COMMENT '高低分段统计',
+    `coefficient`          double      DEFAULT NULL COMMENT '差异系数',
+    `difficulty`           double      DEFAULT NULL COMMENT '难度',
+    `discrimination`       double      DEFAULT NULL COMMENT '区分度',
+    `full_count`           int(11)     DEFAULT NULL COMMENT '满分人数',
+    `question_count`       int(11)     DEFAULT NULL COMMENT '题目数量',
+    `stdev`                double      DEFAULT NULL COMMENT '方差',
+    `total_score`          double      DEFAULT NULL COMMENT '满分',
+    `zero_count`           int(11)     DEFAULT NULL COMMENT '零分数量',
+    PRIMARY KEY (`id`),
+    KEY `index1` (`exam_id`, `subject_code`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='科目统计表';
+
+
+# Dump of table s_basic_subject_class
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `s_basic_subject_class`;
+CREATE TABLE `s_basic_subject_class`
+(
+    `id`                   int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `exam_id`              int(11)     DEFAULT NULL COMMENT '考试ID',
+    `subject_code`         varchar(32) DEFAULT NULL COMMENT '科目代码',
+    `subject_name`         varchar(32) DEFAULT NULL COMMENT '科目名称',
+    `class_name`           varchar(64) DEFAULT NULL COMMENT '班级名称',
+    `excellent_count`      int(11)     DEFAULT NULL COMMENT '优秀人数',
+    `excellent_rate`       double      DEFAULT NULL COMMENT '优秀率',
+    `pass_count`           int(11)     DEFAULT NULL COMMENT '及格人数',
+    `pass_rate`            double      DEFAULT NULL COMMENT '及格率',
+    `max_score`            double      DEFAULT NULL COMMENT '最高分',
+    `min_score`            double      DEFAULT NULL COMMENT '最低分',
+    `avg_score`            double      DEFAULT NULL COMMENT '平均分',
+    `coefficient`          double      DEFAULT NULL COMMENT '差异系数',
+    `difficulty`           double      DEFAULT NULL COMMENT '难度',
+    `score_range`          text        DEFAULT NULL COMMENT '分数分布',
+    `stdev`                double      DEFAULT NULL COMMENT '方差',
+    `difficulity_level`    text        DEFAULT NULL COMMENT '难度分布',
+    `discrimination_level` text        DEFAULT NULL COMMENT '区分度分布',
+    `range_level`          text        DEFAULT NULL COMMENT '高低分分布',
+	`total_count`      	   int(11)     DEFAULT NULL COMMENT '报考人数',
+    `reality_count`        int(11)     DEFAULT NULL COMMENT '有效人数',
+    PRIMARY KEY (`id`),
+    KEY `index1` (`exam_id`, `subject_code`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='班级统计表';
+
+
+# Dump of table s_basic_subject_college
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `s_basic_subject_college`;
+CREATE TABLE `s_basic_subject_college`
+(
+    `id`              int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `exam_id`         int(11)     DEFAULT NULL COMMENT '考试ID',
+    `subject_code`    varchar(32) DEFAULT NULL COMMENT '科目代码',
+    `subject_name`    varchar(32) DEFAULT NULL COMMENT '科目名称',
+    `college_name`    varchar(64) DEFAULT NULL COMMENT '学院名称',
+	`total_count`      	 int(11)     DEFAULT NULL COMMENT '报考人数',    
+    `reality_count`      int(11)     DEFAULT NULL COMMENT '有效人数',
+    `excellent_count` int(11)     DEFAULT NULL COMMENT '优秀人数',
+    `excellent_rate`  double      DEFAULT NULL COMMENT '优秀率',
+    `pass_count`      int(11)     DEFAULT NULL COMMENT '及格人数',
+    `pass_rate`       double      DEFAULT NULL COMMENT '及格率',
+    `max_score`       double      DEFAULT NULL COMMENT '最高分',
+    `min_score`       double      DEFAULT NULL COMMENT '最低分',
+    `avg_score`       double      DEFAULT NULL COMMENT '平均分',
+    PRIMARY KEY (`id`),
+    KEY `index1` (`exam_id`, `subject_code`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='学院统计表';
+
+
+# Dump of table s_basic_subject_teacher
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `s_basic_subject_teacher`;
+CREATE TABLE `s_basic_subject_teacher`
+(
+    `id`                 int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `exam_id`            int(11)     DEFAULT NULL COMMENT '考试ID',
+    `subject_code`       varchar(32) DEFAULT NULL COMMENT '科目代码',
+    `subject_name`       varchar(32) DEFAULT NULL COMMENT '科目名称',
+    `teacher_name`       varchar(64) DEFAULT NULL COMMENT '任课老师',
+    `excellent_count`    int(11)     DEFAULT NULL COMMENT '优秀人数',
+    `excellent_rate`     double      DEFAULT NULL COMMENT '优秀率',
+    `pass_count`         int(11)     DEFAULT NULL COMMENT '及格人数',
+    `pass_rate`          double      DEFAULT NULL COMMENT '及格率',
+    `max_score`          double      DEFAULT NULL COMMENT '最高分',
+    `min_score`          double      DEFAULT NULL COMMENT '最低分',
+    `avg_score`          double      DEFAULT NULL COMMENT '平均分',
+    `total_count`      	 int(11)     DEFAULT NULL COMMENT '报考人数',    
+    `reality_count`      int(11)     DEFAULT NULL COMMENT '有效人数',
+    `relative_avg_score` double      DEFAULT NULL COMMENT '平均相对分',
+    PRIMARY KEY (`id`),
+    KEY `index1` (`exam_id`, `subject_code`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='任课老师统计表';
+
+
+# Dump of table s_basic_subject_teacher_class
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `s_basic_subject_teacher_class`;
+CREATE TABLE `s_basic_subject_teacher_class`
+(
+    `id`                 int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `exam_id`            int(11)     DEFAULT NULL COMMENT '考试ID',
+    `subject_code`       varchar(32) DEFAULT NULL COMMENT '科目代码',
+    `subject_name`       varchar(32) DEFAULT NULL COMMENT '科目名称',
+    `teacher_name`       varchar(64) DEFAULT NULL COMMENT '任课老师',
+    `class_name`         varchar(64) DEFAULT NULL COMMENT '班级名称',
+    `excellent_count`    int(11)     DEFAULT NULL COMMENT '优秀人数',
+    `excellent_rate`     double      DEFAULT NULL COMMENT '优秀率',
+    `pass_count`         int(11)     DEFAULT NULL COMMENT '及格人数',
+    `pass_rate`          double      DEFAULT NULL COMMENT '及格率',
+    `max_score`          double      DEFAULT NULL COMMENT '最高分',
+    `min_score`          double      DEFAULT NULL COMMENT '最低分',
+    `avg_score`          double      DEFAULT NULL COMMENT '平均分',
+    `reality_count`      int(11)     DEFAULT NULL COMMENT '有效人数',
+    `relative_avg_score` double      DEFAULT NULL COMMENT '平均相对分',
+    PRIMARY KEY (`id`),
+    KEY `index1` (`exam_id`, `subject_code`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='任课老师班级统计表';
+  
+
+# Dump of table eb_import_query
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `eb_import_query`;
+
+CREATE TABLE `eb_import_query` 
+(
+  `id` 			int(11) 	NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `create_time` datetime    NOT NULL COMMENT '创建时间',
+  `description` text 		DEFAULT NULL COMMENT '描述',
+  `exam_id` 	int(11) 	NOT NULL COMMENT '考试ID',
+  `type` 		varchar(16) NOT NULL COMMENT '类型',
+  `user_id` 	int(11)  	NOT NULL COMMENT '用户ID',
+  PRIMARY KEY (`id`),
+  KEY `index1` (`exam_id`, `user_id`, `type`)
+)  ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='导入查询表';
+  
+  
+# Dump of table eb_answer_card
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `eb_answer_card`;
+
+CREATE TABLE `eb_answer_card` 
+(
+    `exam_id`			int(11)     NOT NULL COMMENT '考试ID',
+    `code`				varchar(64) DEFAULT NULL COMMENT '混扫代码',
+    `number`			int(11)     NOT NULL COMMENT '序号',
+  	`need_adapte`		tinyint(1)  DEFAULT NULL COMMENT '强制适配',
+  	`paper_count`		int(11) 	DEFAULT NULL COMMENT '试卷数量',
+	`single_page`		tinyint(1)	DEFAULT NULL COMMENT '单页模式',
+	`source`			varchar(16) NOT NULL COMMENT '来源',
+	`md5`				varchar(255) DEFAULT NULL COMMENT '文件md5',
+	`dpi`				int(11) 	 DEFAULT NULL COMMENT 'dpi',
+	`slice_config` 		text 		 DEFAULT NULL COMMENT '裁切配置',
+	`parameter`			varchar(255) DEFAULT NULL COMMENT '其他属性',
+	`remark`			varchar(255) DEFAULT NULL COMMENT '备注',
+    `update_time`  		datetime     DEFAULT NULL COMMENT '修改时间',
+  PRIMARY KEY (`exam_id`,`number`)
+)  ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='题卡卡格式表';
+
+DROP TABLE IF EXISTS `eb_score_verify`;  
+CREATE TABLE `eb_score_verify` 
+(
+	`id`			int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `exam_id`		int(11)     NOT NULL COMMENT '考试ID',
+  	`user_id`		int(11) 	NOT NULL COMMENT '操作人ID',
+    `student_id`	int(11)     NOT NULL COMMENT '考生ID',
+  	`flagged`		tinyint(1)  NOT NULL DEFAULT 0 COMMENT '是否被标记',
+  	`viewed`		tinyint(1)  NOT NULL DEFAULT 0 COMMENT '是否被查看',
+  	`create_time`	datetime    NOT NULL COMMENT '创建时间',
+  	`verify_time`	datetime    DEFAULT NULL COMMENT '校验时间',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `index1` (`exam_id`,`user_id`,`student_id`)
+)  ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='成绩校验';
+
+  
+# Dump of table eb_answer_card_subject
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `eb_answer_card_subject`;
+CREATE TABLE `eb_answer_card_subject` 
+(
+	`id`           		int(11)     	NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `exam_id`			int(11)     	NOT NULL COMMENT '考试ID',
+    `card_number`		int(11)     	NOT NULL COMMENT '卡格式号',
+  	`subject_code`		varchar(128)	NOT NULL COMMENT '科目代码',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `index1` (`exam_id`,`card_number`,`subject_code`)
+)  ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='卡格式科目关联关系';
+  
+DROP TABLE IF EXISTS `eb_user_student`;
+CREATE TABLE `eb_user_student`
+(
+    `id`			int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `user_id`		int(11)     NOT NULL COMMENT '用户ID',
+    `exam_number` 	varchar(64)	NOT NULL COMMENT '考生ID',
+    PRIMARY KEY (`id`),
+    UNIQUE KEY `index1` (`user_id`, `exam_number`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='用户考生关联表';
+  
+DROP TABLE IF EXISTS `b_role_info`;
+CREATE TABLE `b_role_info`
+(
+    `id`             int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `school_id` 	 int(11)	 NOT NULL COMMENT '学校ID',
+    `code`           varchar(64) NOT NULL COMMENT '角色CODE',
+    `name`           varchar(64) NOT NULL COMMENT '名称',
+    `seq`            int(11)     NOT NULL COMMENT '排序',
+    `updater_id` 	 int(11)	 DEFAULT NULL COMMENT '更新人ID',
+    `update_time`	 datetime    DEFAULT NULL COMMENT '更新时间', 
+    PRIMARY KEY (`id`),
+    UNIQUE KEY `IDX_ROLE_INFO_01` (`school_id`,`code`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='角色表';
+  
+DROP TABLE IF EXISTS `b_privilege`;
+CREATE TABLE `b_privilege`
+(
+    `id`             int(11)		NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `code`           varchar(64)	NOT NULL COMMENT '权限CODE',
+    `name`           varchar(64)	NOT NULL COMMENT '名称',
+    `parent_code`    varchar(64)	NOT NULL COMMENT '父权限CODE',
+    `privilege_type` varchar(64)	NOT NULL COMMENT '类型',
+    `privilege_uri`  varchar(64)	DEFAULT NULL COMMENT 'URI',
+    `seq`            int(11)		NOT NULL COMMENT '排序',
+    `level`          int(11)		NOT NULL COMMENT '树结构层级',
+    `icon` 			 varchar(64)	DEFAULT NULL COMMENT '图表',
+    `i18n` 			 varchar(64)	DEFAULT NULL COMMENT '国际化',
+    PRIMARY KEY (`id`),
+    UNIQUE KEY `IDX_PRIVILEGE_01` (`code`),
+    KEY `IDX_PRIVILEGE_02` (`parent_code`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='权限表';
+
+
+DROP TABLE IF EXISTS `b_role_privilege`;
+CREATE TABLE `b_role_privilege`
+(
+	`id`				int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+	`school_id` 		int(11) 	NOT NULL COMMENT '学校ID',
+    `role_code`			varchar(64) NOT NULL COMMENT '角色CODE',
+    `privilege_code`	varchar(64)	NOT NULL COMMENT '权限CODE',
+    `enable`       		tinyint(1)	NOT NULL COMMENT '启用禁用',
+    PRIMARY KEY (`id`),
+    UNIQUE KEY `IDX_ROLE_PRIVILEGE_01`(`school_id`,`role_code`, `privilege_code`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='角色权限关联表';
+
+LOCK TABLES `b_privilege` WRITE;  
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('user_list', '用户管理', 'root_code', 'MENU', '/admin/user/list', 10,1,'icon-user','index.user');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('exam_list', '考试管理', 'root_code', 'MENU', '/admin/exam/list', 20,1,'icon-th-list','index.exam');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('exam_student', '考生管理', 'root_code', 'MENU', '/admin/exam/student', 30,1,'icon-user','index.student');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('exam_paper', '科目管理', 'root_code', 'MENU', '/admin/exam/paper', 40,1,'icon-book','index.paper');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('exam_scan', '扫描进度', 'root_code', 'MENU', '/admin/exam/scan', 50,1,'icon-print','index.scan');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('exam_mark', '评卷管理', 'root_code', 'MENU', '/admin/basic/role/info/sub/page', 60,1,'icon-pencil','index.mark');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`privilege_uri`,`level`, `seq`)
+VALUES ('exam_mark-mark', '评卷进度', 'exam_mark', 'PAGE','/admin/exam/mark', 2,1);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`privilege_uri`,`level`, `seq`)
+VALUES ('exam_mark-group', '分组管理', 'exam_mark', 'PAGE','/admin/exam/group', 2,2);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`level`, `seq`)
+VALUES ('exam_mark-group-add', '新增', 'exam_mark-group', 'BUTTON', 3,1);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`level`, `seq`)
+VALUES ('exam_mark-group-edit', '修改', 'exam_mark-group', 'BUTTON', 3,2);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`level`, `seq`)
+VALUES ('exam_mark-group-reset_edit', '重置修改', 'exam_mark-group', 'BUTTON', 3,3);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`level`, `seq`)
+VALUES ('exam_mark-group-delete', '删除', 'exam_mark-group', 'BUTTON', 3,4);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`privilege_uri`,`level`, `seq`)
+VALUES ('exam_mark-marker', '评卷员管理', 'exam_mark', 'PAGE','/admin/exam/marker', 2,3);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`level`, `seq`)
+VALUES ('exam_mark-marker-reset', '重置', 'exam_mark-marker', 'BUTTON', 3,1);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`privilege_uri`,`level`, `seq`)
+VALUES ('exam_mark-trial', '试评管理', 'exam_mark', 'PAGE','/admin/exam/trial', 2,4);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`privilege_uri`,`level`, `seq`)
+VALUES ('exam_mark-library', '任务管理', 'exam_mark', 'PAGE','/admin/exam/library', 2,5);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`level`, `seq`)
+VALUES ('exam_mark-library-inspect', '复核', 'exam_mark-library', 'BUTTON', 3,1);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`level`, `seq`)
+VALUES ('exam_mark-library-reject', '打回', 'exam_mark-library', 'BUTTON', 3,2);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`privilege_uri`,`level`, `seq`)
+VALUES ('exam_mark-arbitrate', '仲裁管理', 'exam_mark', 'PAGE','/admin/exam/arbitrate', 2,6);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`privilege_uri`,`level`, `seq`)
+VALUES ('exam_mark-quality', '质量监控', 'exam_mark', 'PAGE','/admin/exam/quality', 2,7);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('exam_reject_list', '打回试卷', 'root_code', 'MENU', '/admin/basic/role/info/sub/page', 70,1,'icon-bookmark','index.reject');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`privilege_uri`,`level`, `seq`)
+VALUES ('exam_reject_list-paper', '打回卷', 'exam_reject_list', 'PAGE','/admin/exam/reject/list', 2,1);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`privilege_uri`,`level`, `seq`)
+VALUES ('exam_reject_list-history', '打回记录', 'exam_reject_list', 'PAGE','/admin/exam/reject/history', 2,2);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('exam_problem_history', '问题试卷', 'root_code', 'MENU', '/admin/exam/problem/history', 80,1,'icon-tag','index.problem');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`level`, `seq`)
+VALUES ('exam_problem_history-reset', '重置', 'exam_problem_history', 'BUTTON', 2,1);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`level`, `seq`)
+VALUES ('exam_problem_history-batch_reset', '批量重置', 'exam_problem_history', 'BUTTON', 2,2);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('exam_inspected_info', '成绩复核', 'root_code', 'MENU', '/admin/basic/role/info/sub/page', 90,1,'icon-flag','index.inspected');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`privilege_uri`,`level`, `seq`)
+VALUES ('exam_inspected_info-info', '成绩复核进度', 'exam_inspected_info', 'PAGE','/admin/exam/inspected/info', 2,1);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`privilege_uri`,`level`, `seq`)
+VALUES ('exam_inspected_info-list', '全卷复核', 'exam_inspected_info', 'PAGE','/admin/exam/inspected/list', 2,2);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`level`, `seq`)
+VALUES ('exam_inspected_info-next_round', '再次复核', 'exam_inspected_info-list', 'BUTTON', 3,1);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`privilege_uri`,`level`, `seq`)
+VALUES ('exam_inspected_info-score_verify', '成绩校验', 'exam_inspected_info', 'PAGE','/admin/exam/score/verify/init', 2,3);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('exam_score', '成绩查询', 'root_code', 'MENU', '/admin/exam/score', 100,1,'icon-search','index.score');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`level`, `seq`)
+VALUES ('exam_score-export', '导出', 'exam_score', 'BUTTON', 2,1);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('exam_report_subject', '总量分析', 'root_code', 'MENU', '/admin/exam/reportSubject', 110,1,'icon-signal','index.report.total');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('exam_report_subject_range', '科目分析', 'root_code', 'MENU', '/admin/exam/reportSubjectRange', 120,1,'icon-asterisk','index.report.subject');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('exam_check_answer', '数据检查', 'root_code', 'MENU', '/admin/exam/check/answer', 130,1,'icon-check','index.check');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('operation_log', '操作日志', 'root_code', 'MENU', '/admin/operation/log', 140,1,'icon-tasks','index.log');
+UNLOCK TABLES;
+

+ 5 - 0
install/mysql/upgrade/1.3.11.sql

@@ -0,0 +1,5 @@
+-- 1.3.11
+-- 新增school字段
+USE `stmms_ft`;
+ALTER TABLE b_school ADD COLUMN `parent_id`     int(11)      DEFAULT NULL COMMENT '父机构ID';
+ALTER TABLE b_school ADD COLUMN `sub_code`      varchar(64)  DEFAULT NULL COMMENT '子机构代码';

+ 55 - 0
install/mysql/upgrade/1.3.12.sql

@@ -0,0 +1,55 @@
+-- 1.3.12
+USE `stmms_ft`;
+-- 新增question字段
+ALTER TABLE eb_exam_question ADD COLUMN `name`	varchar(128) DEFAULT NULL COMMENT '名称';
+
+-- 新增eb_exam_subject字段
+ALTER TABLE eb_exam_subject ADD COLUMN `display_question_name`   tinyint(1)	NOT NULL COMMENT '显示题目昵称';
+
+-- 新增eb_subjective_score字段
+ALTER TABLE eb_subjective_score ADD COLUMN `rejected`	tinyint (1) NOT NULL COMMENT '是否被打回';
+
+-- 新增b_user字段
+ALTER TABLE b_user ADD COLUMN `empno` 			varchar(128) DEFAULT NULL COMMENT '工号';
+ALTER TABLE b_user ADD COLUMN `random_password` varchar(64)  DEFAULT NULL COMMENT '随机密码';
+
+-- 新增eb_exam字段
+ALTER TABLE eb_exam ADD COLUMN `show_reject`   	tinyint(1)  	NOT NULL COMMENT '显示打回前原分值';
+
+-- 新增eb_user_exam用户考试关联表
+CREATE TABLE `eb_user_exam`
+(
+    `id`           int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `user_id`      int(11)     NOT NULL COMMENT '用户ID',
+    `exam_id`	   int(11)	   NOT NULL COMMENT '考试ID',
+    PRIMARY KEY (`id`),
+    UNIQUE KEY `index1` (`user_id`, `exam_id`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='用户考试关联表';
+  
+-- 新增m_reject_history打回记录表
+CREATE TABLE `m_reject_history`
+(
+    `id`            int(11)     NOT NULL AUTO_INCREMENT COMMENT '自增主键',
+    `exam_id`       int(11)     NOT NULL COMMENT '考试ID',
+    `subject_code`  varchar(32) NOT NULL COMMENT '科目代码',
+    `group_number`  int(11)     NOT NULL COMMENT '大题号',
+    `exam_number`   varchar(64) NOT NULL COMMENT '准考证号',
+    `secret_number` varchar(64) NOT NULL COMMENT '考生密号',
+    `student_id`    int(11)     NOT NULL COMMENT '考生ID',
+    `library_id`    int(11)     NOT NULL COMMENT '评卷任务ID',
+    `marker_id`     int(11)     NOT NULL COMMENT '评卷员ID',
+    `user_id`       int(11)      DEFAULT NULL COMMENT '打回人ID',
+    `total_score`   double       DEFAULT NULL COMMENT '总分',
+    `score_list`    text		 DEFAULT NULL COMMENT '打回时给分明细',
+    `reject_score_list`    text		 DEFAULT NULL COMMENT '打回后给分明细',
+	`reason` 	varchar(128) DEFAULT NULL COMMENT '打回原因',
+    `create_time`   datetime    NOT NULL COMMENT '创建时间',
+    PRIMARY KEY (`id`),
+    KEY `index1` (`exam_id`, `subject_code`, `group_number`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='打回记录表';
+  
+-- 新增系统配置,自动统计
+INSERT INTO `b_sys_config` (`id`, `type`, `description`, `update_time`)
+VALUES (3, 'AUTO_REPORT', null, '2021-08-09 15:38:58');

+ 790 - 0
install/mysql/upgrade/1.3.14.sql

@@ -0,0 +1,790 @@
+-- 1.3.14
+
+USE `stmms_ft`;
+
+ALTER TABLE eb_exam_student ADD COLUMN `inspected`	tinyint(1) NOT NULL COMMENT '当前轮次是否已审核';
+ALTER TABLE eb_exam_student ADD COLUMN `score_verify_user`	int(11) DEFAULT NULL COMMENT '成绩校验人ID';
+ALTER TABLE eb_exam_student ADD COLUMN `score_verify_time`	datetime DEFAULT NULL COMMENT '成绩校验时间';
+ALTER TABLE eb_exam_student ADD COLUMN `score_verify_flagged`	tinyint(1) DEFAULT NULL COMMENT '成绩校验标记结果';
+UPDATE eb_exam_student set inspected=1,subjective_status='MARKED' where subjective_status='INSPECTED';
+
+ALTER TABLE eb_exam_subject ADD COLUMN `inspect_round` 	int(11) NOT NULL DEFAULT 1 COMMENT '复核轮数';
+ALTER TABLE eb_inspect_history ADD COLUMN `inspect_round` 	int(11) NOT NULL COMMENT '复核轮数';
+ALTER TABLE eb_exam_subject ADD COLUMN `selective` 	tinyint(1) NOT NULL DEFAULT 0 COMMENT '选做题科目';
+
+ALTER TABLE b_school ADD COLUMN `double_track`  tinyint(1)  NOT NULL DEFAULT 0 COMMENT '双评轨迹';
+ALTER TABLE b_school ADD COLUMN `group_delete_check` tinyint(1)  NOT NULL COMMENT '开启删除分组授权码';
+
+-- 更新选做题科目数据
+UPDATE eb_exam_subject o,
+ (
+	SELECT
+		s.exam_id,
+		s. CODE
+	FROM
+		eb_exam_subject s
+	INNER JOIN (
+		SELECT DISTINCT
+			exam_id,
+			subject_code
+		FROM
+			eb_selective_group
+	) aa ON s.exam_id = aa.exam_id
+	AND s. CODE = aa.subject_code
+) n
+SET o.selective = 1
+WHERE
+	o.exam_id = n.exam_id
+AND o. CODE = n. CODE;
+
+-- 更新复核记录数据
+-- 备份
+DROP TABLE IF EXISTS `eb_inspect_history_bak`;
+CREATE TABLE `eb_inspect_history_bak` 
+(
+	`id` 		INT (11) NOT NULL AUTO_INCREMENT COMMENT '主键',
+	`exam_id`	INT (11) NOT NULL COMMENT '考试ID',
+	`subject_code` 	VARCHAR (32) NOT NULL COMMENT '科目代码',
+	`inspect_time` 	DATETIME NOT NULL COMMENT '复核时间',
+	`inspector_id` 	INT (11) DEFAULT NULL COMMENT '复核人ID',
+	`student_id` 	INT (11) DEFAULT NULL COMMENT '考生ID',
+	PRIMARY KEY (`id`),
+	KEY `index1` (`student_id`)
+) ENGINE = INNODB 
+	DEFAULT CHARSET = utf8mb4 COMMENT = '复核记录表';
+	
+INSERT INTO `eb_inspect_history_bak` (
+	`id`,
+	`exam_id`,
+	`subject_code`,
+	`inspect_time`,
+	`inspector_id`,
+	`student_id`
+) SELECT
+	t.id,
+	t.exam_id,
+	t.subject_code,
+	t.inspect_time,
+	t.inspector_id,
+	t.student_id
+FROM
+	eb_inspect_history t;
+-- 保留最后一条记录	
+DELETE t1 FROM eb_inspect_history t1
+    INNER JOIN eb_inspect_history t2
+WHERE
+    t1.id < t2.id AND t1.student_id = t2.student_id;
+
+ALTER TABLE eb_inspect_history DROP INDEX index1;
+ALTER TABLE eb_inspect_history ADD UNIQUE INDEX index1(`student_id`, `inspect_round`);
+
+ALTER TABLE eb_exam ADD COLUMN `inspect_unrepeated`	tinyint(1) NOT NULL DEFAULT 0 COMMENT '全卷多次复核时不能为同一账号';
+ALTER TABLE eb_exam ADD COLUMN `inspect_scroll_bottom`	tinyint(1) NOT NULL DEFAULT 0 COMMENT '全卷复核时强制试卷拉到底部';
+ALTER TABLE eb_exam ADD COLUMN `remark_count`	int(11) DEFAULT NULL COMMENT '回评卷数';
+ALTER TABLE eb_exam ADD COLUMN `show_objective_score`	tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否显示客观分';
+
+DROP TABLE IF EXISTS `eb_score_verify`;
+CREATE TABLE `eb_score_verify` 
+(
+	`id`           int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `exam_id`			int(11)     NOT NULL COMMENT '考试ID',
+  	`user_id`		int(11) 	NOT NULL COMMENT '操作人ID',
+    `student_id`			int(11)     NOT NULL COMMENT '考生ID',
+  	`flagged`		tinyint(1)  NOT NULL DEFAULT 0 COMMENT '是否被标记',
+  	`viewed`		tinyint(1)  NOT NULL DEFAULT 0 COMMENT '是否被查看',
+  	`create_time`  		datetime     NOT NULL COMMENT '创建时间',
+  	`verify_time`  		datetime     DEFAULT NULL COMMENT '校验时间',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `index1` (`exam_id`,`user_id`,`student_id`)
+)  ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='成绩校验';
+  
+-- 卡格式相关
+ALTER TABLE eb_answer_card ADD COLUMN `dpi` 	int(11) DEFAULT NULL COMMENT 'dpi';
+ALTER TABLE eb_answer_card ADD COLUMN `code` 	varchar(64) DEFAULT NULL COMMENT '混扫代码';
+CREATE TABLE `eb_answer_card_subject` 
+(
+	`id`           		int(11)     	NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `exam_id`			int(11)     	NOT NULL COMMENT '考试ID',
+    `card_number`		int(11)     	NOT NULL COMMENT '卡格式号',
+  	`subject_code`		varchar(128)	NOT NULL COMMENT '科目代码',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `index1` (`exam_id`,`card_number`,`subject_code`)
+)  ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='卡格式科目关联关系';
+
+-- 卡格式科目关联关系数据订正
+INSERT INTO `eb_answer_card_subject` (
+	`exam_id`,
+	`subject_code`,
+	`card_number`
+) SELECT
+	b.exam_id,
+	b.subject_code,
+	b.number
+FROM
+	eb_answer_card b
+WHERE
+	b.subject_code is not  NULL;
+	
+-- 仲裁轨迹
+ALTER TABLE m_arbitrate_history ADD COLUMN	`unanswered_count`  int(11)	 DEFAULT NULL COMMENT '未作答的步骤数量';
+UPDATE m_arbitrate_history set unanswered_count=0;
+
+# Dump of table m_header_tag
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `m_header_tag`;
+
+CREATE TABLE `m_header_tag`
+(
+    `id`           int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `student_id`   int(11)     NOT NULL COMMENT '考生ID',
+	`group_number` int(11)     NOT NULL COMMENT '大题题号',
+	`user_id`      int(11)     NOT NULL COMMENT '用户ID',
+    `tag_name`     varchar(64) NOT NULL COMMENT '标记内容',
+    `position_x`   double      NOT NULL COMMENT 'X轴位置',
+    `position_y`   double      NOT NULL COMMENT 'Y轴位置',
+    `offset_index` int(11)     NOT NULL COMMENT '裁切图序号',
+    `offset_x`     int(11)     NOT NULL COMMENT '裁切图X轴坐标',
+    `offset_y`     int(11)     NOT NULL COMMENT '裁切图Y轴坐标',
+    PRIMARY KEY (`id`),
+    KEY `index1` (`student_id`,`group_number`),
+	KEY `index2` (`user_id`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='组长特殊标记表';
+
+
+# Dump of table m_header_track
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `m_header_track`;
+
+CREATE TABLE `m_header_track`
+(
+	`student_id`      int(11)      NOT NULL COMMENT '考生ID',
+    `question_number` varchar(128) NOT NULL COMMENT '完整题号',
+    `number`          int(11)      NOT NULL COMMENT '序号',
+    `exam_id`         int(11)      NOT NULL COMMENT '考试ID',
+    `subject_code`    varchar(32)  NOT NULL COMMENT '科目代码',
+    `group_number`    int(11)      NOT NULL COMMENT '大题题号',
+    `user_id`         int(11)      NOT NULL COMMENT '用户ID',
+    `score`           double       NOT NULL COMMENT '给分',
+    `position_x`      double       NOT NULL COMMENT 'X轴位置',
+    `position_y`      double       NOT NULL COMMENT 'Y轴位置',
+    `offset_index`    int(11)      NOT NULL COMMENT '裁切图序号',
+    `offset_x`        int(11)      NOT NULL COMMENT '裁切图X轴坐标',
+    `offset_y`        int(11)      NOT NULL COMMENT '裁切图Y轴坐标',
+    `unanswered`      tinyint(1)   NOT NULL COMMENT '未作答',
+    PRIMARY KEY (`student_id`, `question_number`, `number`),
+    KEY `index1` (`student_id`, `group_number`),
+    KEY `index2` (`user_id`),
+    KEY `index3` (`exam_id`, `subject_code`, `group_number`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='组长轨迹给分表';
+
+-- 试评 
+ALTER TABLE eb_exam_student ADD COLUMN  `is_trial`      tinyint(1)  NOT NULL DEFAULT 0 COMMENT '是否试评';
+-- 更新试评数据
+UPDATE eb_exam_student set is_trial=1 where subjective_status='TRIAL';
+UPDATE eb_exam_student set subjective_status='UNMARK' where subjective_status='TRIAL';
+UPDATE eb_exam_student o,(SELECT DISTINCT s.student_id FROM m_trial_library s) n
+SET o.is_trial = 1 WHERE o.id = n.student_id;
+	
+DROP TABLE IF EXISTS `eb_user_student`;
+CREATE TABLE `eb_user_student`
+(
+    `id`           int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `user_id`      int(11)     NOT NULL COMMENT '用户ID',
+    `exam_number` 	varchar(64)	   NOT NULL COMMENT '考生ID',
+    PRIMARY KEY (`id`),
+    UNIQUE KEY `index1` (`user_id`, `exam_number`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='用户考生关联表';
+
+-- 菜单权限  
+DROP TABLE IF EXISTS `b_privilege`;
+CREATE TABLE `b_privilege`
+(
+    `id`             int(11)		NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `code`           varchar(64)	NOT NULL COMMENT '权限CODE',
+    `name`           varchar(64)	NOT NULL COMMENT '名称',
+    `parent_code`    varchar(64)	NOT NULL COMMENT '父权限CODE',
+    `privilege_type` varchar(64)	NOT NULL COMMENT '类型',
+    `privilege_uri`  varchar(64)	DEFAULT NULL COMMENT 'URI',
+    `seq`            int(11)		NOT NULL COMMENT '排序',
+    `level`          int(11)		NOT NULL COMMENT '树结构层级',
+    `icon` 			 varchar(64)	DEFAULT NULL COMMENT '图表',
+    `i18n` 			 varchar(64)	DEFAULT NULL COMMENT '国际化',
+    PRIMARY KEY (`id`),
+    UNIQUE KEY `IDX_PRIVILEGE_01` (`code`),
+    KEY `IDX_PRIVILEGE_02` (`parent_code`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='权限表';
+
+
+DROP TABLE IF EXISTS `b_role_privilege`;
+CREATE TABLE `b_role_privilege`
+(
+	`id`				int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+	`school_id` 		int(11) 	NOT NULL COMMENT '学校ID',
+    `role_code`			varchar(64) NOT NULL COMMENT '角色CODE',
+    `privilege_code`	varchar(64)	NOT NULL COMMENT '权限CODE',
+    `enable`       		tinyint(1)	NOT NULL COMMENT '启用禁用',
+    PRIMARY KEY (`id`),
+    UNIQUE KEY `IDX_ROLE_PRIVILEGE_01`(`school_id`,`role_code`, `privilege_code`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='角色权限关联表';
+  
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('user_list', '用户管理', 'root_code', 'MENU', '/admin/user/list', 10,1,'icon-user','index.user');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('exam_list', '考试管理', 'root_code', 'MENU', '/admin/exam/list', 20,1,'icon-th-list','index.exam');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('exam_student', '考生管理', 'root_code', 'MENU', '/admin/exam/student', 30,1,'icon-user','index.student');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('exam_paper', '科目管理', 'root_code', 'MENU', '/admin/exam/paper', 40,1,'icon-book','index.paper');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('exam_scan', '扫描进度', 'root_code', 'MENU', '/admin/exam/scan', 50,1,'icon-print','index.scan');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('exam_mark', '评卷管理', 'root_code', 'MENU', '/admin/basic/role/info/sub/page', 60,1,'icon-pencil','index.mark');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`privilege_uri`,`level`, `seq`)
+VALUES ('exam_mark-mark', '评卷进度', 'exam_mark', 'PAGE','/admin/exam/mark', 2,1);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`privilege_uri`,`level`, `seq`)
+VALUES ('exam_mark-group', '分组管理', 'exam_mark', 'PAGE','/admin/exam/group', 2,2);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`level`, `seq`)
+VALUES ('exam_mark-group-add', '新增', 'exam_mark-group', 'BUTTON', 3,1);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`level`, `seq`)
+VALUES ('exam_mark-group-edit', '修改', 'exam_mark-group', 'BUTTON', 3,2);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`level`, `seq`)
+VALUES ('exam_mark-group-reset_edit', '重置修改', 'exam_mark-group', 'BUTTON', 3,3);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`level`, `seq`)
+VALUES ('exam_mark-group-delete', '删除', 'exam_mark-group', 'BUTTON', 3,4);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`privilege_uri`,`level`, `seq`)
+VALUES ('exam_mark-marker', '评卷员管理', 'exam_mark', 'PAGE','/admin/exam/marker', 2,3);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`level`, `seq`)
+VALUES ('exam_mark-marker-reset', '重置', 'exam_mark-marker', 'BUTTON', 3,1);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`privilege_uri`,`level`, `seq`)
+VALUES ('exam_mark-trial', '试评管理', 'exam_mark', 'PAGE','/admin/exam/trial', 2,4);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`privilege_uri`,`level`, `seq`)
+VALUES ('exam_mark-library', '任务管理', 'exam_mark', 'PAGE','/admin/exam/library', 2,5);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`level`, `seq`)
+VALUES ('exam_mark-library-inspect', '复核', 'exam_mark-library', 'BUTTON', 3,1);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`level`, `seq`)
+VALUES ('exam_mark-library-reject', '打回', 'exam_mark-library', 'BUTTON', 3,2);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`privilege_uri`,`level`, `seq`)
+VALUES ('exam_mark-arbitrate', '仲裁管理', 'exam_mark', 'PAGE','/admin/exam/arbitrate', 2,6);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`privilege_uri`,`level`, `seq`)
+VALUES ('exam_mark-quality', '质量监控', 'exam_mark', 'PAGE','/admin/exam/quality', 2,7);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('exam_reject_list', '打回试卷', 'root_code', 'MENU', '/admin/basic/role/info/sub/page', 70,1,'icon-bookmark','index.reject');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`privilege_uri`,`level`, `seq`)
+VALUES ('exam_reject_list-paper', '打回卷', 'exam_reject_list', 'PAGE','/admin/exam/reject/list', 2,1);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`privilege_uri`,`level`, `seq`)
+VALUES ('exam_reject_list-history', '打回记录', 'exam_reject_list', 'PAGE','/admin/exam/reject/history', 2,2);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('exam_problem_history', '问题试卷', 'root_code', 'MENU', '/admin/exam/problem/history', 80,1,'icon-tag','index.problem');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`level`, `seq`)
+VALUES ('exam_problem_history-reset', '重置', 'exam_problem_history', 'BUTTON', 2,1);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`level`, `seq`)
+VALUES ('exam_problem_history-batch_reset', '批量重置', 'exam_problem_history', 'BUTTON', 2,2);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('exam_inspected_info', '成绩复核', 'root_code', 'MENU', '/admin/basic/role/info/sub/page', 90,1,'icon-flag','index.inspected');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`privilege_uri`,`level`, `seq`)
+VALUES ('exam_inspected_info-info', '成绩复核进度', 'exam_inspected_info', 'PAGE','/admin/exam/inspected/info', 2,1);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`privilege_uri`,`level`, `seq`)
+VALUES ('exam_inspected_info-list', '全卷复核', 'exam_inspected_info', 'PAGE','/admin/exam/inspected/list', 2,2);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`level`, `seq`)
+VALUES ('exam_inspected_info-next_round', '再次复核', 'exam_inspected_info-list', 'BUTTON', 3,1);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`privilege_uri`,`level`, `seq`)
+VALUES ('exam_inspected_info-score_verify', '成绩校验', 'exam_inspected_info', 'PAGE','/admin/exam/score/verify/init', 2,3);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('exam_score', '成绩查询', 'root_code', 'MENU', '/admin/exam/score', 100,1,'icon-search','index.score');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`,`level`, `seq`)
+VALUES ('exam_score-export', '导出', 'exam_score', 'BUTTON', 2,1);
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('exam_report_subject', '总量分析', 'root_code', 'MENU', '/admin/exam/reportSubject', 110,1,'icon-signal','index.report.total');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('exam_report_subject_range', '科目分析', 'root_code', 'MENU', '/admin/exam/reportSubjectRange', 120,1,'icon-asterisk','index.report.subject');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('exam_check_answer', '数据检查', 'root_code', 'MENU', '/admin/exam/check/answer', 130,1,'icon-check','index.check');
+INSERT INTO `b_privilege` ( `code`, `name`, `parent_code`, `privilege_type`, `privilege_uri`, `seq`,`level`,`icon`,`i18n`)
+VALUES ('operation_log', '操作日志', 'root_code', 'MENU', '/admin/operation/log', 140,1,'icon-tasks','index.log');
+
+  
+INSERT INTO b_role_privilege (`school_id`, `role_code`, `privilege_code`,`enable`)
+SELECT s.id,'SCHOOL_ADMIN',p.`code`,1 from b_privilege p join b_school s;
+
+INSERT INTO b_role_privilege (`school_id`, `role_code`, `privilege_code`,`enable`)
+SELECT s.id,'SUBJECT_HEADER',p.`code`,1 from b_privilege p join b_school s   
+where p.`code` in('exam_mark','exam_mark-mark','exam_mark-group','exam_mark-marker','exam_mark-trial','exam_mark-library'
+,'exam_mark-library-inspect','exam_mark-library-reject','exam_mark-arbitrate','exam_mark-quality','exam_reject_list'
+,'exam_reject_list-paper','exam_reject_list-history','exam_problem_history','exam_problem_history-reset'
+,'exam_problem_history-batch_reset'
+,'exam_inspected_info','exam_inspected_info-info','exam_inspected_info-list','exam_inspected_info-next_round'
+,'exam_score','exam_report_subject','exam_report_subject_range');
+
+INSERT INTO b_role_privilege (`school_id`, `role_code`, `privilege_code`,`enable`)
+SELECT s.id,'COLLEGE_ADMIN',p.`code`,1 from b_privilege p join b_school s   
+where p.`code` in('exam_mark','exam_mark-mark','exam_mark-group','exam_mark-marker','exam_mark-trial','exam_mark-library'
+,'exam_mark-library-inspect','exam_mark-library-reject','exam_mark-arbitrate','exam_mark-quality','exam_reject_list'
+,'exam_reject_list-paper','exam_reject_list-history','exam_problem_history','exam_problem_history-reset'
+,'exam_problem_history-batch_reset'
+,'exam_inspected_info','exam_inspected_info-info','exam_inspected_info-list','exam_inspected_info-next_round'
+,'exam_score','exam_report_subject','exam_report_subject_range');
+
+INSERT INTO b_role_privilege (`school_id`, `role_code`, `privilege_code`,`enable`)
+SELECT s.id,'INSPECTOR',p.`code`,1 from b_privilege p join b_school s   
+where p.`code` in('exam_inspected_info','exam_inspected_info-info','exam_inspected_info-list','exam_inspected_info-next_round');
+
+INSERT INTO b_role_privilege (`school_id`, `role_code`, `privilege_code`,`enable`)
+SELECT s.id,'SCHOOL_VIEWER',p.`code`,1 from b_privilege p join b_school s   
+where p.`code` in('exam_score','exam_report_subject','operation_log');
+
+DROP TABLE IF EXISTS `b_role_info`;
+CREATE TABLE `b_role_info`
+(
+    `id`             int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `school_id` 	 int(11)	 NOT NULL COMMENT '学校ID',
+    `code`           varchar(64) NOT NULL COMMENT '角色CODE',
+    `name`           varchar(64) NOT NULL COMMENT '名称',
+    `seq`            int(11)     NOT NULL COMMENT '排序',
+    `updater_id` 	 int(11)	 DEFAULT NULL COMMENT '更新人ID',
+    `update_time`	 datetime    DEFAULT NULL COMMENT '更新时间', 
+    PRIMARY KEY (`id`),
+    UNIQUE KEY `IDX_ROLE_INFO_01` (`school_id`,`code`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='角色表';
+
+DROP TABLE IF EXISTS `b_role_temp`;
+CREATE TABLE `b_role_temp`
+(
+    `id`             int(11)      NOT NULL AUTO_INCREMENT,
+    `code`           varchar(50) NOT NULL,
+    `name`           varchar(50) NOT NULL,
+    `seq`            int(11)         NOT NULL,
+    PRIMARY KEY (`id`),
+    UNIQUE KEY `IDX_ROLE_TEMP_01` (`code`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4
+  COLLATE = utf8mb4_bin;
+INSERT INTO `b_role_temp` (`code`, `name`, `seq`) VALUES ('SYS_ADMIN', '系统管理员', 1);
+INSERT INTO `b_role_temp` (`code`, `name`, `seq`) VALUES ('SCHOOL_ADMIN', '学校管理员', 2);
+INSERT INTO `b_role_temp` (`code`, `name`, `seq`) VALUES ('SCANNER', '扫描员', 3);
+INSERT INTO `b_role_temp` (`code`, `name`, `seq`) VALUES ('SUBJECT_HEADER', '科组长', 4);
+INSERT INTO `b_role_temp` (`code`, `name`, `seq`) VALUES ('MARKER', '评卷员', 5);
+INSERT INTO `b_role_temp` (`code`, `name`, `seq`) VALUES ('SCHOOL_VIEWER', '学校查询员', 6);
+INSERT INTO `b_role_temp` (`code`, `name`, `seq`) VALUES ('SCHOOL_DEV', '学校接口调用', 7);
+INSERT INTO `b_role_temp` (`code`, `name`, `seq`) VALUES ('INSPECTOR', '复核员', 8);
+INSERT INTO `b_role_temp` (`code`, `name`, `seq`) VALUES ('SCAN_ADMIN', '扫描管理员', 9);
+INSERT INTO `b_role_temp` (`code`, `name`, `seq`) VALUES ('COLLEGE_ADMIN', '学院管理员', 10);
+
+  
+INSERT INTO `b_role_info` (`school_id`,`code`, `name`, `seq`)
+SELECT s.id,p.`code`,p.name,p.seq from b_role_temp p join b_school s;
+
+DROP TABLE IF EXISTS `b_role_temp`;
+
+
+
+
+
+
+
+
+
+
+
+
+
+-- 1.3.6 college_scan_multi
+
+use college_scan_multi;
+
+TRUNCATE TABLE absent;
+TRUNCATE TABLE append_scan;
+TRUNCATE TABLE baseinfo;
+TRUNCATE TABLE baseinfolog;
+TRUNCATE TABLE campus;
+TRUNCATE TABLE card_defcount;
+TRUNCATE TABLE import_sign_page;
+TRUNCATE TABLE kslb;
+TRUNCATE TABLE config;
+TRUNCATE TABLE registqty;
+TRUNCATE TABLE subject_code_kgt;
+TRUNCATE TABLE task_master;
+
+-- DROP table check_omr;
+-- drop table check_student;
+-- drop table cliprect;
+-- drop table objective;
+-- drop table ocrdata;
+-- drop table omrresult;
+-- drop table registno;
+-- drop table sign_page;
+-- drop table task_child;
+-- drop table upload_file_list;
+-- drop table verify_check_info;
+
+
+-- ----------------------------
+-- Table structure for verify_check_info
+-- ----------------------------
+DROP TABLE IF EXISTS `verify_check_info`;
+CREATE TABLE `verify_check_info` (
+  `exam_id` int(11) NOT NULL,
+  `campus_code` int(30) DEFAULT NULL,
+  `exam_number` varchar(30) NOT NULL,
+  `subject_code` varchar(30) DEFAULT NULL,
+  `exam_site` varchar(50) DEFAULT NULL,
+  `slicePoint` longtext,
+  `misspage` varchar(30) DEFAULT NULL,
+  `sheet_src` longtext,
+  `check_times` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `check_ip1` varchar(30) DEFAULT NULL,
+  `check_status1` varchar(50) DEFAULT NULL,
+  `check_msg_history1` varchar(300) DEFAULT NULL,
+  `status_examine1` varchar(10) DEFAULT NULL,
+  `check_ip2` varchar(30) DEFAULT NULL,
+  `check_status2` varchar(50) DEFAULT NULL,
+  `check_msg_history2` varchar(300) DEFAULT NULL,
+  `status_examine2` varchar(10) DEFAULT NULL,
+  `check_ip3` varchar(30) DEFAULT NULL,
+  `check_status3` varchar(50) DEFAULT NULL,
+  `check_msg_history3` varchar(300) DEFAULT NULL,
+  `status_examine3` varchar(10) DEFAULT NULL,
+  `Remark` varchar(100) DEFAULT NULL,
+  PRIMARY KEY (`exam_id`,`exam_number`),
+  KEY `check_ip1` (`check_ip1`,`check_status1`,`check_msg_history1`),
+  KEY `check_ip2` (`check_ip2`,`check_status2`,`check_msg_history2`),
+  KEY `check_ip3` (`check_ip3`,`check_status3`,`check_msg_history3`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for upload_file_list
+-- ----------------------------
+DROP TABLE IF EXISTS `upload_file_list`;
+CREATE TABLE `upload_file_list` (
+  `exam_id` int(11) NOT NULL,
+  `subject_code` varchar(30) NOT NULL,
+  `subject_name` varchar(50) DEFAULT NULL,
+  `is_used` int(1) DEFAULT NULL,
+  `file_description` varchar(100) NOT NULL,
+  `file_type` int(1) NOT NULL,
+  `down_url` varchar(200) DEFAULT NULL,
+  `DiskSerNo` varchar(50) DEFAULT NULL,
+  PRIMARY KEY (`exam_id`,`file_description`,`file_type`,`subject_code`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for task_child
+-- ----------------------------
+DROP TABLE IF EXISTS `task_child`;
+CREATE TABLE `task_child` (
+  `exam_id` int(11) NOT NULL,
+  `exam_number` varchar(30) NOT NULL,
+  `task_id` varchar(30) NOT NULL,
+  `check_times1` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `check_ip1` varchar(30) DEFAULT NULL,
+  `check_status1` varchar(30) DEFAULT NULL,
+  PRIMARY KEY (`exam_id`,`exam_number`,`task_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for sign_page
+-- ----------------------------
+DROP TABLE IF EXISTS `sign_page`;
+CREATE TABLE `sign_page` (
+  `exam_id` int(11) NOT NULL,
+  `exam_number` varchar(30) NOT NULL,
+  `exam_site` varchar(50) DEFAULT NULL,
+  `college` varchar(64) DEFAULT NULL,
+  `page_no` varchar(11) NOT NULL,
+  `xh` int(10) NOT NULL,
+  `Card_DefCount` int(3) DEFAULT NULL,
+  `subject_code` varchar(30) DEFAULT NULL,
+  `sign_page_src` longtext,
+  `scan_remark` longtext,
+  `Card_type` varchar(50) DEFAULT NULL,
+  `img_name` varchar(50) NOT NULL,
+  `is_upload` tinyint(1) unsigned zerofill NOT NULL DEFAULT '0',
+  `DiskSerNo` varchar(30) DEFAULT NULL,
+  `check_status` int(2) DEFAULT NULL,
+  PRIMARY KEY (`img_name`,`xh`,`exam_id`),
+  KEY `exam_number` (`exam_number`,`exam_site`,`page_no`,`subject_code`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for registno
+-- ----------------------------
+DROP TABLE IF EXISTS `registno`;
+CREATE TABLE `registno` (
+  `DiskSerNo` varchar(30) DEFAULT NULL,
+  `ExamId` int(11) NOT NULL,
+  `RegistNo` varchar(30) NOT NULL,
+  `OCRTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `PicSrc` longtext,
+  `RegistCount` int(3) DEFAULT NULL,
+  `isUpload` int(1) NOT NULL DEFAULT '0',
+  `UpError` varchar(255) DEFAULT NULL,
+  `UploadTime` varchar(30) DEFAULT NULL,
+  `ServerPath` longtext,
+  `ServerAnswer` longtext,
+  `LoginName` varchar(30) DEFAULT NULL,
+  `loginPwd` varchar(30) DEFAULT NULL,
+  PRIMARY KEY (`ExamId`,`RegistNo`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for omrresult
+-- ----------------------------
+DROP TABLE IF EXISTS `omrresult`;
+CREATE TABLE `omrresult` (
+  `examid` int(11) DEFAULT '0',
+  `subjectCode` varchar(30) DEFAULT NULL,
+  `examNumber` varchar(30) DEFAULT '',
+  `FirstResult` longtext,
+  `SecondResult` longtext,
+  `newFirstResult` longtext,
+  `newSecondResult` longtext,
+  `newFirst` longtext,
+  `newSecond` longtext,
+  `Status` int(1) DEFAULT NULL,
+  KEY `FirstResult` (`FirstResult`(250)),
+  KEY `SecondResult` (`SecondResult`(250))
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for ocrdata
+-- ----------------------------
+DROP TABLE IF EXISTS `ocrdata`;
+CREATE TABLE `ocrdata` (
+  `DiskSerNo` varchar(50) DEFAULT NULL,
+  `DiskSerNo_KGT` varchar(50) DEFAULT NULL,
+  `Batch` varchar(10) DEFAULT NULL,
+  `DeviceId` int(5) DEFAULT NULL,
+  `ExamId` int(5) NOT NULL,
+  `CampusCode` varchar(5) DEFAULT NULL,
+  `CampusName` varchar(30) DEFAULT NULL,
+  `exam_site` varchar(50) DEFAULT NULL,
+  `college` varchar(64) DEFAULT NULL,
+  `SubjectCode` varchar(30) DEFAULT NULL,
+  `SubjectName` varchar(50) DEFAULT NULL,
+  `OCRTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  `OCRUser` varchar(30) DEFAULT NULL,
+  `student_Code` varchar(50) DEFAULT NULL,
+  `ScanNumber` varchar(30) DEFAULT NULL,
+  `examNumber` varchar(30) NOT NULL,
+  `examName` varchar(50) DEFAULT NULL,
+  `StudentID` varchar(30) DEFAULT NULL,
+  `sheetSrc` longtext,
+  `sheetCount` int(3) DEFAULT NULL,
+  `sliceSrc` longtext,
+  `slicePic` longtext,
+  `sliceCount` int(3) DEFAULT NULL,
+  `absent` int(1) DEFAULT NULL,
+  `wj` int(1) DEFAULT NULL,
+  `check_absent_status` int(1) DEFAULT NULL,
+  `paper_type` varchar(5) DEFAULT NULL,
+  `card_type` varchar(50) DEFAULT NULL,
+  `card_name` varchar(50) DEFAULT NULL,
+  `omrUp` int(1) DEFAULT NULL,
+  `omrResult` longtext,
+  `FirstResult` longtext,
+  `SecondResult` longtext,
+  `FirstResultBack` longtext,
+  `SecondResultback` longtext,
+  `ScanRemark` longtext,
+  `kgtpoint` longtext,
+  `slicePoint` longtext,
+  `ans_checkIp1` varchar(30) DEFAULT NULL,
+  `ans_checkIp2` varchar(30) DEFAULT NULL,
+  `ans_checkIp3` varchar(30) DEFAULT NULL,
+  `misspage` varchar(30) DEFAULT NULL,
+  `misspageStatusCheck` varchar(10) DEFAULT NULL,
+  `ScanPagelist` varchar(30) DEFAULT NULL,
+  `scanPageCount` int(5) DEFAULT NULL,
+  `isUpload` int(3) NOT NULL DEFAULT '0',
+  `isUpload_kgt` int(3) NOT NULL DEFAULT '0',
+  `UpError` longtext,
+  `UploadTime` varchar(30) DEFAULT NULL,
+  `ServerPath` longtext,
+  `ServerAnswer` longtext,
+  `LoginName` varchar(30) DEFAULT '',
+  `loginPwd` varchar(30) DEFAULT NULL,
+  PRIMARY KEY (`ExamId`,`examNumber`),
+  KEY `fx_ExamId` (`ExamId`),
+  KEY `fx_CampusCode` (`CampusCode`),
+  KEY `fx_SubjectCode` (`SubjectCode`),
+  KEY `fx_examNumber` (`examNumber`),
+  KEY `fx_StudentID` (`StudentID`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT;
+
+-- ----------------------------
+-- Table structure for objective
+-- ----------------------------
+DROP TABLE IF EXISTS `objective`;
+CREATE TABLE `objective` (
+  `DiskSerNo` varchar(50) DEFAULT NULL,
+  `ExamID` int(11) NOT NULL,
+  `SubjectCode` varchar(30) NOT NULL,
+  `jData` longtext,
+  `ChoStart` int(10) DEFAULT '0',
+  `ChoEnd` int(10) DEFAULT '0',
+  `MulitChoStart` int(10) DEFAULT '0',
+  `MulitChoEnd` int(10) DEFAULT '0',
+  `JudgeStart` int(10) DEFAULT '0',
+  `JudgeEnd` int(10) DEFAULT '0',
+  `mark` int(10) DEFAULT '0',
+  `JudegMark` int(10) DEFAULT '0',
+  `logtime` datetime DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+-- ----------------------------
+-- Table structure for cliprect
+-- ----------------------------
+DROP TABLE IF EXISTS `cliprect`;
+CREATE TABLE `cliprect` (
+  `ExamID` int(11) DEFAULT NULL,
+  `DiskSerNo` varchar(30) DEFAULT NULL,
+  `FormID` int(3) DEFAULT NULL,
+  `ClipCount` int(3) DEFAULT NULL,
+  `ClitRect` longtext
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Table structure for check_student
+-- ----------------------------
+DROP TABLE IF EXISTS `check_student`;
+CREATE TABLE `check_student` (
+  `exam_id` int(11) NOT NULL,
+  `exam_site` varchar(50) DEFAULT NULL,
+  `student_code` varchar(50) DEFAULT NULL,
+  `exam_number` varchar(30) NOT NULL,
+  `name` varchar(50) DEFAULT NULL,
+  `subject_code` varchar(30) DEFAULT NULL,
+  `subject_name` varchar(50) DEFAULT NULL,
+  `is_upload` tinyint(1) NOT NULL DEFAULT '0',
+  `scan_misspage_page` varchar(128) DEFAULT NULL,
+  `ocrdata_scan_count` int(3) DEFAULT NULL,
+  `ocrdata_scan_page` varchar(128) DEFAULT NULL,
+  `sign_scan_count` int(3) DEFAULT NULL,
+  `sign_scan_page` varchar(128) DEFAULT NULL,
+  `card_def_count` int(3) DEFAULT NULL,
+  `misspage` varchar(200) DEFAULT NULL,
+  `remark` varchar(200) DEFAULT NULL,
+  PRIMARY KEY (`exam_id`,`exam_number`),
+  KEY `exam_site` (`exam_site`),
+  KEY `ocrdata_scan_page` (`ocrdata_scan_page`),
+  KEY `sign_scan_page` (`sign_scan_page`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+
+-- ----------------------------
+-- Table structure for check_omr
+-- ----------------------------
+DROP TABLE IF EXISTS `check_omr`;
+CREATE TABLE `check_omr` (
+  `exam_id` int(11) NOT NULL,
+  `student_id` varchar(30) NOT NULL,
+  `subject_code` varchar(30) NOT NULL,
+  `exam_number` varchar(30) NOT NULL,
+  `sheetSrc` longtext,
+  `check_times` varchar(30) DEFAULT NULL,
+  `check_status` int(5) DEFAULT NULL,
+  `check_ip` varchar(30) DEFAULT NULL,
+  `newAnswer` longtext,
+  `mark_dth` longtext,
+  `admin_check_Ip` varchar(30) DEFAULT NULL,
+  `admin_check_status` int(5) DEFAULT NULL,
+  PRIMARY KEY (`exam_id`,`exam_number`),
+  KEY `check_ip` (`check_ip`) USING BTREE,
+  KEY `check_status` (`check_status`) USING BTREE,
+  KEY `exam_number` (`exam_number`),
+  KEY `exam_id` (`exam_id`),
+  KEY `mark_dth` (`mark_dth`(768)),
+  KEY `admin_check_Ip` (`admin_check_Ip`),
+  KEY `admin_check_status` (`admin_check_status`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+
+DROP TABLE IF EXISTS `eb_exam_student`;
+CREATE TABLE `eb_exam_student` (
+  `auid` int(11) NOT NULL AUTO_INCREMENT,
+  `exam_id` int(11) NOT NULL COMMENT '考试ID',
+  `school_id` int(11) NOT NULL COMMENT '学校ID',
+  `campus_code` int(11) NOT NULL DEFAULT '0',
+  `campus_name` varchar(64) DEFAULT NULL COMMENT '学习中心名称',
+  `subject_code` varchar(32) NOT NULL COMMENT '科目代码',
+  `subject_name` varchar(128) DEFAULT NULL,
+  `student_id` int(11) DEFAULT NULL,
+  `secret_number` varchar(64) DEFAULT NULL,
+  `exam_number` varchar(64) NOT NULL COMMENT '准考证号',
+  `student_code` varchar(64) NOT NULL COMMENT '学号',
+  `name` varchar(64) NOT NULL COMMENT '姓名',
+  `package_code` varchar(64) DEFAULT NULL COMMENT '试卷袋编号',
+  `exam_site` varchar(32) DEFAULT NULL COMMENT '考点',
+  `exam_room` varchar(32) DEFAULT NULL COMMENT '考场',
+  `remark` varchar(128) DEFAULT NULL COMMENT '备注',
+  `subject_level` varchar(64) DEFAULT NULL COMMENT '层次',
+  `subject_category` varchar(64) DEFAULT NULL COMMENT '专业类型',
+  `college` varchar(64) NOT NULL COMMENT '学院',
+  `class_name` varchar(64) NOT NULL COMMENT '班级',
+  `teacher` varchar(64) NOT NULL COMMENT '任课老师',
+  `is_upload` tinyint(1) unsigned zerofill NOT NULL DEFAULT '0',
+  PRIMARY KEY (`exam_id`,`exam_number`),
+  UNIQUE KEY `auid` (`auid`),
+  KEY `subject_code` (`subject_code`),
+  KEY `exam_number` (`exam_number`),
+  KEY `student_code` (`student_code`),
+  KEY `package_code` (`package_code`),
+  KEY `exam_site` (`exam_site`),
+  KEY `exam_room` (`exam_room`)
+) ENGINE=InnoDB AUTO_INCREMENT=240437 DEFAULT CHARSET=utf8mb4;
+
+DROP TABLE IF EXISTS `ocrdata_history`;
+CREATE TABLE `ocrdata_history` (
+  `remark` varchar(100) DEFAULT NULL,
+  `DiskSerNo` varchar(50) DEFAULT NULL,
+  `DiskSerNo_KGT` varchar(50) DEFAULT NULL,
+  `Batch` varchar(10) DEFAULT NULL,
+  `DeviceId` int(5) DEFAULT NULL,
+  `ExamId` int(5) NOT NULL,
+  `CampusCode` varchar(5) DEFAULT NULL,
+  `CampusName` varchar(30) DEFAULT NULL,
+  `exam_site` varchar(50) DEFAULT NULL,
+  `college` varchar(64) DEFAULT NULL,
+  `SubjectCode` varchar(30) DEFAULT NULL,
+  `SubjectName` varchar(50) DEFAULT NULL,
+  `OCRTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  `OCRUser` varchar(30) DEFAULT NULL,
+  `student_Code` varchar(50) DEFAULT NULL,
+  `ScanNumber` varchar(30) DEFAULT NULL,
+  `examNumber` varchar(30) NOT NULL,
+  `examName` varchar(50) DEFAULT NULL,
+  `StudentID` varchar(30) DEFAULT NULL,
+  `sheetSrc` longtext,
+  `sheetCount` int(3) DEFAULT NULL,
+  `sliceSrc` longtext,
+  `slicePic` longtext,
+  `sliceCount` int(3) DEFAULT NULL,
+  `absent` int(1) DEFAULT NULL,
+  `wj` int(1) DEFAULT NULL,
+  `check_absent_status` int(1) DEFAULT NULL,
+  `paper_type` varchar(5) DEFAULT NULL,
+  `card_type` varchar(50) DEFAULT NULL,
+  `card_name` varchar(50) DEFAULT NULL,
+  `omrUp` int(1) DEFAULT NULL,
+  `omrResult` longtext,
+  `FirstResult` longtext,
+  `SecondResult` longtext,
+  `ScanRemark` longtext,
+  `kgtpoint` longtext,
+  `slicePoint` longtext,
+  `ScanPagelist` varchar(30) DEFAULT NULL,
+  `scanPageCount` int(5) DEFAULT NULL,
+  `isUpload` int(3) DEFAULT '0',
+  `isUpload_kgt` int(3) DEFAULT '0',
+  KEY `ExamId` (`ExamId`),
+  KEY `SubjectCode` (`SubjectCode`),
+  KEY `examNumber` (`examNumber`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;