Explorar el Código

提交宿管需求的sql

zlwu hace 1 año
padre
commit
49899ca537

+ 149 - 307
docs/业务模块/学工管理-宿舍管理/数据库设计/宿舍管理数据库设计.md

@@ -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,206 +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`),
-  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='二级学院信息表';
+  UNIQUE KEY `uk_area_code` (`area_code`),
+  KEY `idx_campus_id` (`campus_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='宿舍区信息表';
 ```
 
-### 2. 管理人员表
-
-#### 2.1 宿舍管理人员基本信息表 (dorm_manager)
-**表说明**:存储宿舍管理人员的基本信息
+#### 1.5 宿舍房间表 (dorm_room)
+**表说明**:存储宿舍房间基本信息,关联宿舍楼,包含楼层属性
 
 ```sql
-CREATE TABLE `dorm_manager` (
+DROP TABLE IF EXISTS `xg_dorm_room`;
+CREATE TABLE `xg_dorm_room` (
   `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 '排序号',
-  `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
+  `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 '租户编号',
+  `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='宿舍管理人员基本信息表';
+  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='宿舍房间信息表';
 ```
 
-#### 2.2 管理人员职位表 (dorm_manager_position)
-**表说明**:存储管理人员的职位信息
+#### 1.6 宿舍床位表 (dorm_bed)
+**表说明**:存储宿舍床位基本信息,关联宿舍房间
 
 ```sql
-CREATE TABLE `dorm_manager_position` (
+DROP TABLE IF EXISTS `xg_dorm_bed`;
+CREATE TABLE `xg_dorm_bed` (
   `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停用)',
+  `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 '租户编号',
+  `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='管理人员职位表';
-```
+  UNIQUE KEY `uk_bed_code` (`bed_code`),
+  KEY `idx_room_id` (`room_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='宿舍床位信息表';
 
-#### 2.3 管理人员分配表 (dorm_manager_assignment)
-**表说明**:存储管理人员的分配信息,支持多维度分配
-
-```sql
-CREATE TABLE `dorm_manager_assignment` (
+DROP TABLE IF EXISTS `xg_dorm_bed_student`;
+CREATE TABLE `xg_dorm_bed_student` (
   `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停用)',
+  `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 '租户编号',
+  `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_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='管理人员分配表';
+  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='床位学生分配关系表';
 ```
 
-### 3. 权限管理表
+### 2. 宿舍管理人员相关表
 
-#### 3.1 权限层级表 (dorm_permission_level)
-**表说明**:定义权限层级信息
+#### 2.1 宿舍管理员表 (dorm_manager)
+**表说明**:存储全校、校区、宿舍区、宿舍楼管理员的基本信息
 
 ```sql
-CREATE TABLE `dorm_permission_level` (
+DROP TABLE IF EXISTS `xg_dorm_manager`;
+CREATE TABLE `xg_dorm_manager` (
   `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_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_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_user_id` (`user_id`),
+  KEY `idx_manager_type` (`manager_type`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='宿舍管理员信息表';
 
-#### 3.2 管理人员权限表 (dorm_manager_permission)
-**表说明**:存储管理人员的具体权限配置
-
-```sql
-CREATE TABLE `dorm_manager_permission` (
+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_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停用)',
+  `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 '租户编号',
+  `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 '更新者',
@@ -355,134 +245,95 @@ CREATE TABLE `dorm_manager_permission` (
   `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='管理人员权限表';
+  KEY `idx_auth_source` (`auth_source`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='管理员授权关系表';
+
 ```
 
-#### 3.3 权限变更日志表 (dorm_permission_log)
-**表说明**:记录权限变更的详细日志
+#### 2.2 管理员宿舍楼权限关系表 (dorm_manager_building)
+**表说明**:存储管理员与宿舍楼的权限绑定关系
 
 ```sql
-CREATE TABLE `dorm_permission_log` (
+
+
+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',
-  `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 '错误信息',
+  `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 '租户编号',
+  `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_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='权限变更日志表';
+  KEY `idx_building_id` (`building_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='管理员宿舍楼权限关系表';
 ```
 
-### 4. 管理效果评估表
-
-#### 4.1 管理数据统计表 (dorm_management_stats)
-**表说明**:存储管理效果的统计数据
+#### 2.3 二级学院宿舍管理员表 (dorm_college_manager)
+**表说明**:存储二级学院宿舍管理员的基本信息
 
 ```sql
-CREATE TABLE `dorm_management_stats` (
+DROP TABLE IF EXISTS `xg_dorm_college_manager`;
+CREATE TABLE `xg_dorm_college_manager` (
   `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 '详细统计数据',
+  `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_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='管理数据统计表';
+  KEY `idx_college_id` (`college_id`),
+  KEY `idx_user_id` (`user_id`),
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='二级学院宿舍管理员信息表';
 ```
 
-#### 4.2 权限使用记录表 (dorm_permission_usage)
-**表说明**:记录权限使用的详细情况
+#### 2.4 二级学院床位绑定关系表 (dorm_college_bed)
+**表说明**:存储二级学院与床位的绑定关系
 
 ```sql
-CREATE TABLE `dorm_permission_usage` (
+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',
-  `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',
+  `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_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='权限使用记录表';
+  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='二级学院床位绑定关系表';
 ```
 
+
+
 ## 🔗 表关系设计
 
 ### 1. 维度关系图
@@ -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 (使用记录)
-```
 
 ## 📊 索引设计
 

+ 95 - 130
docs/设计文档/database/SQL文件说明.md

@@ -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,92 +64,52 @@ docs/设计文档/database/
 
 **主要功能**: 校园后勤服务管理,包括场地预约和满意度调查
 
-### 04. 任务调度模块 (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)
+### 学工管理-学生信息管理模块 (学工管理-学生信息管理/)
 
-**业务域**: 系统核心管理功能  
-**包含表**: 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` - 社会化关系表
+### 其他模块 (仍保留在根目录)
 
-**主要功能**: 系统用户管理、权限控制、配置管理、日志记录等核心功能
+#### 代码生成模块 (02-code-generator-module.sql)
 
-### 06. 测试模块 (06-test-module.sql)
+**业务域**: 代码生成器相关功能  
+**包含表**: 2 张表
 
-**业务域**: 测试和演示相关功能  
-**包含表**: 1 张表
+-   `gen_table` - 代码生成业务表
+-   `gen_table_column` - 代码生成业务字段表
 
--   `test_tree` - 测试树表
+**主要功能**: 支持基于数据库表结构自动生成代码
 
-**主要功能**: 系统功能测试和演示,包含树形结构数据
+#### 任务调度模块 (04-job-scheduler-module.sql)
 
-### 08. 学生信息管理模块 (已删除)
+**业务域**: SnailJob 任务调度相关功能  
+**包含表**: 12 张表
 
-**业务域**: 学工管理-学生信息管理相关功能  
-**状态**: 已于2025-01-09完全删除
+**主要功能**: 分布式任务调度、重试机制、工作流编排
 
-#### 删除脚本
+#### 系统管理模块 (05-system-management-module.sql)
 
--   `08-student-management-actual-rollback.sql` - 学工管理模块实际删除脚本(已执行)
+**业务域**: 系统核心管理功能  
+**包含表**: 21 张表
 
-**删除内容**: 
-- 6张数据库表(学生信息、银行卡、班级信息、审核记录等)
-- 16个菜单权限项
-- 7个字典类型
-- 27个字典数据项
+**主要功能**: 系统用户管理、权限控制、配置管理、日志记录等核心功能
 
-**删除状态**: ✅ 已完成并验证通过
+#### 测试模块 (06-test-module.sql)
 
-**删除原因**: 用户要求删除已创建的学工学生信息相关功能
+**业务域**: 测试和演示相关功能  
+**包含表**: 1 张表
 
-**恢复说明**: 相关文档和脚本已在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;
 
-1. **必须模块**: 01-工作流模块, 05-系统管理模块
-2. **核心业务模块**: 03-后勤管理模块
-3. **按需模块**: 其他模块根据具体业务需求选择性部署
-4. **测试模块**: 仅在开发和测试环境中部署
+-- 后勤管理模块
+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;
+-- 更多宿舍管理相关表...
+```
 
-| 模块         | 表数量 | 主要功能     | 依赖关系         |
-| ------------ | ------ | ------------ | ---------------- |
-| 工作流模块   | 8      | 流程管理     | 依赖系统管理模块 |
-| 代码生成模块 | 2      | 代码生成     | 无特殊依赖       |
-| 后勤管理模块 | 10     | 后勤服务     | 依赖系统管理模块 |
-| 任务调度模块 | 12     | 任务调度     | 独立模块         |
-| 系统管理模块 | 21     | 核心系统     | 核心基础模块     |
-| 测试模块     | 1      | 测试演示     | 依赖系统管理模块 |
-| ~~学工管理模块~~ | ~~6~~ | ~~学工管理~~ | ~~已删除~~ |
-| **总计**     | **54** | **完整系统** | **完整依赖链**   |
+### 开发环境部署建议
+
+1. **必须模块**: 系统管理模块, 工作流模块
+2. **核心业务模块**: 后勤管理模块
+3. **按需模块**: 学工管理相关模块和其他模块根据具体业务需求选择性部署
+4. **测试模块**: 仅在开发和测试环境中部署
 
 ---
 
 ## ⚠️ 注意事项
 
-### 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 - 学工管理模块完全删除
 
 **变更内容**: 

+ 260 - 0
docs/设计文档/database/学工管理-宿舍管理/宿舍管理数据库建表脚本.sql

@@ -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='二级学院床位绑定关系表';