提交宿管需求的sql
This commit is contained in:
1 parent
4a7021226e
commit
49899ca537
3 files changed
+548
-481
No files matched your search
@@ -35,53 +35,29 @@
|
||||
**表说明**:定义宿舍管理的各个维度,支持维度的灵活扩展
|
||||
|
||||
```sql
|
||||
CREATE TABLE `dorm_management_dimension` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`dimension_code` varchar(50) NOT NULL COMMENT '维度编码',
|
||||
`dimension_name` varchar(100) NOT NULL COMMENT '维度名称',
|
||||
`dimension_level` int(11) NOT NULL COMMENT '维度层级(1-5)',
|
||||
`parent_dimension_id` bigint(20) DEFAULT NULL COMMENT '父维度ID',
|
||||
`description` varchar(500) DEFAULT NULL COMMENT '维度描述',
|
||||
`sort_order` int(11) DEFAULT 0 COMMENT '排序号',
|
||||
`status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
|
||||
`deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) DEFAULT 0 COMMENT '租户编号',
|
||||
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_dimension_code` (`dimension_code`),
|
||||
KEY `idx_parent_dimension` (`parent_dimension_id`),
|
||||
KEY `idx_dimension_level` (`dimension_level`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='宿舍管理维度定义表';
|
||||
|
||||
```
|
||||
|
||||
#### 1.2 校区信息表 (dorm_campus)
|
||||
**表说明**:存储校区基本信息
|
||||
|
||||
```sql
|
||||
CREATE TABLE `dorm_campus` (
|
||||
DROP TABLE IF EXISTS `xg_dorm_campus`;
|
||||
CREATE TABLE `xg_dorm_campus` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`campus_code` varchar(50) NOT NULL COMMENT '校区编码',
|
||||
`campus_name` varchar(100) NOT NULL COMMENT '校区名称',
|
||||
`campus_address` varchar(200) DEFAULT NULL COMMENT '校区地址',
|
||||
`campus_phone` varchar(20) DEFAULT NULL COMMENT '校区联系电话',
|
||||
`campus_manager` varchar(50) DEFAULT NULL COMMENT '校区负责人',
|
||||
`campus_description` varchar(500) DEFAULT NULL COMMENT '校区描述',
|
||||
`sort_order` int(11) DEFAULT 0 COMMENT '排序号',
|
||||
`status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
|
||||
`sort_order` int(11) DEFAULT '0' COMMENT '排序号',
|
||||
`deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) DEFAULT 0 COMMENT '租户编号',
|
||||
`tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号',
|
||||
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_campus_code` (`campus_code`),
|
||||
KEY `idx_campus_status` (`status`)
|
||||
UNIQUE KEY `uk_campus_code` (`campus_code`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='校区信息表';
|
||||
```
|
||||
|
||||
@@ -89,56 +65,18 @@ CREATE TABLE `dorm_campus` (
|
||||
**表说明**:存储宿舍区基本信息,关联校区
|
||||
|
||||
```sql
|
||||
CREATE TABLE `dorm_area` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`area_code` varchar(50) NOT NULL COMMENT '宿舍区编码',
|
||||
`area_name` varchar(100) NOT NULL COMMENT '宿舍区名称',
|
||||
`campus_id` bigint(20) NOT NULL COMMENT '所属校区ID',
|
||||
`area_address` varchar(200) DEFAULT NULL COMMENT '宿舍区地址',
|
||||
`area_phone` varchar(20) DEFAULT NULL COMMENT '宿舍区联系电话',
|
||||
`area_manager` varchar(50) DEFAULT NULL COMMENT '宿舍区负责人',
|
||||
`building_count` int(11) DEFAULT 0 COMMENT '宿舍楼数量',
|
||||
`student_count` int(11) DEFAULT 0 COMMENT '学生数量',
|
||||
`area_description` varchar(500) DEFAULT NULL COMMENT '宿舍区描述',
|
||||
`sort_order` int(11) DEFAULT 0 COMMENT '排序号',
|
||||
`status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
|
||||
`deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) DEFAULT 0 COMMENT '租户编号',
|
||||
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_area_code` (`area_code`),
|
||||
KEY `idx_campus_id` (`campus_id`),
|
||||
KEY `idx_area_status` (`status`),
|
||||
CONSTRAINT `fk_area_campus` FOREIGN KEY (`campus_id`) REFERENCES `dorm_campus` (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='宿舍区信息表';
|
||||
```
|
||||
|
||||
#### 1.4 宿舍楼信息表 (dorm_building)
|
||||
**表说明**:存储宿舍楼基本信息,关联宿舍区
|
||||
|
||||
```sql
|
||||
CREATE TABLE `dorm_building` (
|
||||
DROP TABLE IF EXISTS `xg_dorm_building`;
|
||||
CREATE TABLE `xg_dorm_building` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`building_code` varchar(50) NOT NULL COMMENT '宿舍楼编码',
|
||||
`building_name` varchar(100) NOT NULL COMMENT '宿舍楼名称',
|
||||
`area_id` bigint(20) NOT NULL COMMENT '所属宿舍区ID',
|
||||
`campus_id` bigint(20) NOT NULL COMMENT '所属校区ID',
|
||||
`building_address` varchar(200) DEFAULT NULL COMMENT '宿舍楼地址',
|
||||
`building_phone` varchar(20) DEFAULT NULL COMMENT '宿舍楼联系电话',
|
||||
`building_manager` varchar(50) DEFAULT NULL COMMENT '宿舍楼负责人',
|
||||
`floor_count` int(11) DEFAULT 0 COMMENT '楼层数',
|
||||
`room_count` int(11) DEFAULT 0 COMMENT '房间数',
|
||||
`student_count` int(11) DEFAULT 0 COMMENT '学生数量',
|
||||
`building_type` char(1) DEFAULT '1' COMMENT '宿舍楼类型(1男生楼 2女生楼 3混合楼)',
|
||||
`building_description` varchar(500) DEFAULT NULL COMMENT '宿舍楼描述',
|
||||
`sort_order` int(11) DEFAULT 0 COMMENT '排序号',
|
||||
`status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
|
||||
`sort_order` int(11) DEFAULT '0' COMMENT '排序号',
|
||||
`deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) DEFAULT 0 COMMENT '租户编号',
|
||||
`tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号',
|
||||
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
|
||||
@@ -148,136 +86,158 @@ CREATE TABLE `dorm_building` (
|
||||
UNIQUE KEY `uk_building_code` (`building_code`),
|
||||
KEY `idx_area_id` (`area_id`),
|
||||
KEY `idx_campus_id` (`campus_id`),
|
||||
KEY `idx_building_status` (`status`),
|
||||
CONSTRAINT `fk_building_area` FOREIGN KEY (`area_id`) REFERENCES `dorm_area` (`id`),
|
||||
CONSTRAINT `fk_building_campus` FOREIGN KEY (`campus_id`) REFERENCES `dorm_campus` (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='宿舍楼信息表';
|
||||
```
|
||||
|
||||
#### 1.5 二级学院信息表 (dorm_college)
|
||||
**表说明**:存储二级学院基本信息
|
||||
#### 1.4 宿舍楼信息表 (dorm_building)
|
||||
**表说明**:存储宿舍楼基本信息,关联宿舍区
|
||||
|
||||
```sql
|
||||
CREATE TABLE `dorm_college` (
|
||||
DROP TABLE IF EXISTS `xg_dorm_area`;
|
||||
CREATE TABLE `xg_dorm_area` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`college_code` varchar(50) NOT NULL COMMENT '学院编码',
|
||||
`college_name` varchar(100) NOT NULL COMMENT '学院名称',
|
||||
`campus_id` bigint(20) DEFAULT NULL COMMENT '所属校区ID',
|
||||
`college_address` varchar(200) DEFAULT NULL COMMENT '学院地址',
|
||||
`college_phone` varchar(20) DEFAULT NULL COMMENT '学院联系电话',
|
||||
`college_manager` varchar(50) DEFAULT NULL COMMENT '学院负责人',
|
||||
`student_count` int(11) DEFAULT 0 COMMENT '学生数量',
|
||||
`college_description` varchar(500) DEFAULT NULL COMMENT '学院描述',
|
||||
`sort_order` int(11) DEFAULT 0 COMMENT '排序号',
|
||||
`status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
|
||||
`area_code` varchar(50) NOT NULL COMMENT '宿舍区编码',
|
||||
`area_name` varchar(100) NOT NULL COMMENT '宿舍区名称',
|
||||
`campus_id` bigint(20) NOT NULL COMMENT '所属校区ID',
|
||||
`area_description` varchar(500) DEFAULT NULL COMMENT '宿舍区描述',
|
||||
`sort_order` int(11) DEFAULT '0' COMMENT '排序号',
|
||||
`deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) DEFAULT 0 COMMENT '租户编号',
|
||||
`tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号',
|
||||
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_college_code` (`college_code`),
|
||||
UNIQUE KEY `uk_area_code` (`area_code`),
|
||||
KEY `idx_campus_id` (`campus_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='宿舍区信息表';
|
||||
```
|
||||
|
||||
#### 1.5 宿舍房间表 (dorm_room)
|
||||
**表说明**:存储宿舍房间基本信息,关联宿舍楼,包含楼层属性
|
||||
|
||||
```sql
|
||||
DROP TABLE IF EXISTS `xg_dorm_room`;
|
||||
CREATE TABLE `xg_dorm_room` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`room_code` varchar(50) NOT NULL COMMENT '房间编号',
|
||||
`room_name` varchar(100) NOT NULL COMMENT '房间名称',
|
||||
`building_id` bigint(20) NOT NULL COMMENT '所属宿舍楼ID',
|
||||
`floor_num` int(11) NOT NULL COMMENT '楼层',
|
||||
`room_type` char(1) DEFAULT '1' COMMENT '房间类型(1学生宿舍 3教师宿舍)',
|
||||
`actual_beds` int(11) DEFAULT 4 COMMENT '实际床位数',
|
||||
`room_area` decimal(10,2) DEFAULT NULL COMMENT '房间面积(平方米)',
|
||||
`room_status` char(1) DEFAULT '0' COMMENT '房间状态(0可用 1维修中 2已报废)',
|
||||
`deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号',
|
||||
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_room_code` (`room_code`),
|
||||
KEY `idx_building_id` (`building_id`),
|
||||
KEY `idx_floor_num` (`floor_num`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='宿舍房间信息表';
|
||||
```
|
||||
|
||||
#### 1.6 宿舍床位表 (dorm_bed)
|
||||
**表说明**:存储宿舍床位基本信息,关联宿舍房间
|
||||
|
||||
```sql
|
||||
DROP TABLE IF EXISTS `xg_dorm_bed`;
|
||||
CREATE TABLE `xg_dorm_bed` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`bed_code` varchar(50) NOT NULL COMMENT '床位编号',
|
||||
`bed_name` varchar(100) NOT NULL COMMENT '床位名称',
|
||||
`room_id` bigint(20) NOT NULL COMMENT '所属房间ID',
|
||||
`bed_type` char(1) DEFAULT '1' COMMENT '床位类型(1下铺 2上铺 3中铺 4独立床)',
|
||||
`bed_status` char(1) DEFAULT '0' COMMENT '床位状态(0空闲 1已分配 2维修中)',
|
||||
`deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号',
|
||||
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_bed_code` (`bed_code`),
|
||||
KEY `idx_room_id` (`room_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='宿舍床位信息表';
|
||||
|
||||
DROP TABLE IF EXISTS `xg_dorm_bed_student`;
|
||||
CREATE TABLE `xg_dorm_bed_student` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`college_id` bigint(20) NOT NULL COMMENT '分配学院ID',
|
||||
`student_id` bigint(20) NOT NULL COMMENT '分配学生ID',
|
||||
`bed_id` bigint(20) NOT NULL COMMENT '床位ID',
|
||||
`room_id` bigint(20) NOT NULL COMMENT '房间ID',
|
||||
`building_id` bigint(20) NOT NULL COMMENT '宿舍楼ID',
|
||||
`area_id` bigint(20) NOT NULL COMMENT '宿舍区ID',
|
||||
`campus_id` bigint(20) NOT NULL COMMENT '校区ID',
|
||||
`status` char(1) DEFAULT '0' COMMENT '状态(0正常 1已退宿)',
|
||||
`assign_time` datetime NOT NULL COMMENT '分配时间',
|
||||
`checkout_time` datetime DEFAULT NULL COMMENT '退宿时间',
|
||||
`deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号',
|
||||
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_student_bed` (`student_id`, `bed_id`),
|
||||
KEY `idx_college_id` (`college_id`),
|
||||
KEY `idx_student_id` (`student_id`),
|
||||
KEY `idx_bed_id` (`bed_id`),
|
||||
KEY `idx_room_id` (`room_id`),
|
||||
KEY `idx_building_id` (`building_id`),
|
||||
KEY `idx_area_id` (`area_id`),
|
||||
KEY `idx_campus_id` (`campus_id`),
|
||||
KEY `idx_college_status` (`status`),
|
||||
CONSTRAINT `fk_college_campus` FOREIGN KEY (`campus_id`) REFERENCES `dorm_campus` (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='二级学院信息表';
|
||||
KEY `idx_assign_time` (`assign_time`),
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='床位学生分配关系表';
|
||||
```
|
||||
|
||||
### 2. 管理人员表
|
||||
### 2. 宿舍管理人员相关表
|
||||
|
||||
#### 2.1 宿舍管理人员基本信息表 (dorm_manager)
|
||||
**表说明**:存储宿舍管理人员的基本信息
|
||||
#### 2.1 宿舍管理员表 (dorm_manager)
|
||||
**表说明**:存储全校、校区、宿舍区、宿舍楼管理员的基本信息
|
||||
|
||||
```sql
|
||||
CREATE TABLE `dorm_manager` (
|
||||
DROP TABLE IF EXISTS `xg_dorm_manager`;
|
||||
CREATE TABLE `xg_dorm_manager` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`manager_code` varchar(50) NOT NULL COMMENT '管理人员编码',
|
||||
`manager_name` varchar(50) NOT NULL COMMENT '管理人员姓名',
|
||||
`gender` char(1) DEFAULT NULL COMMENT '性别(0男 1女 2未知)',
|
||||
`birth_date` date DEFAULT NULL COMMENT '出生日期',
|
||||
`id_card` varchar(18) DEFAULT NULL COMMENT '身份证号',
|
||||
`phone` varchar(11) DEFAULT NULL COMMENT '手机号码',
|
||||
`email` varchar(100) DEFAULT NULL COMMENT '邮箱地址',
|
||||
`office_phone` varchar(20) DEFAULT NULL COMMENT '办公电话',
|
||||
`department` varchar(100) DEFAULT NULL COMMENT '所属部门',
|
||||
`position` varchar(100) DEFAULT NULL COMMENT '职位',
|
||||
`hire_date` date DEFAULT NULL COMMENT '入职时间',
|
||||
`work_status` char(1) DEFAULT '0' COMMENT '工作状态(0在职 1离职 2休假)',
|
||||
`education` varchar(50) DEFAULT NULL COMMENT '学历',
|
||||
`major` varchar(100) DEFAULT NULL COMMENT '专业',
|
||||
`certificates` varchar(500) DEFAULT NULL COMMENT '相关证书',
|
||||
`manager_description` varchar(500) DEFAULT NULL COMMENT '个人描述',
|
||||
`sort_order` int(11) DEFAULT 0 COMMENT '排序号',
|
||||
`manager_name` varchar(100) NOT NULL COMMENT '管理员姓名',
|
||||
`manager_type` char(1) NOT NULL COMMENT '管理员类型(1全校管理员 2校区管理员 3宿舍区管理员 4宿舍楼管理员)',
|
||||
`manager_level` int(11) DEFAULT 1 COMMENT '管理级别(1-5,1为最高)',
|
||||
`user_id` bigint(20) DEFAULT NULL COMMENT '关联用户ID',
|
||||
`phone` varchar(20) DEFAULT NULL COMMENT '联系电话',
|
||||
`gender` char(1) DEFAULT '0' COMMENT '性别(0男 1女 2未知)',
|
||||
`status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
|
||||
`deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) DEFAULT 0 COMMENT '租户编号',
|
||||
`tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号',
|
||||
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_manager_code` (`manager_code`),
|
||||
UNIQUE KEY `uk_id_card` (`id_card`),
|
||||
KEY `idx_manager_name` (`manager_name`),
|
||||
KEY `idx_phone` (`phone`),
|
||||
KEY `idx_manager_status` (`status`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='宿舍管理人员基本信息表';
|
||||
```
|
||||
KEY `idx_user_id` (`user_id`),
|
||||
KEY `idx_manager_type` (`manager_type`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='宿舍管理员信息表';
|
||||
|
||||
#### 2.2 管理人员职位表 (dorm_manager_position)
|
||||
**表说明**:存储管理人员的职位信息
|
||||
|
||||
```sql
|
||||
CREATE TABLE `dorm_manager_position` (
|
||||
DROP TABLE IF EXISTS `xg_dorm_manager_source`;
|
||||
CREATE TABLE `xg_dorm_manager_source` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`position_code` varchar(50) NOT NULL COMMENT '职位编码',
|
||||
`position_name` varchar(100) NOT NULL COMMENT '职位名称',
|
||||
`position_level` int(11) NOT NULL COMMENT '职位层级(1-5)',
|
||||
`parent_position_id` bigint(20) DEFAULT NULL COMMENT '上级职位ID',
|
||||
`position_description` varchar(500) DEFAULT NULL COMMENT '职位描述',
|
||||
`permission_level` int(11) DEFAULT NULL COMMENT '权限层级',
|
||||
`sort_order` int(11) DEFAULT 0 COMMENT '排序号',
|
||||
`status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
|
||||
`manager_id` bigint(20) NOT NULL COMMENT '管理员ID',
|
||||
`permission_type` char(1) DEFAULT '1' COMMENT '权限类型(1查看 2编辑 3完全管理)',
|
||||
`auth_type` char(1) NOT NULL COMMENT '授权类型(1全校级 2校区级 3宿舍区级 4楼栋级)',
|
||||
`auth_source` bigint(20) DEFAULT NULL COMMENT '授权来源ID(对应校区ID或宿舍区ID或楼栋ID)',
|
||||
`status` char(1) DEFAULT '0' COMMENT '状态(0有效 1已撤销)',
|
||||
`deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) DEFAULT 0 COMMENT '租户编号',
|
||||
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_position_code` (`position_code`),
|
||||
KEY `idx_position_level` (`position_level`),
|
||||
KEY `idx_parent_position` (`parent_position_id`),
|
||||
KEY `idx_position_status` (`status`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='管理人员职位表';
|
||||
```
|
||||
|
||||
#### 2.3 管理人员分配表 (dorm_manager_assignment)
|
||||
**表说明**:存储管理人员的分配信息,支持多维度分配
|
||||
|
||||
```sql
|
||||
CREATE TABLE `dorm_manager_assignment` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`manager_id` bigint(20) NOT NULL COMMENT '管理人员ID',
|
||||
`position_id` bigint(20) NOT NULL COMMENT '职位ID',
|
||||
`dimension_type` varchar(50) NOT NULL COMMENT '维度类型(campus/area/building/college)',
|
||||
`dimension_id` bigint(20) NOT NULL COMMENT '维度ID',
|
||||
`assignment_type` char(1) DEFAULT '1' COMMENT '分配类型(1主要 2辅助 3临时)',
|
||||
`start_date` date NOT NULL COMMENT '分配开始日期',
|
||||
`end_date` date DEFAULT NULL COMMENT '分配结束日期',
|
||||
`assignment_reason` varchar(500) DEFAULT NULL COMMENT '分配原因',
|
||||
`approval_status` char(1) DEFAULT '0' COMMENT '审批状态(0待审批 1已通过 2已拒绝)',
|
||||
`approval_by` bigint(20) DEFAULT NULL COMMENT '审批人',
|
||||
`approval_time` datetime DEFAULT NULL COMMENT '审批时间',
|
||||
`approval_remark` varchar(500) DEFAULT NULL COMMENT '审批备注',
|
||||
`sort_order` int(11) DEFAULT 0 COMMENT '排序号',
|
||||
`status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
|
||||
`deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) DEFAULT 0 COMMENT '租户编号',
|
||||
`tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号',
|
||||
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
|
||||
@@ -285,203 +245,94 @@ CREATE TABLE `dorm_manager_assignment` (
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_manager_id` (`manager_id`),
|
||||
KEY `idx_position_id` (`position_id`),
|
||||
KEY `idx_dimension_type` (`dimension_type`),
|
||||
KEY `idx_dimension_id` (`dimension_id`),
|
||||
KEY `idx_assignment_status` (`status`),
|
||||
KEY `idx_approval_status` (`approval_status`),
|
||||
CONSTRAINT `fk_assignment_manager` FOREIGN KEY (`manager_id`) REFERENCES `dorm_manager` (`id`),
|
||||
CONSTRAINT `fk_assignment_position` FOREIGN KEY (`position_id`) REFERENCES `dorm_manager_position` (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='管理人员分配表';
|
||||
KEY `idx_auth_source` (`auth_source`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='管理员授权关系表';
|
||||
|
||||
```
|
||||
|
||||
### 3. 权限管理表
|
||||
|
||||
#### 3.1 权限层级表 (dorm_permission_level)
|
||||
**表说明**:定义权限层级信息
|
||||
#### 2.2 管理员宿舍楼权限关系表 (dorm_manager_building)
|
||||
**表说明**:存储管理员与宿舍楼的权限绑定关系
|
||||
|
||||
```sql
|
||||
CREATE TABLE `dorm_permission_level` (
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS `xg_dorm_manager_building`;
|
||||
CREATE TABLE `xg_dorm_manager_building` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`level_code` varchar(50) NOT NULL COMMENT '权限层级编码',
|
||||
`level_name` varchar(100) NOT NULL COMMENT '权限层级名称',
|
||||
`level_value` int(11) NOT NULL COMMENT '权限层级值(1-5)',
|
||||
`parent_level_id` bigint(20) DEFAULT NULL COMMENT '上级权限层级ID',
|
||||
`level_description` varchar(500) DEFAULT NULL COMMENT '权限层级描述',
|
||||
`data_scope` varchar(200) DEFAULT NULL COMMENT '数据权限范围',
|
||||
`function_permissions` varchar(500) DEFAULT NULL COMMENT '功能权限列表',
|
||||
`sort_order` int(11) DEFAULT 0 COMMENT '排序号',
|
||||
`manager_id` bigint(20) NOT NULL COMMENT '管理员ID',
|
||||
`building_id` bigint(20) NOT NULL COMMENT '宿舍楼ID',
|
||||
`status` char(1) DEFAULT '0' COMMENT '状态(0有效 1已撤销)',
|
||||
`deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号',
|
||||
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_manager_building` (`manager_id`, `building_id`),
|
||||
KEY `idx_manager_id` (`manager_id`),
|
||||
KEY `idx_building_id` (`building_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='管理员宿舍楼权限关系表';
|
||||
```
|
||||
|
||||
#### 2.3 二级学院宿舍管理员表 (dorm_college_manager)
|
||||
**表说明**:存储二级学院宿舍管理员的基本信息
|
||||
|
||||
```sql
|
||||
DROP TABLE IF EXISTS `xg_dorm_college_manager`;
|
||||
CREATE TABLE `xg_dorm_college_manager` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`manager_name` varchar(100) NOT NULL COMMENT '管理员姓名',
|
||||
`college_id` bigint(20) NOT NULL COMMENT '所属学院ID',
|
||||
`user_id` bigint(20) DEFAULT NULL COMMENT '关联用户ID',
|
||||
`phone` varchar(20) DEFAULT NULL COMMENT '联系电话',
|
||||
`gender` char(1) DEFAULT '0' COMMENT '性别(0男 1女 2未知)',
|
||||
`status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
|
||||
`deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) DEFAULT 0 COMMENT '租户编号',
|
||||
`tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号',
|
||||
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_level_code` (`level_code`),
|
||||
UNIQUE KEY `uk_level_value` (`level_value`),
|
||||
KEY `idx_parent_level` (`parent_level_id`),
|
||||
KEY `idx_level_status` (`status`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='权限层级表';
|
||||
KEY `idx_college_id` (`college_id`),
|
||||
KEY `idx_user_id` (`user_id`),
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='二级学院宿舍管理员信息表';
|
||||
```
|
||||
|
||||
#### 3.2 管理人员权限表 (dorm_manager_permission)
|
||||
**表说明**:存储管理人员的具体权限配置
|
||||
#### 2.4 二级学院床位绑定关系表 (dorm_college_bed)
|
||||
**表说明**:存储二级学院与床位的绑定关系
|
||||
|
||||
```sql
|
||||
CREATE TABLE `dorm_manager_permission` (
|
||||
DROP TABLE IF EXISTS `xg_dorm_college_bed`;
|
||||
CREATE TABLE `xg_dorm_college_bed` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`manager_id` bigint(20) NOT NULL COMMENT '管理人员ID',
|
||||
`permission_level_id` bigint(20) NOT NULL COMMENT '权限层级ID',
|
||||
`dimension_type` varchar(50) NOT NULL COMMENT '维度类型',
|
||||
`dimension_id` bigint(20) NOT NULL COMMENT '维度ID',
|
||||
`data_permissions` varchar(500) DEFAULT NULL COMMENT '数据权限配置',
|
||||
`function_permissions` varchar(500) DEFAULT NULL COMMENT '功能权限配置',
|
||||
`permission_type` char(1) DEFAULT '1' COMMENT '权限类型(1继承 2授权 3临时)',
|
||||
`grant_by` bigint(20) DEFAULT NULL COMMENT '授权人',
|
||||
`grant_time` datetime DEFAULT NULL COMMENT '授权时间',
|
||||
`expire_time` datetime DEFAULT NULL COMMENT '权限过期时间',
|
||||
`permission_status` char(1) DEFAULT '0' COMMENT '权限状态(0有效 1过期 2停用)',
|
||||
`sort_order` int(11) DEFAULT 0 COMMENT '排序号',
|
||||
`status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
|
||||
`college_id` bigint(20) NOT NULL COMMENT '学院ID',
|
||||
`bed_id` bigint(20) NOT NULL COMMENT '床位ID',
|
||||
`building_id` bigint(20) NOT NULL COMMENT '宿舍楼ID',
|
||||
`room_id` bigint(20) NOT NULL COMMENT '房间ID',
|
||||
`status` char(1) DEFAULT '0' COMMENT '状态(0正常 1已解除)',
|
||||
`assign_time` datetime DEFAULT NULL COMMENT '分配时间',
|
||||
`release_time` datetime DEFAULT NULL COMMENT '到期解除时间',
|
||||
`deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) DEFAULT 0 COMMENT '租户编号',
|
||||
`tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号',
|
||||
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_manager_id` (`manager_id`),
|
||||
KEY `idx_permission_level` (`permission_level_id`),
|
||||
KEY `idx_dimension_type` (`dimension_type`),
|
||||
KEY `idx_dimension_id` (`dimension_id`),
|
||||
KEY `idx_permission_status` (`permission_status`),
|
||||
KEY `idx_grant_by` (`grant_by`),
|
||||
CONSTRAINT `fk_permission_manager` FOREIGN KEY (`manager_id`) REFERENCES `dorm_manager` (`id`),
|
||||
CONSTRAINT `fk_permission_level` FOREIGN KEY (`permission_level_id`) REFERENCES `dorm_permission_level` (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='管理人员权限表';
|
||||
UNIQUE KEY `uk_college_bed` (`college_id`, `bed_id`),
|
||||
KEY `idx_college_id` (`college_id`),
|
||||
KEY `idx_bed_id` (`bed_id`),
|
||||
KEY `idx_building_id` (`building_id`),
|
||||
KEY `idx_room_id` (`room_id`),
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='二级学院床位绑定关系表';
|
||||
```
|
||||
|
||||
#### 3.3 权限变更日志表 (dorm_permission_log)
|
||||
**表说明**:记录权限变更的详细日志
|
||||
|
||||
```sql
|
||||
CREATE TABLE `dorm_permission_log` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`manager_id` bigint(20) NOT NULL COMMENT '管理人员ID',
|
||||
`operation_type` varchar(50) NOT NULL COMMENT '操作类型(grant/revoke/modify)',
|
||||
`permission_level_id` bigint(20) DEFAULT NULL COMMENT '权限层级ID',
|
||||
`dimension_type` varchar(50) DEFAULT NULL COMMENT '维度类型',
|
||||
`dimension_id` bigint(20) DEFAULT NULL COMMENT '维度ID',
|
||||
`old_permissions` text DEFAULT NULL COMMENT '变更前权限配置',
|
||||
`new_permissions` text DEFAULT NULL COMMENT '变更后权限配置',
|
||||
`operation_reason` varchar(500) DEFAULT NULL COMMENT '操作原因',
|
||||
`operator_id` bigint(20) NOT NULL COMMENT '操作人ID',
|
||||
`operator_name` varchar(50) NOT NULL COMMENT '操作人姓名',
|
||||
`operation_time` datetime NOT NULL COMMENT '操作时间',
|
||||
`ip_address` varchar(50) DEFAULT NULL COMMENT '操作IP地址',
|
||||
`user_agent` varchar(500) DEFAULT NULL COMMENT '用户代理',
|
||||
`operation_result` char(1) DEFAULT '1' COMMENT '操作结果(0失败 1成功)',
|
||||
`error_message` varchar(500) DEFAULT NULL COMMENT '错误信息',
|
||||
`deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) DEFAULT 0 COMMENT '租户编号',
|
||||
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_manager_id` (`manager_id`),
|
||||
KEY `idx_operation_type` (`operation_type`),
|
||||
KEY `idx_operator_id` (`operator_id`),
|
||||
KEY `idx_operation_time` (`operation_time`),
|
||||
KEY `idx_operation_result` (`operation_result`),
|
||||
CONSTRAINT `fk_log_manager` FOREIGN KEY (`manager_id`) REFERENCES `dorm_manager` (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='权限变更日志表';
|
||||
```
|
||||
|
||||
### 4. 管理效果评估表
|
||||
|
||||
#### 4.1 管理数据统计表 (dorm_management_stats)
|
||||
**表说明**:存储管理效果的统计数据
|
||||
|
||||
```sql
|
||||
CREATE TABLE `dorm_management_stats` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`manager_id` bigint(20) NOT NULL COMMENT '管理人员ID',
|
||||
`dimension_type` varchar(50) NOT NULL COMMENT '维度类型',
|
||||
`dimension_id` bigint(20) NOT NULL COMMENT '维度ID',
|
||||
`stats_date` date NOT NULL COMMENT '统计日期',
|
||||
`stats_type` varchar(50) NOT NULL COMMENT '统计类型(daily/weekly/monthly)',
|
||||
`building_count` int(11) DEFAULT 0 COMMENT '管理宿舍楼数量',
|
||||
`student_count` int(11) DEFAULT 0 COMMENT '管理学生数量',
|
||||
`task_completed` int(11) DEFAULT 0 COMMENT '完成任务数量',
|
||||
`task_total` int(11) DEFAULT 0 COMMENT '总任务数量',
|
||||
`problem_resolved` int(11) DEFAULT 0 COMMENT '解决问题数量',
|
||||
`problem_total` int(11) DEFAULT 0 COMMENT '总问题数量',
|
||||
`satisfaction_score` decimal(3,2) DEFAULT 0.00 COMMENT '满意度评分',
|
||||
`efficiency_score` decimal(3,2) DEFAULT 0.00 COMMENT '效率评分',
|
||||
`quality_score` decimal(3,2) DEFAULT 0.00 COMMENT '质量评分',
|
||||
`overall_score` decimal(3,2) DEFAULT 0.00 COMMENT '综合评分',
|
||||
`stats_data` json DEFAULT NULL COMMENT '详细统计数据',
|
||||
`deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) DEFAULT 0 COMMENT '租户编号',
|
||||
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_stats_unique` (`manager_id`, `dimension_type`, `dimension_id`, `stats_date`, `stats_type`),
|
||||
KEY `idx_manager_id` (`manager_id`),
|
||||
KEY `idx_dimension_type` (`dimension_type`),
|
||||
KEY `idx_dimension_id` (`dimension_id`),
|
||||
KEY `idx_stats_date` (`stats_date`),
|
||||
KEY `idx_stats_type` (`stats_type`),
|
||||
CONSTRAINT `fk_stats_manager` FOREIGN KEY (`manager_id`) REFERENCES `dorm_manager` (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='管理数据统计表';
|
||||
```
|
||||
|
||||
#### 4.2 权限使用记录表 (dorm_permission_usage)
|
||||
**表说明**:记录权限使用的详细情况
|
||||
|
||||
```sql
|
||||
CREATE TABLE `dorm_permission_usage` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`manager_id` bigint(20) NOT NULL COMMENT '管理人员ID',
|
||||
`permission_level_id` bigint(20) NOT NULL COMMENT '权限层级ID',
|
||||
`dimension_type` varchar(50) NOT NULL COMMENT '维度类型',
|
||||
`dimension_id` bigint(20) NOT NULL COMMENT '维度ID',
|
||||
`function_name` varchar(100) NOT NULL COMMENT '功能名称',
|
||||
`operation_type` varchar(50) NOT NULL COMMENT '操作类型(view/edit/delete/approve)',
|
||||
`operation_time` datetime NOT NULL COMMENT '操作时间',
|
||||
`operation_result` char(1) DEFAULT '1' COMMENT '操作结果(0失败 1成功)',
|
||||
`response_time` int(11) DEFAULT NULL COMMENT '响应时间(毫秒)',
|
||||
`ip_address` varchar(50) DEFAULT NULL COMMENT '操作IP地址',
|
||||
`user_agent` varchar(500) DEFAULT NULL COMMENT '用户代理',
|
||||
`session_id` varchar(100) DEFAULT NULL COMMENT '会话ID',
|
||||
`deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) DEFAULT 0 COMMENT '租户编号',
|
||||
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_manager_id` (`manager_id`),
|
||||
KEY `idx_permission_level` (`permission_level_id`),
|
||||
KEY `idx_dimension_type` (`dimension_type`),
|
||||
KEY `idx_dimension_id` (`dimension_id`),
|
||||
KEY `idx_function_name` (`function_name`),
|
||||
KEY `idx_operation_time` (`operation_time`),
|
||||
KEY `idx_operation_result` (`operation_result`),
|
||||
CONSTRAINT `fk_usage_manager` FOREIGN KEY (`manager_id`) REFERENCES `dorm_manager` (`id`),
|
||||
CONSTRAINT `fk_usage_permission_level` FOREIGN KEY (`permission_level_id`) REFERENCES `dorm_permission_level` (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='权限使用记录表';
|
||||
```
|
||||
|
||||
## 🔗 表关系设计
|
||||
|
||||
@@ -503,15 +354,6 @@ dorm_permission_level (权限层级)
|
||||
└── Level 5: 二级学院宿舍管理负责人
|
||||
```
|
||||
|
||||
### 3. 管理人员关系图
|
||||
```
|
||||
dorm_manager (管理人员)
|
||||
├── dorm_manager_position (职位信息)
|
||||
├── dorm_manager_assignment (分配信息)
|
||||
├── dorm_manager_permission (权限信息)
|
||||
├── dorm_management_stats (统计信息)
|
||||
└── dorm_permission_usage (使用记录)
|
||||
```
|
||||
|
||||
## 📊 索引设计
|
||||
|
||||
|
||||
+97
-132
@@ -2,29 +2,30 @@
|
||||
|
||||
## 📁 文件结构概览
|
||||
|
||||
基于业务域的数据库文件拆分,将原始的 `hzdyjs_xg.sql` 按业务模块进行分类,便于管理和维护。
|
||||
基于业务域的数据库文件拆分,采用目录+文件的组织方式,将原始的 `hzdyjs_xg.sql` 按业务模块进行分类,便于管理和维护。
|
||||
|
||||
```
|
||||
docs/设计文档/database/
|
||||
├── hzdyjs_xg.sql # 完整数据库文件(保留)
|
||||
├── 01-workflow-module.sql # 工作流模块
|
||||
├── 02-code-generator-module.sql # 代码生成模块
|
||||
├── 03-logistics-module.sql # 后勤管理模块
|
||||
├── 04-job-scheduler-module.sql # 任务调度模块
|
||||
├── 05-system-management-module.sql # 系统管理模块
|
||||
├── 06-test-module.sql # 测试模块
|
||||
├── 08-student-management-actual-rollback.sql # 学工管理模块实际删除脚本
|
||||
├── README.md # 数据库设计说明
|
||||
├── mysql-database-standard.md # MySQL数据库建设规范
|
||||
├── database_msg.md # 数据库环境配置
|
||||
└── SQL文件说明.md # 本文件
|
||||
├── README.md # 数据库设计说明
|
||||
├── mysql-database-standard.md # MySQL数据库建设规范
|
||||
├── database_msg.md # 数据库环境配置
|
||||
├── SQL文件说明.md # 本文件
|
||||
├── 工作流/ # 工作流模块相关SQL
|
||||
│ └── ... (工作流相关SQL文件)
|
||||
├── 后勤管理/ # 后勤管理模块相关SQL
|
||||
│ └── ... (后勤管理相关SQL文件)
|
||||
├── 学工管理-学生信息管理/ # 学工管理-学生信息模块相关SQL
|
||||
│ └── ... (学生信息相关SQL文件)
|
||||
└── 学工管理-宿舍管理/ # 学工管理-宿舍管理模块相关SQL
|
||||
└── ... (宿舍管理相关SQL文件)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📊 业务域拆分详情
|
||||
|
||||
### 01. 工作流模块 (01-workflow-module.sql)
|
||||
### 工作流模块 (工作流/)
|
||||
|
||||
**业务域**: 工作流引擎相关功能
|
||||
**包含表**: 8 张表
|
||||
@@ -40,20 +41,10 @@ docs/设计文档/database/
|
||||
|
||||
**主要功能**: 支持业务流程的定义、执行、跟踪和管理
|
||||
|
||||
### 02. 代码生成模块 (02-code-generator-module.sql)
|
||||
|
||||
**业务域**: 代码生成器相关功能
|
||||
**包含表**: 2 张表
|
||||
|
||||
- `gen_table` - 代码生成业务表
|
||||
- `gen_table_column` - 代码生成业务字段表
|
||||
|
||||
**主要功能**: 支持基于数据库表结构自动生成代码
|
||||
|
||||
### 03. 后勤管理模块 (03-logistics-module.sql)
|
||||
### 后勤管理模块 (后勤管理/)
|
||||
|
||||
**业务域**: 后勤服务管理相关功能
|
||||
**包含表**: 10 张表
|
||||
**包含表**: 10+ 张表
|
||||
|
||||
#### 报告厅预约管理子模块
|
||||
|
||||
@@ -73,93 +64,53 @@ docs/设计文档/database/
|
||||
|
||||
**主要功能**: 校园后勤服务管理,包括场地预约和满意度调查
|
||||
|
||||
### 04. 任务调度模块 (04-job-scheduler-module.sql)
|
||||
### 学工管理-学生信息管理模块 (学工管理-学生信息管理/)
|
||||
|
||||
**业务域**: 学工管理-学生信息管理相关功能
|
||||
**包含表**: 相关学生信息表
|
||||
|
||||
**主要功能**: 学生信息管理,包括学生基本信息、班级信息等
|
||||
|
||||
### 学工管理-宿舍管理模块 (学工管理-宿舍管理/)
|
||||
|
||||
**业务域**: 学工管理-宿舍管理相关功能
|
||||
**包含表**: 宿舍相关表
|
||||
|
||||
**主要功能**: 宿舍管理,包括宿舍分配、宿舍管理等功能
|
||||
|
||||
### 其他模块 (仍保留在根目录)
|
||||
|
||||
#### 代码生成模块 (02-code-generator-module.sql)
|
||||
|
||||
**业务域**: 代码生成器相关功能
|
||||
**包含表**: 2 张表
|
||||
|
||||
- `gen_table` - 代码生成业务表
|
||||
- `gen_table_column` - 代码生成业务字段表
|
||||
|
||||
**主要功能**: 支持基于数据库表结构自动生成代码
|
||||
|
||||
#### 任务调度模块 (04-job-scheduler-module.sql)
|
||||
|
||||
**业务域**: SnailJob 任务调度相关功能
|
||||
**包含表**: 12 张表
|
||||
|
||||
- `sj_distributed_lock` - 分布式锁表
|
||||
- `sj_group_config` - 组配置表
|
||||
- `sj_namespace_config` - 命名空间配置表
|
||||
- `sj_notify_config` - 通知配置表
|
||||
- `sj_retry_dead_letter` - 死信队列表
|
||||
- `sj_retry_summary` - 任务重试汇总统计表
|
||||
- `sj_retry_task` - 任务信息表
|
||||
- `sj_retry_task_log` - 重试日志表
|
||||
- `sj_server_node` - 服务器节点表
|
||||
- `sj_system_user_permission` - 系统用户权限表
|
||||
- `sj_workflow_node` - 工作流节点表
|
||||
- `sj_workflow_task_batch` - 工作流任务批次表
|
||||
|
||||
**主要功能**: 分布式任务调度、重试机制、工作流编排
|
||||
|
||||
### 05. 系统管理模块 (05-system-management-module.sql)
|
||||
#### 系统管理模块 (05-system-management-module.sql)
|
||||
|
||||
**业务域**: 系统核心管理功能
|
||||
**包含表**: 21 张表
|
||||
|
||||
#### 用户与权限管理
|
||||
|
||||
- `sys_user` - 用户信息表
|
||||
- `sys_role` - 角色信息表
|
||||
- `sys_menu` - 菜单权限表
|
||||
- `sys_dept` - 部门表
|
||||
- `sys_post` - 岗位信息表
|
||||
- `sys_user_role` - 用户角色关联表
|
||||
- `sys_user_post` - 用户岗位关联表
|
||||
- `sys_role_menu` - 角色菜单关联表
|
||||
- `sys_role_dept` - 角色部门关联表
|
||||
|
||||
#### 系统配置与日志
|
||||
|
||||
- `sys_config` - 参数配置表
|
||||
- `sys_dict_type` - 字典类型表
|
||||
- `sys_dict_data` - 字典数据表
|
||||
- `sys_notice` - 通知公告表
|
||||
- `sys_oper_log` - 操作日志表
|
||||
- `sys_logininfor` - 系统访问记录表
|
||||
|
||||
#### 文件与租户管理
|
||||
|
||||
- `sys_oss` - OSS 对象存储表
|
||||
- `sys_oss_config` - 对象存储配置表
|
||||
- `sys_client` - 系统授权表
|
||||
- `sys_tenant` - 租户表
|
||||
- `sys_tenant_package` - 租户套餐表
|
||||
- `sys_social` - 社会化关系表
|
||||
|
||||
**主要功能**: 系统用户管理、权限控制、配置管理、日志记录等核心功能
|
||||
|
||||
### 06. 测试模块 (06-test-module.sql)
|
||||
#### 测试模块 (06-test-module.sql)
|
||||
|
||||
**业务域**: 测试和演示相关功能
|
||||
**包含表**: 1 张表
|
||||
|
||||
- `test_tree` - 测试树表
|
||||
|
||||
**主要功能**: 系统功能测试和演示,包含树形结构数据
|
||||
|
||||
### 08. 学生信息管理模块 (已删除)
|
||||
|
||||
**业务域**: 学工管理-学生信息管理相关功能
|
||||
**状态**: 已于2025-01-09完全删除
|
||||
|
||||
#### 删除脚本
|
||||
|
||||
- `08-student-management-actual-rollback.sql` - 学工管理模块实际删除脚本(已执行)
|
||||
|
||||
**删除内容**:
|
||||
- 6张数据库表(学生信息、银行卡、班级信息、审核记录等)
|
||||
- 16个菜单权限项
|
||||
- 7个字典类型
|
||||
- 27个字典数据项
|
||||
|
||||
**删除状态**: ✅ 已完成并验证通过
|
||||
|
||||
**删除原因**: 用户要求删除已创建的学工学生信息相关功能
|
||||
|
||||
**恢复说明**: 相关文档和脚本已在git历史记录中保存,如需恢复可从历史记录中获取
|
||||
|
||||
---
|
||||
|
||||
## 🔧 使用指南
|
||||
@@ -173,51 +124,48 @@ SOURCE docs/设计文档/database/hzdyjs_xg.sql;
|
||||
|
||||
### 按模块部署
|
||||
|
||||
现在可以按照目录组织更灵活地部署数据库:
|
||||
|
||||
```sql
|
||||
-- 按需执行指定模块
|
||||
SOURCE docs/设计文档/database/01-workflow-module.sql;
|
||||
SOURCE docs/设计文档/database/02-code-generator-module.sql;
|
||||
SOURCE docs/设计文档/database/03-logistics-module.sql;
|
||||
SOURCE docs/设计文档/database/04-job-scheduler-module.sql;
|
||||
-- 核心系统模块
|
||||
SOURCE docs/设计文档/database/05-system-management-module.sql;
|
||||
SOURCE docs/设计文档/database/06-test-module.sql;
|
||||
-- 学工管理模块已删除
|
||||
-- 删除脚本已执行完成:
|
||||
-- SOURCE docs/设计文档/database/08-student-management-actual-rollback.sql;
|
||||
|
||||
-- 按业务目录部署
|
||||
-- 工作流模块
|
||||
SOURCE docs/设计文档/database/工作流/01-workflow-module.sql;
|
||||
|
||||
-- 后勤管理模块
|
||||
SOURCE docs/设计文档/database/后勤管理/03-logistics-module.sql;
|
||||
SOURCE docs/设计文档/database/后勤管理/hq_hall_info.sql;
|
||||
SOURCE docs/设计文档/database/后勤管理/hq_satisfaction_survey.sql;
|
||||
-- 更多后勤管理相关表...
|
||||
|
||||
-- 学工管理-学生信息模块
|
||||
SOURCE docs/设计文档/database/学工管理-学生信息管理/xg_student_info.sql;
|
||||
SOURCE docs/设计文档/database/学工管理-学生信息管理/xg_class_info.sql;
|
||||
-- 更多学生信息相关表...
|
||||
|
||||
-- 学工管理-宿舍管理模块
|
||||
SOURCE docs/设计文档/database/学工管理-宿舍管理/xg_dormitory_info.sql;
|
||||
-- 更多宿舍管理相关表...
|
||||
```
|
||||
|
||||
### 开发环境部署建议
|
||||
|
||||
1. **必须模块**: 01-工作流模块, 05-系统管理模块
|
||||
2. **核心业务模块**: 03-后勤管理模块
|
||||
3. **按需模块**: 其他模块根据具体业务需求选择性部署
|
||||
1. **必须模块**: 系统管理模块, 工作流模块
|
||||
2. **核心业务模块**: 后勤管理模块
|
||||
3. **按需模块**: 学工管理相关模块和其他模块根据具体业务需求选择性部署
|
||||
4. **测试模块**: 仅在开发和测试环境中部署
|
||||
|
||||
---
|
||||
|
||||
## 📈 统计信息
|
||||
|
||||
| 模块 | 表数量 | 主要功能 | 依赖关系 |
|
||||
| ------------ | ------ | ------------ | ---------------- |
|
||||
| 工作流模块 | 8 | 流程管理 | 依赖系统管理模块 |
|
||||
| 代码生成模块 | 2 | 代码生成 | 无特殊依赖 |
|
||||
| 后勤管理模块 | 10 | 后勤服务 | 依赖系统管理模块 |
|
||||
| 任务调度模块 | 12 | 任务调度 | 独立模块 |
|
||||
| 系统管理模块 | 21 | 核心系统 | 核心基础模块 |
|
||||
| 测试模块 | 1 | 测试演示 | 依赖系统管理模块 |
|
||||
| ~~学工管理模块~~ | ~~6~~ | ~~学工管理~~ | ~~已删除~~ |
|
||||
| **总计** | **54** | **完整系统** | **完整依赖链** |
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ 注意事项
|
||||
|
||||
### 1. 模块依赖关系
|
||||
### 1. 目录组织原则
|
||||
|
||||
- **系统管理模块**是其他模块的基础依赖,必须优先部署
|
||||
- **工作流模块**和**后勤管理模块**依赖系统管理模块的用户和部门数据
|
||||
- **任务调度模块**相对独立,可单独部署
|
||||
- **学工管理模块**已删除,不再部署
|
||||
- **按业务域组织**: 文件按业务功能模块存放到对应目录
|
||||
- **一表一文件**: 每个表结构单独存放为独立SQL文件,便于维护
|
||||
- **统一命名**: 文件名应与表名保持一致,便于快速定位
|
||||
|
||||
### 2. 数据一致性
|
||||
|
||||
@@ -244,20 +192,21 @@ SOURCE docs/设计文档/database/06-test-module.sql;
|
||||
|
||||
### 更新流程
|
||||
|
||||
1. 修改 `hzdyjs_xg.sql` 主文件
|
||||
2. 同步更新对应的模块 SQL 文件
|
||||
1. 修改对应业务目录下的SQL文件
|
||||
2. 如有必要,同步更新 `hzdyjs_xg.sql` 主文件
|
||||
3. 更新本说明文档的变更记录
|
||||
4. 在 `docs/变更管理/code-adjust-record.md` 中记录变更
|
||||
4. 在 `docs/变更管理/code-adjust-record-YYYY-MM-DD-{username}.md` 中记录变更
|
||||
|
||||
### 文件命名规则
|
||||
|
||||
- 使用两位数字前缀进行排序
|
||||
- 使用表名作为文件名,如 `xg_student_info.sql`
|
||||
- 可选使用两位数字前缀进行排序
|
||||
- 使用英文短横线分隔词语
|
||||
- 以 `-module.sql` 结尾表示模块文件
|
||||
- 以 `.sql` 结尾
|
||||
|
||||
### 拆分原则
|
||||
|
||||
- 按业务域进行逻辑分组
|
||||
- 按业务域进行目录分组
|
||||
- 保持模块的相对独立性
|
||||
- 考虑实际部署和维护需求
|
||||
- 遵循数据库设计规范
|
||||
@@ -266,6 +215,22 @@ SOURCE docs/设计文档/database/06-test-module.sql;
|
||||
|
||||
## 📋 更新记录
|
||||
|
||||
### 2025-07-15 - 目录结构调整
|
||||
|
||||
**变更内容**:
|
||||
- 将SQL文件按业务域进行目录拆分
|
||||
- 新增学工管理-学生信息管理目录
|
||||
- 新增工作流目录
|
||||
- 新增后勤管理目录
|
||||
- 新增学工管理-宿舍管理目录
|
||||
- 更新SQL文件说明文档,反映新的目录结构
|
||||
|
||||
**变更原因**: 优化数据库文件管理,按业务模块分类存储,提高可维护性
|
||||
|
||||
**影响范围**: 仅影响文件组织方式,不影响SQL内容和功能
|
||||
|
||||
**执行状态**: ✅ 已完成并验证通过
|
||||
|
||||
### 2025-01-09 - 学工管理模块完全删除
|
||||
|
||||
**变更内容**:
|
||||
|
||||
@@ -0,0 +1,260 @@
|
||||
-- 宿舍管理数据库建表脚本
|
||||
-- 来源:docs/业务模块/学工管理-宿舍管理/数据库设计/宿舍管理数据库设计.md
|
||||
-- 用途:统一存储宿舍管理模块所有相关表的建表SQL,便于维护和执行
|
||||
-- 维护人:数据库设计团队
|
||||
-- 日期:2025-01-14
|
||||
|
||||
-- 1. 校区信息表
|
||||
drop table if exists `xg_dorm_campus`;
|
||||
create table `xg_dorm_campus` (
|
||||
`id` bigint(20) not null comment '主键ID',
|
||||
`campus_code` varchar(50) not null comment '校区编码',
|
||||
`campus_name` varchar(100) not null comment '校区名称',
|
||||
`campus_description` varchar(500) default null comment '校区描述',
|
||||
`sort_order` int(11) default '0' comment '排序号',
|
||||
`deleted` char(1) default '0' comment '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) default '0' comment '租户编号',
|
||||
`create_by` bigint(20) default null comment '创建者',
|
||||
`create_time` datetime default null comment '创建时间',
|
||||
`update_by` bigint(20) default null comment '更新者',
|
||||
`update_time` datetime default null comment '更新时间',
|
||||
`remark` varchar(500) default null comment '备注',
|
||||
primary key (`id`),
|
||||
unique key `uk_campus_code` (`campus_code`)
|
||||
) engine=innodb default charset=utf8mb4 comment='校区信息表';
|
||||
|
||||
-- 2. 宿舍区信息表
|
||||
drop table if exists `xg_dorm_area`;
|
||||
create table `xg_dorm_area` (
|
||||
`id` bigint(20) not null comment '主键ID',
|
||||
`area_code` varchar(50) not null comment '宿舍区编码',
|
||||
`area_name` varchar(100) not null comment '宿舍区名称',
|
||||
`campus_id` bigint(20) not null comment '所属校区ID',
|
||||
`area_description` varchar(500) default null comment '宿舍区描述',
|
||||
`sort_order` int(11) default '0' comment '排序号',
|
||||
`deleted` char(1) default '0' comment '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) default '0' comment '租户编号',
|
||||
`create_by` bigint(20) default null comment '创建者',
|
||||
`create_time` datetime default null comment '创建时间',
|
||||
`update_by` bigint(20) default null comment '更新者',
|
||||
`update_time` datetime default null comment '更新时间',
|
||||
`remark` varchar(500) default null comment '备注',
|
||||
primary key (`id`),
|
||||
unique key `uk_area_code` (`area_code`),
|
||||
key `idx_campus_id` (`campus_id`)
|
||||
) engine=innodb default charset=utf8mb4 comment='宿舍区信息表';
|
||||
|
||||
-- 3. 宿舍楼信息表
|
||||
drop table if exists `xg_dorm_building`;
|
||||
create table `xg_dorm_building` (
|
||||
`id` bigint(20) not null comment '主键ID',
|
||||
`building_code` varchar(50) not null comment '宿舍楼编码',
|
||||
`building_name` varchar(100) not null comment '宿舍楼名称',
|
||||
`area_id` bigint(20) not null comment '所属宿舍区ID',
|
||||
`campus_id` bigint(20) not null comment '所属校区ID',
|
||||
`building_type` char(1) default '1' comment '宿舍楼类型(1男生楼 2女生楼 3混合楼)',
|
||||
`building_description` varchar(500) default null comment '宿舍楼描述',
|
||||
`sort_order` int(11) default '0' comment '排序号',
|
||||
`deleted` char(1) default '0' comment '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) default '0' comment '租户编号',
|
||||
`create_by` bigint(20) default null comment '创建者',
|
||||
`create_time` datetime default null comment '创建时间',
|
||||
`update_by` bigint(20) default null comment '更新者',
|
||||
`update_time` datetime default null comment '更新时间',
|
||||
`remark` varchar(500) default null comment '备注',
|
||||
primary key (`id`),
|
||||
unique key `uk_building_code` (`building_code`),
|
||||
key `idx_area_id` (`area_id`),
|
||||
key `idx_campus_id` (`campus_id`)
|
||||
) engine=innodb default charset=utf8mb4 comment='宿舍楼信息表';
|
||||
|
||||
-- 4. 宿舍房间信息表
|
||||
drop table if exists `xg_dorm_room`;
|
||||
create table `xg_dorm_room` (
|
||||
`id` bigint(20) not null comment '主键ID',
|
||||
`room_code` varchar(50) not null comment '房间编号',
|
||||
`room_name` varchar(100) not null comment '房间名称',
|
||||
`building_id` bigint(20) not null comment '所属宿舍楼ID',
|
||||
`floor_num` int(11) not null comment '楼层',
|
||||
`room_type` char(1) default '1' comment '房间类型(1学生宿舍 3教师宿舍)',
|
||||
`actual_beds` int(11) default 4 comment '实际床位数',
|
||||
`room_area` decimal(10,2) default null comment '房间面积(平方米)',
|
||||
`room_status` char(1) default '0' comment '房间状态(0可用 1维修中 2已报废)',
|
||||
`deleted` char(1) default '0' comment '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) default '0' comment '租户编号',
|
||||
`create_by` bigint(20) default null comment '创建者',
|
||||
`create_time` datetime default null comment '创建时间',
|
||||
`update_by` bigint(20) default null comment '更新者',
|
||||
`update_time` datetime default null comment '更新时间',
|
||||
`remark` varchar(500) default null comment '备注',
|
||||
primary key (`id`),
|
||||
unique key `uk_room_code` (`room_code`),
|
||||
key `idx_building_id` (`building_id`),
|
||||
key `idx_floor_num` (`floor_num`)
|
||||
) engine=innodb default charset=utf8mb4 comment='宿舍房间信息表';
|
||||
|
||||
-- 5. 宿舍床位信息表
|
||||
drop table if exists `xg_dorm_bed`;
|
||||
create table `xg_dorm_bed` (
|
||||
`id` bigint(20) not null comment '主键ID',
|
||||
`bed_code` varchar(50) not null comment '床位编号',
|
||||
`bed_name` varchar(100) not null comment '床位名称',
|
||||
`room_id` bigint(20) not null comment '所属房间ID',
|
||||
`bed_type` char(1) default '1' comment '床位类型(1下铺 2上铺 3中铺 4独立床)',
|
||||
`bed_status` char(1) default '0' comment '床位状态(0空闲 1已分配 2维修中)',
|
||||
`deleted` char(1) default '0' comment '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) default '0' comment '租户编号',
|
||||
`create_by` bigint(20) default null comment '创建者',
|
||||
`create_time` datetime default null comment '创建时间',
|
||||
`update_by` bigint(20) default null comment '更新者',
|
||||
`update_time` datetime default null comment '更新时间',
|
||||
`remark` varchar(500) default null comment '备注',
|
||||
primary key (`id`),
|
||||
unique key `uk_bed_code` (`bed_code`),
|
||||
key `idx_room_id` (`room_id`)
|
||||
) engine=innodb default charset=utf8mb4 comment='宿舍床位信息表';
|
||||
|
||||
-- 6. 床位学生分配关系表
|
||||
drop table if exists `xg_dorm_bed_student`;
|
||||
create table `xg_dorm_bed_student` (
|
||||
`id` bigint(20) not null comment '主键ID',
|
||||
`college_id` bigint(20) not null comment '分配学院ID',
|
||||
`student_id` bigint(20) not null comment '分配学生ID',
|
||||
`bed_id` bigint(20) not null comment '床位ID',
|
||||
`room_id` bigint(20) not null comment '房间ID',
|
||||
`building_id` bigint(20) not null comment '宿舍楼ID',
|
||||
`area_id` bigint(20) not null comment '宿舍区ID',
|
||||
`campus_id` bigint(20) not null comment '校区ID',
|
||||
`status` char(1) default '0' comment '状态(0正常 1已退宿)',
|
||||
`assign_time` datetime not null comment '分配时间',
|
||||
`checkout_time` datetime default null comment '退宿时间',
|
||||
`deleted` char(1) default '0' comment '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) default '0' comment '租户编号',
|
||||
`create_by` bigint(20) default null comment '创建者',
|
||||
`create_time` datetime default null comment '创建时间',
|
||||
`update_by` bigint(20) default null comment '更新者',
|
||||
`update_time` datetime default null comment '更新时间',
|
||||
`remark` varchar(500) default null comment '备注',
|
||||
primary key (`id`),
|
||||
unique key `uk_student_bed` (`student_id`, `bed_id`),
|
||||
key `idx_college_id` (`college_id`),
|
||||
key `idx_student_id` (`student_id`),
|
||||
key `idx_bed_id` (`bed_id`),
|
||||
key `idx_room_id` (`room_id`),
|
||||
key `idx_building_id` (`building_id`),
|
||||
key `idx_area_id` (`area_id`),
|
||||
key `idx_campus_id` (`campus_id`),
|
||||
key `idx_assign_time` (`assign_time`)
|
||||
) engine=innodb default charset=utf8mb4 comment='床位学生分配关系表';
|
||||
|
||||
-- 7. 宿舍管理员信息表
|
||||
drop table if exists `xg_dorm_manager`;
|
||||
create table `xg_dorm_manager` (
|
||||
`id` bigint(20) not null comment '主键ID',
|
||||
`manager_name` varchar(100) not null comment '管理员姓名',
|
||||
`manager_type` char(1) not null comment '管理员类型(1全校管理员 2校区管理员 3宿舍区管理员 4宿舍楼管理员)',
|
||||
`manager_level` int(11) default 1 comment '管理级别(1-5,1为最高)',
|
||||
`user_id` bigint(20) default null comment '关联用户ID',
|
||||
`phone` varchar(20) default null comment '联系电话',
|
||||
`gender` char(1) default '0' comment '性别(0男 1女 2未知)',
|
||||
`status` char(1) default '0' comment '状态(0正常 1停用)',
|
||||
`deleted` char(1) default '0' comment '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) default '0' comment '租户编号',
|
||||
`create_by` bigint(20) default null comment '创建者',
|
||||
`create_time` datetime default null comment '创建时间',
|
||||
`update_by` bigint(20) default null comment '更新者',
|
||||
`update_time` datetime default null comment '更新时间',
|
||||
`remark` varchar(500) default null comment '备注',
|
||||
primary key (`id`),
|
||||
key `idx_user_id` (`user_id`),
|
||||
key `idx_manager_type` (`manager_type`)
|
||||
) engine=innodb default charset=utf8mb4 comment='宿舍管理员信息表';
|
||||
|
||||
-- 8. 管理员授权关系表
|
||||
drop table if exists `xg_dorm_manager_source`;
|
||||
create table `xg_dorm_manager_source` (
|
||||
`id` bigint(20) not null comment '主键ID',
|
||||
`manager_id` bigint(20) not null comment '管理员ID',
|
||||
`permission_type` char(1) default '1' comment '权限类型(1查看 2编辑 3完全管理)',
|
||||
`auth_type` char(1) not null comment '授权类型(1全校级 2校区级 3宿舍区级 4楼栋级)',
|
||||
`auth_source` bigint(20) default null comment '授权来源ID(对应校区ID或宿舍区ID或楼栋ID)',
|
||||
`status` char(1) default '0' comment '状态(0有效 1已撤销)',
|
||||
`deleted` char(1) default '0' comment '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) default '0' comment '租户编号',
|
||||
`create_by` bigint(20) default null comment '创建者',
|
||||
`create_time` datetime default null comment '创建时间',
|
||||
`update_by` bigint(20) default null comment '更新者',
|
||||
`update_time` datetime default null comment '更新时间',
|
||||
`remark` varchar(500) default null comment '备注',
|
||||
primary key (`id`),
|
||||
key `idx_manager_id` (`manager_id`),
|
||||
key `idx_auth_source` (`auth_source`)
|
||||
) engine=innodb default charset=utf8mb4 comment='管理员授权关系表';
|
||||
|
||||
-- 9. 管理员宿舍楼权限关系表
|
||||
drop table if exists `xg_dorm_manager_building`;
|
||||
create table `xg_dorm_manager_building` (
|
||||
`id` bigint(20) not null comment '主键ID',
|
||||
`manager_id` bigint(20) not null comment '管理员ID',
|
||||
`building_id` bigint(20) not null comment '宿舍楼ID',
|
||||
`status` char(1) default '0' comment '状态(0有效 1已撤销)',
|
||||
`deleted` char(1) default '0' comment '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) default '0' comment '租户编号',
|
||||
`create_by` bigint(20) default null comment '创建者',
|
||||
`create_time` datetime default null comment '创建时间',
|
||||
`update_by` bigint(20) default null comment '更新者',
|
||||
`update_time` datetime default null comment '更新时间',
|
||||
`remark` varchar(500) default null comment '备注',
|
||||
primary key (`id`),
|
||||
unique key `uk_manager_building` (`manager_id`, `building_id`),
|
||||
key `idx_manager_id` (`manager_id`),
|
||||
key `idx_building_id` (`building_id`)
|
||||
) engine=innodb default charset=utf8mb4 comment='管理员宿舍楼权限关系表';
|
||||
|
||||
-- 10. 二级学院宿舍管理员信息表
|
||||
drop table if exists `xg_dorm_college_manager`;
|
||||
create table `xg_dorm_college_manager` (
|
||||
`id` bigint(20) not null comment '主键ID',
|
||||
`manager_name` varchar(100) not null comment '管理员姓名',
|
||||
`college_id` bigint(20) not null comment '所属学院ID',
|
||||
`user_id` bigint(20) default null comment '关联用户ID',
|
||||
`phone` varchar(20) default null comment '联系电话',
|
||||
`gender` char(1) default '0' comment '性别(0男 1女 2未知)',
|
||||
`status` char(1) default '0' comment '状态(0正常 1停用)',
|
||||
`deleted` char(1) default '0' comment '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) default '0' comment '租户编号',
|
||||
`create_by` bigint(20) default null comment '创建者',
|
||||
`create_time` datetime default null comment '创建时间',
|
||||
`update_by` bigint(20) default null comment '更新者',
|
||||
`update_time` datetime default null comment '更新时间',
|
||||
`remark` varchar(500) default null comment '备注',
|
||||
primary key (`id`),
|
||||
key `idx_college_id` (`college_id`),
|
||||
key `idx_user_id` (`user_id`)
|
||||
) engine=innodb default charset=utf8mb4 comment='二级学院宿舍管理员信息表';
|
||||
|
||||
-- 11. 二级学院床位绑定关系表
|
||||
drop table if exists `xg_dorm_college_bed`;
|
||||
create table `xg_dorm_college_bed` (
|
||||
`id` bigint(20) not null comment '主键ID',
|
||||
`college_id` bigint(20) not null comment '学院ID',
|
||||
`bed_id` bigint(20) not null comment '床位ID',
|
||||
`building_id` bigint(20) not null comment '宿舍楼ID',
|
||||
`room_id` bigint(20) not null comment '房间ID',
|
||||
`status` char(1) default '0' comment '状态(0正常 1已解除)',
|
||||
`assign_time` datetime default null comment '分配时间',
|
||||
`release_time` datetime default null comment '到期解除时间',
|
||||
`deleted` char(1) default '0' comment '删除标志(0代表存在 1代表删除)',
|
||||
`tenant_id` bigint(20) default '0' comment '租户编号',
|
||||
`create_by` bigint(20) default null comment '创建者',
|
||||
`create_time` datetime default null comment '创建时间',
|
||||
`update_by` bigint(20) default null comment '更新者',
|
||||
`update_time` datetime default null comment '更新时间',
|
||||
`remark` varchar(500) default null comment '备注',
|
||||
primary key (`id`),
|
||||
unique key `uk_college_bed` (`college_id`, `bed_id`),
|
||||
key `idx_college_id` (`college_id`),
|
||||
key `idx_bed_id` (`bed_id`),
|
||||
key `idx_building_id` (`building_id`),
|
||||
key `idx_room_id` (`room_id`)
|
||||
) engine=innodb default charset=utf8mb4 comment='二级学院床位绑定关系表';
|
||||
Reference in new issue
Block a user