Files
hzdyjs/docs/设计文档/database/班主任考核管理/bmzr_assessment_tables.sql
T

206 lines
11 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- ==========================================
-- 班主任考核管理系统表结构(MySQL版)
-- 版本:V1.0.0
-- 功能:班主任考核管理相关表结构
-- 作者:系统设计
-- 时间:2025-01-08
-- 模块:学工管理-班主任考核管理表结构
-- ==========================================
-- 创建指标类型表
DROP TABLE IF EXISTS `bmzr_assessment_indicator_type`;
CREATE TABLE `bmzr_assessment_indicator_type` (
`id` bigint(20) NOT NULL COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
`indicator_type_name` varchar(100) NOT NULL COMMENT '指标类型名称',
`indicator_type_code` varchar(50) NOT NULL COMMENT '指标类型编码',
`status` char(1) NOT NULL DEFAULT '0' COMMENT '状态(0正常 1停用)',
`remark` varchar(500) COMMENT '备注',
`create_dept` bigint(20) COMMENT '创建部门',
`create_by` bigint(20) COMMENT '创建者',
`create_time` datetime COMMENT '创建时间',
`update_by` bigint(20) COMMENT '更新者',
`update_time` datetime COMMENT '更新时间',
`deleted` int(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_tenant_indicator_type_code` (`tenant_id`, `indicator_type_code`),
KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班主任考核指标类型表';
-- ==========================================
-- 2. 班主任考核指标体系表
-- ==========================================
DROP TABLE IF EXISTS `bmzr_assessment_indicator`;
CREATE TABLE `bmzr_assessment_indicator` (
`id` bigint(20) NOT NULL COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
`indicator_name` varchar(100) NOT NULL COMMENT '指标名称',
`indicator_code` varchar(50) NOT NULL COMMENT '指标编码',
`indicator_type` varchar(20) NOT NULL COMMENT '指标类型',
`parent_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '父级指标ID',
`sort_order` int(4) NOT NULL DEFAULT 1 COMMENT '排序',
`weight_ratio` decimal(5,4) NOT NULL DEFAULT 0.0000 COMMENT '权重比例(0-1之间)',
`max_score` decimal(5,2) NOT NULL DEFAULT 100.00 COMMENT '最高分值',
`score` decimal(5,2) NOT NULL DEFAULT 0.00 COMMENT '分值',
`allow_self_evaluation` char(1) NOT NULL DEFAULT '1' COMMENT '允许自评(0=否 1=是)',
`allow_superior_evaluation` char(1) NOT NULL DEFAULT '1' COMMENT '允许上级评(0=否 1=是)',
`status` char(1) NOT NULL DEFAULT '0' COMMENT '状态(0正常 1停用)',
`remark` varchar(500) COMMENT '备注',
`create_dept` bigint(20) COMMENT '创建部门',
`create_by` bigint(20) COMMENT '创建者',
`create_time` datetime COMMENT '创建时间',
`update_by` bigint(20) COMMENT '更新者',
`update_time` datetime COMMENT '更新时间',
`deleted` int(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_tenant_indicator_code` (`tenant_id`, `indicator_code`),
KEY `idx_parent_id` (`parent_id`),
KEY `idx_indicator_type` (`indicator_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班主任考核指标体系表';
-- ==========================================
-- 1. 班主任考核方案表
-- ==========================================
DROP TABLE IF EXISTS `bmzr_assessment_scheme`;
CREATE TABLE `bmzr_assessment_scheme` (
`id` bigint(20) NOT NULL COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
`scheme_name` varchar(100) NOT NULL COMMENT '方案名称',
`scheme_code` varchar(50) NOT NULL COMMENT '方案编码',
`academic_year` varchar(10) NOT NULL COMMENT '学年',
`semester` char(1) NOT NULL COMMENT '学期(1=上学期 2=下学期)',
`scheme_description` text COMMENT '方案描述',
`self_evaluation_required` char(1) NOT NULL DEFAULT '1' COMMENT '是否需要自评(0=否 1=是)',
`superior_evaluation_required` char(1) NOT NULL DEFAULT '1' COMMENT '是否需要上级评(0=否 1=是)',
`status` char(1) NOT NULL DEFAULT '0' COMMENT '状态(0正常 1停用)',
`remark` varchar(500) COMMENT '备注',
`create_dept` bigint(20) COMMENT '创建部门',
`create_by` bigint(20) COMMENT '创建者',
`create_time` datetime COMMENT '创建时间',
`update_by` bigint(20) COMMENT '更新者',
`update_time` datetime COMMENT '更新时间',
`deleted` int(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_tenant_scheme_code` (`tenant_id`, `scheme_code`),
KEY `idx_academic_year_semester` (`academic_year`, `semester`),
KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班主任考核方案表';
-- ==========================================
-- 3. 班主任考核方案指标关联表
-- ==========================================
DROP TABLE IF EXISTS `bmzr_assessment_scheme_indicator`;
CREATE TABLE `bmzr_assessment_scheme_indicator` (
`id` bigint(20) NOT NULL COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
`scheme_id` bigint(20) NOT NULL COMMENT '考核方案ID',
`indicator_id` bigint(20) NOT NULL COMMENT '考核指标ID',
`weight_ratio` decimal(5,4) NOT NULL DEFAULT 0.0000 COMMENT '在方案中的权重比例',
`custom_max_score` decimal(5,2) COMMENT '自定义最高分值',
`sort_order` int(4) NOT NULL DEFAULT 1 COMMENT '排序',
`remark` varchar(500) COMMENT '备注',
`create_dept` bigint(20) COMMENT '创建部门',
`create_by` bigint(20) COMMENT '创建者',
`create_time` datetime COMMENT '创建时间',
`update_by` bigint(20) COMMENT '更新者',
`update_time` datetime COMMENT '更新时间',
`deleted` int(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
PRIMARY KEY (`id`),
KEY `uk_scheme_indicator` (`scheme_id`, `indicator_id`),
KEY `idx_scheme_id` (`scheme_id`),
KEY `idx_indicator_id` (`indicator_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班主任考核方案指标关联表';
-- ==========================================
-- 4. 班主任考核计划表
-- ==========================================
DROP TABLE IF EXISTS `bmzr_assessment_plan`;
CREATE TABLE `bmzr_assessment_plan` (
`id` bigint(20) NOT NULL COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
`plan_name` varchar(100) NOT NULL COMMENT '计划名称',
`plan_code` varchar(50) NOT NULL COMMENT '计划编码',
`scheme_id` bigint(20) NOT NULL COMMENT '考核方案ID',
`academic_year` varchar(10) NOT NULL COMMENT '学年',
`semester` char(1) NOT NULL COMMENT '学期(1=上学期 2=下学期)',
`plan_start_time` datetime NOT NULL COMMENT '计划开始时间',
`plan_end_time` datetime NOT NULL COMMENT '计划结束时间',
`data_extract_start_time` datetime COMMENT '数据提取开始时间',
`data_extract_end_time` datetime COMMENT '数据提取结束时间',
`plan_status` char(1) NOT NULL DEFAULT '1' COMMENT '计划状态(0=禁用 1=启用 )',
`description` text COMMENT '计划描述',
`remark` varchar(500) COMMENT '备注',
`create_dept` bigint(20) COMMENT '创建部门',
`create_by` bigint(20) COMMENT '创建者',
`create_time` datetime COMMENT '创建时间',
`update_by` bigint(20) COMMENT '更新者',
`update_time` datetime COMMENT '更新时间',
`deleted` int(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_tenant_plan_code` (`tenant_id`, `plan_code`),
KEY `idx_scheme_id` (`scheme_id`),
KEY `idx_academic_year_semester` (`academic_year`, `semester`),
KEY `idx_plan_status` (`plan_status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班主任考核计划表';
-- ==========================================
-- 5. 班主任考核得分表
-- ==========================================
DROP TABLE IF EXISTS `bmzr_assessment_score`;
CREATE TABLE `bmzr_assessment_score` (
`id` bigint(20) NOT NULL COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
`plan_id` bigint(20) NOT NULL COMMENT '考核计划ID',
`scheme_id` bigint(20) NOT NULL COMMENT '考核方案ID',
`indicator_id` bigint(20) NOT NULL COMMENT '考核指标ID',
`evaluated_user_id` bigint(20) NOT NULL COMMENT '被评价用户ID',
`evaluated_user_name` varchar(50) NOT NULL COMMENT '被评价用户姓名',
`evaluated_dept_id` bigint(20) COMMENT '被评价用户部门ID',
`class_id` bigint(20) COMMENT '班级ID',
`self_score` decimal(5,2) COMMENT '自评分数',
`self_comment` text COMMENT '自评意见',
`self_overall_comment` text COMMENT '自我总体评价',
`self_submit_time` datetime COMMENT '自评提交时间',
`superior_score` decimal(5,2) COMMENT '上级评分数',
`superior_comment` text COMMENT '上级评意见',
`superior_overall_comment` text COMMENT '上级总体评价',
`superior_evaluator_id` bigint(20) COMMENT '上级评价人ID',
`superior_submit_time` datetime COMMENT '上级评提交时间',
`evaluation_level` varchar(20) COMMENT '评价等级 dict_type = bmzr_evaluation_level',
`audit_status` char(1) NOT NULL DEFAULT '0' COMMENT '审核状态(0=待审核 1=审核通过 2=审核不通过 9=草稿)',
`final_score` decimal(5,2) COMMENT '最终得分',
`submit_time` datetime COMMENT '提交时间',
`remark` varchar(500) COMMENT '备注',
`create_dept` bigint(20) COMMENT '创建部门',
`create_by` bigint(20) COMMENT '创建者',
`create_time` datetime COMMENT '创建时间',
`update_by` bigint(20) COMMENT '更新者',
`update_time` datetime COMMENT '更新时间',
`deleted` int(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
PRIMARY KEY (`id`),
KEY `uk_plan_indicator_user` (`plan_id`, `indicator_id`, `evaluated_user_id`),
KEY `idx_plan_id` (`plan_id`),
KEY `idx_scheme_id` (`scheme_id`),
KEY `idx_indicator_id` (`indicator_id`),
KEY `idx_evaluated_user_id` (`evaluated_user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班主任考核得分表';
-- ==========================================
-- 6. 班主任考核指标与违纪处分奖励关联关系表
-- ==========================================
DROP TABLE IF EXISTS `bmzr_assessment_indicator_discipline_reward`;
CREATE TABLE `bmzr_assessment_indicator_discipline_reward` (
`id` bigint(20) NOT NULL COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
`indicator_id` bigint(20) NOT NULL COMMENT '考核指标ID',
`discipline_type_ids` varchar(500) NOT NULL COMMENT '违纪处分类型ID,逗号分隔',
`reward_type_ids` varchar(500) NOT NULL COMMENT '奖励类型ID,逗号分隔',
`remark` varchar(500) COMMENT '备注',
`create_dept` bigint(20) COMMENT '创建部门',
`create_by` bigint(20) COMMENT '创建者',
`create_time` datetime COMMENT '创建时间',
`update_by` bigint(20) COMMENT '更新者',
`update_time` datetime COMMENT '更新时间',
`deleted` int(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
PRIMARY KEY (`id`),
KEY `idx_indicator_id` (`indicator_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班主任考核指标与违纪处分奖励关联关系表';