xg_conduct_score_audit.sql 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. -- ----------------------------
  2. -- 操行分审核表
  3. -- ----------------------------
  4. DROP TABLE IF EXISTS `xg_conduct_score_audit`;
  5. CREATE TABLE `xg_conduct_score_audit` (
  6. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  7. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID',
  8. `student_id` bigint(20) NOT NULL COMMENT '学生ID',
  9. `academic_year` int(11) NOT NULL COMMENT '学年',
  10. `semester` tinyint(1) NOT NULL COMMENT '学期:1-第一学期,2-第二学期',
  11. `month` tinyint(2) NOT NULL COMMENT '月份',
  12. `class_id` bigint(20) NOT NULL COMMENT '班级ID',
  13. `old_score` decimal(5,2) DEFAULT NULL COMMENT '原分数',
  14. `old_remark` varchar(500) DEFAULT NULL COMMENT '原备注',
  15. `new_score` decimal(5,2) NOT NULL COMMENT '新分数',
  16. `new_remark` varchar(500) DEFAULT NULL COMMENT '新备注',
  17. `apply_user_id` bigint(20) NOT NULL COMMENT '申请人ID',
  18. `apply_user_name` varchar(50) NOT NULL COMMENT '申请人姓名',
  19. `apply_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '申请时间',
  20. `apply_reason` varchar(200) DEFAULT NULL COMMENT '申请理由',
  21. `audit_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '审核状态:0-待审核,1-审核通过,2-审核驳回',
  22. `audit_user_id` bigint(20) DEFAULT NULL COMMENT '审核人ID',
  23. `audit_user_name` varchar(50) DEFAULT NULL COMMENT '审核人姓名',
  24. `audit_time` datetime DEFAULT NULL COMMENT '审核时间',
  25. `audit_remark` varchar(200) DEFAULT NULL COMMENT '审核备注',
  26. `create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
  27. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  28. `update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
  29. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  30. `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志',
  31. PRIMARY KEY (`id`),
  32. UNIQUE KEY `uk_student_period` (`student_id`,`academic_year`,`semester`,`month`,`deleted`),
  33. KEY `idx_class_period` (`class_id`,`academic_year`,`semester`,`month`),
  34. KEY `idx_audit_status` (`audit_status`,`apply_time`),
  35. KEY `idx_apply_user` (`apply_user_id`,`apply_time`),
  36. KEY `idx_audit_user` (`audit_user_id`,`audit_time`)
  37. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='操行分审核表';
  38. -- ----------------------------
  39. -- 为审核表添加必要的索引和约束
  40. -- ----------------------------
  41. ALTER TABLE `xg_conduct_score_audit`
  42. ADD CONSTRAINT `fk_audit_student` FOREIGN KEY (`student_id`) REFERENCES `xg_student_manager` (`student_id`) ON DELETE CASCADE,
  43. ADD CONSTRAINT `fk_audit_class` FOREIGN KEY (`class_id`) REFERENCES `xg_class_msg` (`class_id`) ON DELETE CASCADE,
  44. ADD CONSTRAINT `fk_audit_apply_user` FOREIGN KEY (`apply_user_id`) REFERENCES `sys_user` (`user_id`),
  45. ADD CONSTRAINT `fk_audit_user` FOREIGN KEY (`audit_user_id`) REFERENCES `sys_user` (`user_id`);
  46. -- ----------------------------
  47. -- 初始化审核表数据(可选)
  48. -- ----------------------------
  49. -- 将现有操行分数据标记为已审核状态(如果需要)
  50. -- INSERT INTO xg_conduct_score_audit (
  51. -- tenant_id, student_id, academic_year, semester, month, class_id,
  52. -- old_score, old_remark, new_score, new_remark,
  53. -- apply_user_id, apply_user_name, apply_time, apply_reason,
  54. -- audit_status, audit_user_id, audit_user_name, audit_time, audit_remark,
  55. -- create_by, create_time, update_by, update_time, deleted
  56. -- )
  57. -- SELECT
  58. -- s.tenant_id, s.student_id, s.academic_year, s.semester, s.month, s.class_id,
  59. -- NULL as old_score, NULL as old_remark, s.score as new_score, s.remark as new_remark,
  60. -- s.class_teacher_id as apply_user_id, '系统导入' as apply_user_name, s.create_time as apply_time, '系统初始化' as apply_reason,
  61. -- 1 as audit_status, s.class_teacher_id as audit_user_id, '系统导入' as audit_user_name, s.create_time as audit_time, '系统初始化审核' as audit_remark,
  62. -- s.create_by, s.create_time, s.update_by, s.update_time, s.deleted
  63. -- FROM xg_conduct_score s
  64. -- WHERE s.deleted = 0;