From ccffeb3eff09d5489ee25ad87f02e35f26967527 Mon Sep 17 00:00:00 2001 From: zlwu <704541015@qq.com> Date: Sat, 19 Jul 2025 10:18:27 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4docs=E4=B8=AD=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E7=9B=AE=E5=BD=95=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/业务模块/学工管理-宿舍管理/README.md | 150 +++++ .../数据库设计/宿舍管理数据库设计.md | 574 ++++++++++++++++++ .../{ => 后勤管理}/03-logistics-module.sql | 0 .../{ => 后勤管理}/04-hq-sat-survey-job.sql | 0 .../04-venue-reservation-data.sql | 0 .../04-venue-reservation-menu-fix.sql | 0 .../04-venue-reservation-menu.sql | 0 .../04-venue-reservation-module.sql | 0 .../07-property-maintenance-module.sql | 0 .../08-property-maintenance-table-rename.sql | 0 .../{ => 后勤管理}/hall-audit-permission.sql | 0 .../patch_2025-07-11_hq_hall_info_deleted.sql | 0 ..._2025-07-11_hq_pm_repair_order_deleted.sql | 0 .../venue-menu-component-fix-v2.sql | 0 .../venue-menu-component-fix.sql | 0 .../{ => 后勤管理}/venue-menu-icon-fix.sql | 0 .../venue-menu-structure-update.sql | 0 .../01-batch-table-enhancement.sql | 0 .../02-batch-student-relation.sql | 0 .../02-code-generator-module.sql | 0 .../03-batch-log-table.sql | 0 .../04-job-scheduler-module.sql | 0 .../04-student-info-enhancement.sql | 0 .../05-batch-views-and-procedures.sql | 0 .../05-system-management-module.sql | 0 .../06-data-migration-phase1.sql | 0 .../06-test-module.sql | 0 .../07-permission-data-migration.sql | 0 .../08-student-management-actual-rollback.sql | 0 .../09-student-management-README.md | 0 .../09-student-management-dict.sql | 0 .../09-student-management-menu.sql | 0 .../09-student-management-module.sql | 0 .../10-student-management-table-fix.sql | 0 .../11-class-cadre-management.sql | 0 .../11-student-info-field-name-fix.sql | 0 .../12-add-missing-religion-field.sql | 0 .../12-class-cadre-management-menu.sql | 0 .../12-student-information-management.sql | 0 .../13-comprehensive-field-check.sql | 0 .../14-fix-poor-family-field-mismatch.sql | 0 .../15-fix-xml-mapping-fields.sql | 0 .../16-final-field-mapping-verification.sql | 0 .../17-add-student-dict-data.sql | 0 .../18-student-info-fix-complete.sql | 0 .../19-college-major-tables.sql | 0 .../19-fix-missing-columns-compatible.sql | 0 .../19-fix-missing-columns.sql | 0 .../20-college-major-dict-solution.sql | 0 .../21-create-college-major-simple.sql | 0 .../create-collection-batch-tables.sql | 0 .../execute-data-migration.sql | 0 .../execute-phase1.sql | 0 .../init-statistics-analysis-data.sql | 0 .../menu-fix-duplicate.sql | 0 .../verify-migration.sql | 0 .../xg-collection-batch-redesign.sql | 0 .../xg-student-management-README.md | 0 .../xg-student-management-complete.sql | 0 .../xg-student-management-core-test-data.sql | 0 .../xg-student-management-dict-fixed.sql | 0 .../xg-student-management-dict.sql | 0 .../xg-student-management-final-test-data.sql | 0 .../xg-student-management-menu.sql | 0 ...xg-student-management-simple-test-data.sql | 0 .../xg-student-management-test-data-fixed.sql | 0 .../xg-student-management-test-data.sql | 0 .../学生信息管理数据模型补充分析.md | 0 .../{ => 工作流}/01-workflow-module.sql | 0 docs/需求文档/学工管理宿舍管理需求/README.md | 170 ++++++ .../宿舍管理人员分配需求分析.md | 352 +++++++++++ target/classes/META-INF/mps/autoMapper | 20 - target/classes/META-INF/mps/autoMappers | 1 - target/classes/META-INF/mps/mappers | 6 - 74 files changed, 1246 insertions(+), 27 deletions(-) create mode 100644 docs/业务模块/学工管理-宿舍管理/README.md create mode 100644 docs/业务模块/学工管理-宿舍管理/数据库设计/宿舍管理数据库设计.md rename docs/设计文档/database/{ => 后勤管理}/03-logistics-module.sql (100%) rename docs/设计文档/database/{ => 后勤管理}/04-hq-sat-survey-job.sql (100%) rename docs/设计文档/database/{ => 后勤管理}/04-venue-reservation-data.sql (100%) rename docs/设计文档/database/{ => 后勤管理}/04-venue-reservation-menu-fix.sql (100%) rename docs/设计文档/database/{ => 后勤管理}/04-venue-reservation-menu.sql (100%) rename docs/设计文档/database/{ => 后勤管理}/04-venue-reservation-module.sql (100%) rename docs/设计文档/database/{ => 后勤管理}/07-property-maintenance-module.sql (100%) rename docs/设计文档/database/{ => 后勤管理}/08-property-maintenance-table-rename.sql (100%) rename docs/设计文档/database/{ => 后勤管理}/hall-audit-permission.sql (100%) rename docs/设计文档/database/{ => 后勤管理}/patch_2025-07-11_hq_hall_info_deleted.sql (100%) rename docs/设计文档/database/{ => 后勤管理}/patch_2025-07-11_hq_pm_repair_order_deleted.sql (100%) rename docs/设计文档/database/{ => 后勤管理}/venue-menu-component-fix-v2.sql (100%) rename docs/设计文档/database/{ => 后勤管理}/venue-menu-component-fix.sql (100%) rename docs/设计文档/database/{ => 后勤管理}/venue-menu-icon-fix.sql (100%) rename docs/设计文档/database/{ => 后勤管理}/venue-menu-structure-update.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/01-batch-table-enhancement.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/02-batch-student-relation.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/02-code-generator-module.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/03-batch-log-table.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/04-job-scheduler-module.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/04-student-info-enhancement.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/05-batch-views-and-procedures.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/05-system-management-module.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/06-data-migration-phase1.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/06-test-module.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/07-permission-data-migration.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/08-student-management-actual-rollback.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/09-student-management-README.md (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/09-student-management-dict.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/09-student-management-menu.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/09-student-management-module.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/10-student-management-table-fix.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/11-class-cadre-management.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/11-student-info-field-name-fix.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/12-add-missing-religion-field.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/12-class-cadre-management-menu.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/12-student-information-management.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/13-comprehensive-field-check.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/14-fix-poor-family-field-mismatch.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/15-fix-xml-mapping-fields.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/16-final-field-mapping-verification.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/17-add-student-dict-data.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/18-student-info-fix-complete.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/19-college-major-tables.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/19-fix-missing-columns-compatible.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/19-fix-missing-columns.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/20-college-major-dict-solution.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/21-create-college-major-simple.sql (100%) rename {script/sql => docs/设计文档/database/学工管理-学生信息管理}/create-collection-batch-tables.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/execute-data-migration.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/execute-phase1.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/init-statistics-analysis-data.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/menu-fix-duplicate.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/verify-migration.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/xg-collection-batch-redesign.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/xg-student-management-README.md (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/xg-student-management-complete.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/xg-student-management-core-test-data.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/xg-student-management-dict-fixed.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/xg-student-management-dict.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/xg-student-management-final-test-data.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/xg-student-management-menu.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/xg-student-management-simple-test-data.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/xg-student-management-test-data-fixed.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/xg-student-management-test-data.sql (100%) rename docs/设计文档/database/{ => 学工管理-学生信息管理}/学生信息管理数据模型补充分析.md (100%) rename docs/设计文档/database/{ => 工作流}/01-workflow-module.sql (100%) create mode 100644 docs/需求文档/学工管理宿舍管理需求/README.md create mode 100644 docs/需求文档/学工管理宿舍管理需求/宿舍管理人员分配需求分析.md delete mode 100644 target/classes/META-INF/mps/autoMapper delete mode 100644 target/classes/META-INF/mps/autoMappers delete mode 100644 target/classes/META-INF/mps/mappers diff --git a/docs/业务模块/学工管理-宿舍管理/README.md b/docs/业务模块/学工管理-宿舍管理/README.md new file mode 100644 index 00000000..c0f95ddb --- /dev/null +++ b/docs/业务模块/学工管理-宿舍管理/README.md @@ -0,0 +1,150 @@ +# 学工管理-宿舍管理模块 + +## 📁 模块概述 + +本模块主要包含学工管理系统中宿舍管理相关的数据库设计和业务实现,重点关注宿舍管理人员的分配与设置功能,支持多维度管理和多级向下授权。 + +## 📋 模块结构 + +``` +学工管理-宿舍管理/ +├── README.md # 模块说明文档 +├── 数据库设计/ +│ ├── 宿舍管理数据库设计.md # 数据库设计文档 +│ ├── 宿舍管理数据库初始化.sql # 数据库初始化脚本 +│ └── 宿舍管理数据字典.sql # 数据字典脚本 +└── 技术设计/ + └── 宿舍管理技术架构设计.md # 技术架构设计文档 +``` + +## 🗄️ 数据库设计 + +### 核心数据表 + +#### 1. 宿舍管理维度表 +- **dorm_management_dimension** - 宿舍管理维度定义表 +- **dorm_campus** - 校区信息表 +- **dorm_area** - 宿舍区信息表 +- **dorm_building** - 宿舍楼信息表 +- **dorm_college** - 二级学院信息表 + +#### 2. 管理人员表 +- **dorm_manager** - 宿舍管理人员基本信息表 +- **dorm_manager_position** - 管理人员职位表 +- **dorm_manager_assignment** - 管理人员分配表 + +#### 3. 权限管理表 +- **dorm_permission_level** - 权限层级表 +- **dorm_manager_permission** - 管理人员权限表 +- **dorm_permission_log** - 权限变更日志表 + +#### 4. 管理效果评估表 +- **dorm_management_stats** - 管理数据统计表 +- **dorm_permission_usage** - 权限使用记录表 + +## 🎯 核心功能 + +### 1. 多维度管理人员分配 +- 支持全校、校区、宿舍区、宿舍楼、二级学院5个维度的管理人员配置 +- 支持多维度组合配置 +- 支持管理范围的动态调整 + +### 2. 多级向下授权功能 +- 建立5级权限管理体系 +- 支持权限的逐级向下传递 +- 支持权限继承和覆盖机制 + +### 3. 权限配置管理 +- 功能权限和数据权限的精细化配置 +- 权限审批流程管理 +- 权限使用情况监控 + +### 4. 管理效果评估 +- 管理数据统计和分析 +- 权限使用效果评估 +- 管理效率优化建议 + +## 🔧 技术特点 + +### 1. 数据库设计特点 +- **分层权限设计**:支持5级权限层级的数据权限控制 +- **多维度关联**:支持按不同维度进行数据关联和查询 +- **审计日志**:完整的权限变更和操作日志记录 +- **数据安全**:敏感信息加密存储 + +### 2. 性能优化 +- **索引优化**:针对多维度查询的复合索引设计 +- **分区策略**:大数据量的分区存储策略 +- **缓存机制**:权限验证的缓存优化 + +### 3. 扩展性设计 +- **维度扩展**:支持新增管理维度的扩展 +- **权限扩展**:支持新增权限类型的扩展 +- **功能扩展**:支持新增管理功能的扩展 + +## 📊 数据关系 + +### 1. 维度关系 +``` +校区 (campus) +├── 宿舍区 (area) +│ └── 宿舍楼 (building) +└── 二级学院 (college) +``` + +### 2. 权限层级关系 +``` +学生处宿舍管理负责人 (Level 1) +├── 校区宿舍管理负责人 (Level 2) +│ ├── 宿舍区主管 (Level 3) +│ │ └── 宿舍楼管理员 (Level 4) +│ └── 二级学院宿舍管理负责人 (Level 5) +``` + +### 3. 管理人员分配关系 +``` +管理人员 (manager) +├── 职位信息 (position) +├── 分配信息 (assignment) +├── 权限信息 (permission) +└── 使用记录 (usage) +``` + +## 🔗 相关文档 + +### 需求文档 +- [宿舍管理人员分配需求分析](../../需求文档/学工管理宿舍管理需求/宿舍管理人员分配需求分析.md) + +### 项目规范 +- [后端开发规范](../../.cursor/cursorrules-backend.md) +- [数据库设计规范](../../设计文档/database/mysql-database-standard.md) + +### 相关模块 +- [学生信息管理](../../业务模块/学工管理-学生信息管理/) +- [物业报修管理](../../业务模块/property-maintenance/) + +## 📝 开发说明 + +### 1. 开发顺序 +1. **数据库设计**:完成数据库表结构设计 +2. **基础功能**:实现多维度管理人员分配 +3. **权限功能**:实现多级向下授权功能 +4. **评估功能**:实现管理效果评估功能 + +### 2. 测试重点 +- 多维度数据权限控制测试 +- 权限继承和覆盖机制测试 +- 大量数据并发访问测试 +- 权限变更审计日志测试 + +### 3. 部署要求 +- MySQL 8.0+ 数据库环境 +- 支持事务和锁机制 +- 支持存储过程和触发器 +- 支持数据备份和恢复 + +--- + +**📞 联系方式**:如有问题或建议,请联系开发团队 +**📅 最后更新**:2025-01-14 +**🔄 模块状态**:设计阶段 \ No newline at end of file diff --git a/docs/业务模块/学工管理-宿舍管理/数据库设计/宿舍管理数据库设计.md b/docs/业务模块/学工管理-宿舍管理/数据库设计/宿舍管理数据库设计.md new file mode 100644 index 00000000..0b51e1cd --- /dev/null +++ b/docs/业务模块/学工管理-宿舍管理/数据库设计/宿舍管理数据库设计.md @@ -0,0 +1,574 @@ +# 宿舍管理数据库设计文档 + +## 📋 文档信息 + +| 项目 | 信息 | +|------|------| +| **项目名称** | 校园管理系统 - 宿舍管理模块 | +| **数据库版本** | MySQL 8.0+ | +| **文档版本** | V1.0.0 | +| **创建时间** | 2025-01-14 | +| **创建人员** | 数据库设计团队 | +| **审核状态** | 待审核 | + +## 🎯 设计目标 + +### 核心目标 +- 支持多维度宿舍管理人员分配(全校、校区、宿舍区、宿舍楼、二级学院) +- 实现多级向下授权功能(5级权限体系) +- 支持权限的动态配置和调整 +- 提供完整的管理效果评估功能 +- 确保数据安全和审计追踪 + +### 设计原则 +- **分层设计**:按权限层级进行数据分层 +- **维度扩展**:支持管理维度的灵活扩展 +- **权限控制**:严格的数据权限控制机制 +- **审计追踪**:完整的操作日志和变更记录 +- **性能优化**:针对多维度查询的性能优化 + +## 🗄️ 数据库表设计 + +### 1. 宿舍管理维度表 + +#### 1.1 宿舍管理维度定义表 (dorm_management_dimension) +**表说明**:定义宿舍管理的各个维度,支持维度的灵活扩展 + +```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` ( + `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停用)', + `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`), + KEY `idx_campus_status` (`status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='校区信息表'; +``` + +#### 1.3 宿舍区信息表 (dorm_area) +**表说明**:存储宿舍区基本信息,关联校区 + +```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` ( + `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停用)', + `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`), + 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) +**表说明**:存储二级学院基本信息 + +```sql +CREATE TABLE `dorm_college` ( + `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停用)', + `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_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='二级学院信息表'; +``` + +### 2. 管理人员表 + +#### 2.1 宿舍管理人员基本信息表 (dorm_manager) +**表说明**:存储宿舍管理人员的基本信息 + +```sql +CREATE TABLE `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 '排序号', + `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_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='宿舍管理人员基本信息表'; +``` + +#### 2.2 管理人员职位表 (dorm_manager_position) +**表说明**:存储管理人员的职位信息 + +```sql +CREATE TABLE `dorm_manager_position` ( + `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停用)', + `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 '租户编号', + `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='管理人员分配表'; +``` + +### 3. 权限管理表 + +#### 3.1 权限层级表 (dorm_permission_level) +**表说明**:定义权限层级信息 + +```sql +CREATE TABLE `dorm_permission_level` ( + `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 '排序号', + `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_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='权限层级表'; +``` + +#### 3.2 管理人员权限表 (dorm_manager_permission) +**表说明**:存储管理人员的具体权限配置 + +```sql +CREATE TABLE `dorm_manager_permission` ( + `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停用)', + `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_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='管理人员权限表'; +``` + +#### 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='权限使用记录表'; +``` + +## 🔗 表关系设计 + +### 1. 维度关系图 +``` +dorm_campus (校区) +├── dorm_area (宿舍区) +│ └── dorm_building (宿舍楼) +└── dorm_college (二级学院) +``` + +### 2. 权限层级关系图 +``` +dorm_permission_level (权限层级) +├── Level 1: 学生处宿舍管理负责人 +├── Level 2: 校区宿舍管理负责人 +├── Level 3: 宿舍区主管 +├── Level 4: 宿舍楼管理员 +└── Level 5: 二级学院宿舍管理负责人 +``` + +### 3. 管理人员关系图 +``` +dorm_manager (管理人员) +├── dorm_manager_position (职位信息) +├── dorm_manager_assignment (分配信息) +├── dorm_manager_permission (权限信息) +├── dorm_management_stats (统计信息) +└── dorm_permission_usage (使用记录) +``` + +## 📊 索引设计 + +### 1. 主键索引 +- 所有表都使用 `bigint(20)` 类型的自增主键 +- 主键命名统一为 `id` + +### 2. 唯一索引 +- 编码字段:`manager_code`, `campus_code`, `area_code`, `building_code`, `college_code` +- 身份证号:`id_card` +- 权限层级值:`level_value` + +### 3. 复合索引 +- 管理人员分配:`(manager_id, dimension_type, dimension_id)` +- 权限配置:`(manager_id, permission_level_id, dimension_type)` +- 统计数据:`(manager_id, dimension_type, dimension_id, stats_date)` + +### 4. 普通索引 +- 状态字段:`status`, `approval_status`, `permission_status` +- 时间字段:`create_time`, `update_time`, `operation_time` +- 关联字段:`campus_id`, `area_id`, `position_id` + +## 🔒 数据安全设计 + +### 1. 敏感信息加密 +- 身份证号:使用AES加密存储 +- 手机号码:部分脱敏显示 +- 邮箱地址:部分脱敏显示 + +### 2. 权限控制 +- 数据权限:基于维度的数据访问控制 +- 功能权限:基于角色的功能访问控制 +- 操作权限:基于权限层级的操作控制 + +### 3. 审计日志 +- 权限变更:完整的权限变更记录 +- 操作日志:详细的操作行为记录 +- 数据变更:重要数据的变更追踪 + +## 📈 性能优化设计 + +### 1. 分区策略 +- 按时间分区:`dorm_permission_usage` 表按月份分区 +- 按维度分区:`dorm_management_stats` 表按维度分区 + +### 2. 缓存策略 +- 权限缓存:管理人员权限信息缓存 +- 维度缓存:维度信息缓存 +- 统计缓存:统计数据缓存 + +### 3. 查询优化 +- 索引优化:针对多维度查询的复合索引 +- SQL优化:避免全表扫描的查询语句 +- 分页优化:大数据量的分页查询优化 + +## 📝 变更记录 + +| 版本 | 日期 | 变更内容 | 变更人 | +|------|------|----------|--------| +| V1.0.0 | 2025-01-14 | 初始版本创建 | 数据库设计团队 | \ No newline at end of file diff --git a/docs/设计文档/database/03-logistics-module.sql b/docs/设计文档/database/后勤管理/03-logistics-module.sql similarity index 100% rename from docs/设计文档/database/03-logistics-module.sql rename to docs/设计文档/database/后勤管理/03-logistics-module.sql diff --git a/docs/设计文档/database/04-hq-sat-survey-job.sql b/docs/设计文档/database/后勤管理/04-hq-sat-survey-job.sql similarity index 100% rename from docs/设计文档/database/04-hq-sat-survey-job.sql rename to docs/设计文档/database/后勤管理/04-hq-sat-survey-job.sql diff --git a/docs/设计文档/database/04-venue-reservation-data.sql b/docs/设计文档/database/后勤管理/04-venue-reservation-data.sql similarity index 100% rename from docs/设计文档/database/04-venue-reservation-data.sql rename to docs/设计文档/database/后勤管理/04-venue-reservation-data.sql diff --git a/docs/设计文档/database/04-venue-reservation-menu-fix.sql b/docs/设计文档/database/后勤管理/04-venue-reservation-menu-fix.sql similarity index 100% rename from docs/设计文档/database/04-venue-reservation-menu-fix.sql rename to docs/设计文档/database/后勤管理/04-venue-reservation-menu-fix.sql diff --git a/docs/设计文档/database/04-venue-reservation-menu.sql b/docs/设计文档/database/后勤管理/04-venue-reservation-menu.sql similarity index 100% rename from docs/设计文档/database/04-venue-reservation-menu.sql rename to docs/设计文档/database/后勤管理/04-venue-reservation-menu.sql diff --git a/docs/设计文档/database/04-venue-reservation-module.sql b/docs/设计文档/database/后勤管理/04-venue-reservation-module.sql similarity index 100% rename from docs/设计文档/database/04-venue-reservation-module.sql rename to docs/设计文档/database/后勤管理/04-venue-reservation-module.sql diff --git a/docs/设计文档/database/07-property-maintenance-module.sql b/docs/设计文档/database/后勤管理/07-property-maintenance-module.sql similarity index 100% rename from docs/设计文档/database/07-property-maintenance-module.sql rename to docs/设计文档/database/后勤管理/07-property-maintenance-module.sql diff --git a/docs/设计文档/database/08-property-maintenance-table-rename.sql b/docs/设计文档/database/后勤管理/08-property-maintenance-table-rename.sql similarity index 100% rename from docs/设计文档/database/08-property-maintenance-table-rename.sql rename to docs/设计文档/database/后勤管理/08-property-maintenance-table-rename.sql diff --git a/docs/设计文档/database/hall-audit-permission.sql b/docs/设计文档/database/后勤管理/hall-audit-permission.sql similarity index 100% rename from docs/设计文档/database/hall-audit-permission.sql rename to docs/设计文档/database/后勤管理/hall-audit-permission.sql diff --git a/docs/设计文档/database/patch_2025-07-11_hq_hall_info_deleted.sql b/docs/设计文档/database/后勤管理/patch_2025-07-11_hq_hall_info_deleted.sql similarity index 100% rename from docs/设计文档/database/patch_2025-07-11_hq_hall_info_deleted.sql rename to docs/设计文档/database/后勤管理/patch_2025-07-11_hq_hall_info_deleted.sql diff --git a/docs/设计文档/database/patch_2025-07-11_hq_pm_repair_order_deleted.sql b/docs/设计文档/database/后勤管理/patch_2025-07-11_hq_pm_repair_order_deleted.sql similarity index 100% rename from docs/设计文档/database/patch_2025-07-11_hq_pm_repair_order_deleted.sql rename to docs/设计文档/database/后勤管理/patch_2025-07-11_hq_pm_repair_order_deleted.sql diff --git a/docs/设计文档/database/venue-menu-component-fix-v2.sql b/docs/设计文档/database/后勤管理/venue-menu-component-fix-v2.sql similarity index 100% rename from docs/设计文档/database/venue-menu-component-fix-v2.sql rename to docs/设计文档/database/后勤管理/venue-menu-component-fix-v2.sql diff --git a/docs/设计文档/database/venue-menu-component-fix.sql b/docs/设计文档/database/后勤管理/venue-menu-component-fix.sql similarity index 100% rename from docs/设计文档/database/venue-menu-component-fix.sql rename to docs/设计文档/database/后勤管理/venue-menu-component-fix.sql diff --git a/docs/设计文档/database/venue-menu-icon-fix.sql b/docs/设计文档/database/后勤管理/venue-menu-icon-fix.sql similarity index 100% rename from docs/设计文档/database/venue-menu-icon-fix.sql rename to docs/设计文档/database/后勤管理/venue-menu-icon-fix.sql diff --git a/docs/设计文档/database/venue-menu-structure-update.sql b/docs/设计文档/database/后勤管理/venue-menu-structure-update.sql similarity index 100% rename from docs/设计文档/database/venue-menu-structure-update.sql rename to docs/设计文档/database/后勤管理/venue-menu-structure-update.sql diff --git a/docs/设计文档/database/01-batch-table-enhancement.sql b/docs/设计文档/database/学工管理-学生信息管理/01-batch-table-enhancement.sql similarity index 100% rename from docs/设计文档/database/01-batch-table-enhancement.sql rename to docs/设计文档/database/学工管理-学生信息管理/01-batch-table-enhancement.sql diff --git a/docs/设计文档/database/02-batch-student-relation.sql b/docs/设计文档/database/学工管理-学生信息管理/02-batch-student-relation.sql similarity index 100% rename from docs/设计文档/database/02-batch-student-relation.sql rename to docs/设计文档/database/学工管理-学生信息管理/02-batch-student-relation.sql diff --git a/docs/设计文档/database/02-code-generator-module.sql b/docs/设计文档/database/学工管理-学生信息管理/02-code-generator-module.sql similarity index 100% rename from docs/设计文档/database/02-code-generator-module.sql rename to docs/设计文档/database/学工管理-学生信息管理/02-code-generator-module.sql diff --git a/docs/设计文档/database/03-batch-log-table.sql b/docs/设计文档/database/学工管理-学生信息管理/03-batch-log-table.sql similarity index 100% rename from docs/设计文档/database/03-batch-log-table.sql rename to docs/设计文档/database/学工管理-学生信息管理/03-batch-log-table.sql diff --git a/docs/设计文档/database/04-job-scheduler-module.sql b/docs/设计文档/database/学工管理-学生信息管理/04-job-scheduler-module.sql similarity index 100% rename from docs/设计文档/database/04-job-scheduler-module.sql rename to docs/设计文档/database/学工管理-学生信息管理/04-job-scheduler-module.sql diff --git a/docs/设计文档/database/04-student-info-enhancement.sql b/docs/设计文档/database/学工管理-学生信息管理/04-student-info-enhancement.sql similarity index 100% rename from docs/设计文档/database/04-student-info-enhancement.sql rename to docs/设计文档/database/学工管理-学生信息管理/04-student-info-enhancement.sql diff --git a/docs/设计文档/database/05-batch-views-and-procedures.sql b/docs/设计文档/database/学工管理-学生信息管理/05-batch-views-and-procedures.sql similarity index 100% rename from docs/设计文档/database/05-batch-views-and-procedures.sql rename to docs/设计文档/database/学工管理-学生信息管理/05-batch-views-and-procedures.sql diff --git a/docs/设计文档/database/05-system-management-module.sql b/docs/设计文档/database/学工管理-学生信息管理/05-system-management-module.sql similarity index 100% rename from docs/设计文档/database/05-system-management-module.sql rename to docs/设计文档/database/学工管理-学生信息管理/05-system-management-module.sql diff --git a/docs/设计文档/database/06-data-migration-phase1.sql b/docs/设计文档/database/学工管理-学生信息管理/06-data-migration-phase1.sql similarity index 100% rename from docs/设计文档/database/06-data-migration-phase1.sql rename to docs/设计文档/database/学工管理-学生信息管理/06-data-migration-phase1.sql diff --git a/docs/设计文档/database/06-test-module.sql b/docs/设计文档/database/学工管理-学生信息管理/06-test-module.sql similarity index 100% rename from docs/设计文档/database/06-test-module.sql rename to docs/设计文档/database/学工管理-学生信息管理/06-test-module.sql diff --git a/docs/设计文档/database/07-permission-data-migration.sql b/docs/设计文档/database/学工管理-学生信息管理/07-permission-data-migration.sql similarity index 100% rename from docs/设计文档/database/07-permission-data-migration.sql rename to docs/设计文档/database/学工管理-学生信息管理/07-permission-data-migration.sql diff --git a/docs/设计文档/database/08-student-management-actual-rollback.sql b/docs/设计文档/database/学工管理-学生信息管理/08-student-management-actual-rollback.sql similarity index 100% rename from docs/设计文档/database/08-student-management-actual-rollback.sql rename to docs/设计文档/database/学工管理-学生信息管理/08-student-management-actual-rollback.sql diff --git a/docs/设计文档/database/09-student-management-README.md b/docs/设计文档/database/学工管理-学生信息管理/09-student-management-README.md similarity index 100% rename from docs/设计文档/database/09-student-management-README.md rename to docs/设计文档/database/学工管理-学生信息管理/09-student-management-README.md diff --git a/docs/设计文档/database/09-student-management-dict.sql b/docs/设计文档/database/学工管理-学生信息管理/09-student-management-dict.sql similarity index 100% rename from docs/设计文档/database/09-student-management-dict.sql rename to docs/设计文档/database/学工管理-学生信息管理/09-student-management-dict.sql diff --git a/docs/设计文档/database/09-student-management-menu.sql b/docs/设计文档/database/学工管理-学生信息管理/09-student-management-menu.sql similarity index 100% rename from docs/设计文档/database/09-student-management-menu.sql rename to docs/设计文档/database/学工管理-学生信息管理/09-student-management-menu.sql diff --git a/docs/设计文档/database/09-student-management-module.sql b/docs/设计文档/database/学工管理-学生信息管理/09-student-management-module.sql similarity index 100% rename from docs/设计文档/database/09-student-management-module.sql rename to docs/设计文档/database/学工管理-学生信息管理/09-student-management-module.sql diff --git a/docs/设计文档/database/10-student-management-table-fix.sql b/docs/设计文档/database/学工管理-学生信息管理/10-student-management-table-fix.sql similarity index 100% rename from docs/设计文档/database/10-student-management-table-fix.sql rename to docs/设计文档/database/学工管理-学生信息管理/10-student-management-table-fix.sql diff --git a/docs/设计文档/database/11-class-cadre-management.sql b/docs/设计文档/database/学工管理-学生信息管理/11-class-cadre-management.sql similarity index 100% rename from docs/设计文档/database/11-class-cadre-management.sql rename to docs/设计文档/database/学工管理-学生信息管理/11-class-cadre-management.sql diff --git a/docs/设计文档/database/11-student-info-field-name-fix.sql b/docs/设计文档/database/学工管理-学生信息管理/11-student-info-field-name-fix.sql similarity index 100% rename from docs/设计文档/database/11-student-info-field-name-fix.sql rename to docs/设计文档/database/学工管理-学生信息管理/11-student-info-field-name-fix.sql diff --git a/docs/设计文档/database/12-add-missing-religion-field.sql b/docs/设计文档/database/学工管理-学生信息管理/12-add-missing-religion-field.sql similarity index 100% rename from docs/设计文档/database/12-add-missing-religion-field.sql rename to docs/设计文档/database/学工管理-学生信息管理/12-add-missing-religion-field.sql diff --git a/docs/设计文档/database/12-class-cadre-management-menu.sql b/docs/设计文档/database/学工管理-学生信息管理/12-class-cadre-management-menu.sql similarity index 100% rename from docs/设计文档/database/12-class-cadre-management-menu.sql rename to docs/设计文档/database/学工管理-学生信息管理/12-class-cadre-management-menu.sql diff --git a/docs/设计文档/database/12-student-information-management.sql b/docs/设计文档/database/学工管理-学生信息管理/12-student-information-management.sql similarity index 100% rename from docs/设计文档/database/12-student-information-management.sql rename to docs/设计文档/database/学工管理-学生信息管理/12-student-information-management.sql diff --git a/docs/设计文档/database/13-comprehensive-field-check.sql b/docs/设计文档/database/学工管理-学生信息管理/13-comprehensive-field-check.sql similarity index 100% rename from docs/设计文档/database/13-comprehensive-field-check.sql rename to docs/设计文档/database/学工管理-学生信息管理/13-comprehensive-field-check.sql diff --git a/docs/设计文档/database/14-fix-poor-family-field-mismatch.sql b/docs/设计文档/database/学工管理-学生信息管理/14-fix-poor-family-field-mismatch.sql similarity index 100% rename from docs/设计文档/database/14-fix-poor-family-field-mismatch.sql rename to docs/设计文档/database/学工管理-学生信息管理/14-fix-poor-family-field-mismatch.sql diff --git a/docs/设计文档/database/15-fix-xml-mapping-fields.sql b/docs/设计文档/database/学工管理-学生信息管理/15-fix-xml-mapping-fields.sql similarity index 100% rename from docs/设计文档/database/15-fix-xml-mapping-fields.sql rename to docs/设计文档/database/学工管理-学生信息管理/15-fix-xml-mapping-fields.sql diff --git a/docs/设计文档/database/16-final-field-mapping-verification.sql b/docs/设计文档/database/学工管理-学生信息管理/16-final-field-mapping-verification.sql similarity index 100% rename from docs/设计文档/database/16-final-field-mapping-verification.sql rename to docs/设计文档/database/学工管理-学生信息管理/16-final-field-mapping-verification.sql diff --git a/docs/设计文档/database/17-add-student-dict-data.sql b/docs/设计文档/database/学工管理-学生信息管理/17-add-student-dict-data.sql similarity index 100% rename from docs/设计文档/database/17-add-student-dict-data.sql rename to docs/设计文档/database/学工管理-学生信息管理/17-add-student-dict-data.sql diff --git a/docs/设计文档/database/18-student-info-fix-complete.sql b/docs/设计文档/database/学工管理-学生信息管理/18-student-info-fix-complete.sql similarity index 100% rename from docs/设计文档/database/18-student-info-fix-complete.sql rename to docs/设计文档/database/学工管理-学生信息管理/18-student-info-fix-complete.sql diff --git a/docs/设计文档/database/19-college-major-tables.sql b/docs/设计文档/database/学工管理-学生信息管理/19-college-major-tables.sql similarity index 100% rename from docs/设计文档/database/19-college-major-tables.sql rename to docs/设计文档/database/学工管理-学生信息管理/19-college-major-tables.sql diff --git a/docs/设计文档/database/19-fix-missing-columns-compatible.sql b/docs/设计文档/database/学工管理-学生信息管理/19-fix-missing-columns-compatible.sql similarity index 100% rename from docs/设计文档/database/19-fix-missing-columns-compatible.sql rename to docs/设计文档/database/学工管理-学生信息管理/19-fix-missing-columns-compatible.sql diff --git a/docs/设计文档/database/19-fix-missing-columns.sql b/docs/设计文档/database/学工管理-学生信息管理/19-fix-missing-columns.sql similarity index 100% rename from docs/设计文档/database/19-fix-missing-columns.sql rename to docs/设计文档/database/学工管理-学生信息管理/19-fix-missing-columns.sql diff --git a/docs/设计文档/database/20-college-major-dict-solution.sql b/docs/设计文档/database/学工管理-学生信息管理/20-college-major-dict-solution.sql similarity index 100% rename from docs/设计文档/database/20-college-major-dict-solution.sql rename to docs/设计文档/database/学工管理-学生信息管理/20-college-major-dict-solution.sql diff --git a/docs/设计文档/database/21-create-college-major-simple.sql b/docs/设计文档/database/学工管理-学生信息管理/21-create-college-major-simple.sql similarity index 100% rename from docs/设计文档/database/21-create-college-major-simple.sql rename to docs/设计文档/database/学工管理-学生信息管理/21-create-college-major-simple.sql diff --git a/script/sql/create-collection-batch-tables.sql b/docs/设计文档/database/学工管理-学生信息管理/create-collection-batch-tables.sql similarity index 100% rename from script/sql/create-collection-batch-tables.sql rename to docs/设计文档/database/学工管理-学生信息管理/create-collection-batch-tables.sql diff --git a/docs/设计文档/database/execute-data-migration.sql b/docs/设计文档/database/学工管理-学生信息管理/execute-data-migration.sql similarity index 100% rename from docs/设计文档/database/execute-data-migration.sql rename to docs/设计文档/database/学工管理-学生信息管理/execute-data-migration.sql diff --git a/docs/设计文档/database/execute-phase1.sql b/docs/设计文档/database/学工管理-学生信息管理/execute-phase1.sql similarity index 100% rename from docs/设计文档/database/execute-phase1.sql rename to docs/设计文档/database/学工管理-学生信息管理/execute-phase1.sql diff --git a/docs/设计文档/database/init-statistics-analysis-data.sql b/docs/设计文档/database/学工管理-学生信息管理/init-statistics-analysis-data.sql similarity index 100% rename from docs/设计文档/database/init-statistics-analysis-data.sql rename to docs/设计文档/database/学工管理-学生信息管理/init-statistics-analysis-data.sql diff --git a/docs/设计文档/database/menu-fix-duplicate.sql b/docs/设计文档/database/学工管理-学生信息管理/menu-fix-duplicate.sql similarity index 100% rename from docs/设计文档/database/menu-fix-duplicate.sql rename to docs/设计文档/database/学工管理-学生信息管理/menu-fix-duplicate.sql diff --git a/docs/设计文档/database/verify-migration.sql b/docs/设计文档/database/学工管理-学生信息管理/verify-migration.sql similarity index 100% rename from docs/设计文档/database/verify-migration.sql rename to docs/设计文档/database/学工管理-学生信息管理/verify-migration.sql diff --git a/docs/设计文档/database/xg-collection-batch-redesign.sql b/docs/设计文档/database/学工管理-学生信息管理/xg-collection-batch-redesign.sql similarity index 100% rename from docs/设计文档/database/xg-collection-batch-redesign.sql rename to docs/设计文档/database/学工管理-学生信息管理/xg-collection-batch-redesign.sql diff --git a/docs/设计文档/database/xg-student-management-README.md b/docs/设计文档/database/学工管理-学生信息管理/xg-student-management-README.md similarity index 100% rename from docs/设计文档/database/xg-student-management-README.md rename to docs/设计文档/database/学工管理-学生信息管理/xg-student-management-README.md diff --git a/docs/设计文档/database/xg-student-management-complete.sql b/docs/设计文档/database/学工管理-学生信息管理/xg-student-management-complete.sql similarity index 100% rename from docs/设计文档/database/xg-student-management-complete.sql rename to docs/设计文档/database/学工管理-学生信息管理/xg-student-management-complete.sql diff --git a/docs/设计文档/database/xg-student-management-core-test-data.sql b/docs/设计文档/database/学工管理-学生信息管理/xg-student-management-core-test-data.sql similarity index 100% rename from docs/设计文档/database/xg-student-management-core-test-data.sql rename to docs/设计文档/database/学工管理-学生信息管理/xg-student-management-core-test-data.sql diff --git a/docs/设计文档/database/xg-student-management-dict-fixed.sql b/docs/设计文档/database/学工管理-学生信息管理/xg-student-management-dict-fixed.sql similarity index 100% rename from docs/设计文档/database/xg-student-management-dict-fixed.sql rename to docs/设计文档/database/学工管理-学生信息管理/xg-student-management-dict-fixed.sql diff --git a/docs/设计文档/database/xg-student-management-dict.sql b/docs/设计文档/database/学工管理-学生信息管理/xg-student-management-dict.sql similarity index 100% rename from docs/设计文档/database/xg-student-management-dict.sql rename to docs/设计文档/database/学工管理-学生信息管理/xg-student-management-dict.sql diff --git a/docs/设计文档/database/xg-student-management-final-test-data.sql b/docs/设计文档/database/学工管理-学生信息管理/xg-student-management-final-test-data.sql similarity index 100% rename from docs/设计文档/database/xg-student-management-final-test-data.sql rename to docs/设计文档/database/学工管理-学生信息管理/xg-student-management-final-test-data.sql diff --git a/docs/设计文档/database/xg-student-management-menu.sql b/docs/设计文档/database/学工管理-学生信息管理/xg-student-management-menu.sql similarity index 100% rename from docs/设计文档/database/xg-student-management-menu.sql rename to docs/设计文档/database/学工管理-学生信息管理/xg-student-management-menu.sql diff --git a/docs/设计文档/database/xg-student-management-simple-test-data.sql b/docs/设计文档/database/学工管理-学生信息管理/xg-student-management-simple-test-data.sql similarity index 100% rename from docs/设计文档/database/xg-student-management-simple-test-data.sql rename to docs/设计文档/database/学工管理-学生信息管理/xg-student-management-simple-test-data.sql diff --git a/docs/设计文档/database/xg-student-management-test-data-fixed.sql b/docs/设计文档/database/学工管理-学生信息管理/xg-student-management-test-data-fixed.sql similarity index 100% rename from docs/设计文档/database/xg-student-management-test-data-fixed.sql rename to docs/设计文档/database/学工管理-学生信息管理/xg-student-management-test-data-fixed.sql diff --git a/docs/设计文档/database/xg-student-management-test-data.sql b/docs/设计文档/database/学工管理-学生信息管理/xg-student-management-test-data.sql similarity index 100% rename from docs/设计文档/database/xg-student-management-test-data.sql rename to docs/设计文档/database/学工管理-学生信息管理/xg-student-management-test-data.sql diff --git a/docs/设计文档/database/学生信息管理数据模型补充分析.md b/docs/设计文档/database/学工管理-学生信息管理/学生信息管理数据模型补充分析.md similarity index 100% rename from docs/设计文档/database/学生信息管理数据模型补充分析.md rename to docs/设计文档/database/学工管理-学生信息管理/学生信息管理数据模型补充分析.md diff --git a/docs/设计文档/database/01-workflow-module.sql b/docs/设计文档/database/工作流/01-workflow-module.sql similarity index 100% rename from docs/设计文档/database/01-workflow-module.sql rename to docs/设计文档/database/工作流/01-workflow-module.sql diff --git a/docs/需求文档/学工管理宿舍管理需求/README.md b/docs/需求文档/学工管理宿舍管理需求/README.md new file mode 100644 index 00000000..b0263c5d --- /dev/null +++ b/docs/需求文档/学工管理宿舍管理需求/README.md @@ -0,0 +1,170 @@ +# 学工管理宿舍管理需求模块 + +## 📁 模块概述 + +本模块主要包含学工管理系统中宿舍管理相关的需求分析文档,重点关注宿舍管理人员的分配与设置功能,支持多维度管理和多级向下授权。 + +## 📋 文档结构 + +``` +学工管理宿舍管理需求/ +├── README.md # 模块说明文档 +└── 宿舍管理人员分配需求分析.md # 核心需求分析文档 +``` + +## 📚 文档说明 + +### 1. 宿舍管理人员分配需求分析.md +**文档描述**:宿舍管理人员分配与设置功能的详细需求分析 + +**核心内容**: +- **多维度管理人员分配**:支持全校、校区、宿舍区、宿舍楼、二级学院5个维度的管理人员配置 +- **多级向下授权功能**:建立5级权限管理体系,支持权限的逐级向下传递 +- **人员信息管理**:维护管理人员基本信息和管理范围配置 +- **权限配置管理**:功能权限、数据权限的精细化配置 +- **管理效果评估**:管理数据统计和权限使用分析 + +**主要特色**: +- 🎯 **多维度管理**:支持5个不同维度的管理人员分配 +- 🔐 **权限体系**:建立完整的5级权限管理体系 +- 📊 **效果评估**:提供管理效果和权限使用分析 +- 🔄 **动态配置**:支持权限的动态调整和配置 + +## 🎯 核心需求 + +### 1. 多维度管理人员分配 +- **全校维度**:全校宿舍管理总负责人设置 +- **校区维度**:校区宿舍管理负责人配置 +- **宿舍区维度**:宿舍区主管设置和管理 +- **宿舍楼维度**:宿舍楼管理员具体分配 +- **二级学院维度**:学院宿舍管理负责人配置 + +### 2. 多级向下授权功能 +- **权限层级**:5级权限管理体系设计 +- **授权机制**:支持上级向下级权限授权 +- **权限继承**:下级自动继承上级部分权限 +- **权限审批**:权限分配需要审批流程 + +### 3. 权限配置管理 +- **功能权限**:查看、编辑、操作、管理权限 +- **数据权限**:全校、校区、宿舍区、宿舍楼、学院数据权限 +- **动态调整**:支持权限的动态配置和调整 +- **审计日志**:权限变更的完整记录 + +## 👥 用户角色 + +### 1. 宿舍管理员 +- 负责指定宿舍楼或宿舍区的日常管理 +- 处理学生宿舍相关问题 +- 执行宿舍安全检查和卫生检查 + +### 2. 宿舍区主管 +- 统筹管理整个宿舍区的各项工作 +- 协调各宿舍楼管理员的工作 +- 处理宿舍区层面的问题 + +### 3. 校区宿舍管理负责人 +- 制定校区宿舍管理政策和制度 +- 协调各宿舍区的工作 +- 处理校区层面的宿舍管理问题 + +### 4. 二级学院宿舍管理负责人 +- 管理本学院学生的宿舍分配 +- 协调学院与宿舍管理部门的关系 +- 处理学院学生宿舍相关问题 + +### 5. 学生处宿舍管理负责人 +- 制定全校宿舍管理政策和制度 +- 统筹协调各校区、各学院的宿舍管理工作 +- 系统管理和维护 + +## 🔧 技术要求 + +### 1. 系统架构 +- 分层架构设计,支持权限逐级向下传递 +- 多维度数据权限控制 +- 权限变更审计和日志记录 + +### 2. 性能要求 +- 权限验证响应时间 < 1秒 +- 数据查询响应时间 < 3秒 +- 支持1000+用户并发访问 +- 系统稳定运行时间 > 99.9% + +### 3. 安全要求 +- 敏感信息加密存储 +- 严格权限访问控制 +- 完整操作日志记录 +- 数据备份和恢复机制 + +## 📅 实施计划 + +### 第一阶段:基础功能开发(2周) +- 多维度管理人员分配功能 +- 基础权限配置功能 +- 人员信息管理功能 + +### 第二阶段:授权功能开发(2周) +- 多级向下授权功能 +- 权限继承机制 +- 权限审批流程 + +### 第三阶段:高级功能开发(1周) +- 管理效果评估功能 +- 权限使用分析功能 +- 数据统计和报表功能 + +### 第四阶段:测试和优化(1周) +- 功能测试和性能测试 +- 安全测试和验收测试 +- 系统优化和文档完善 + +## 📊 验收标准 + +### 1. 功能验收 +- ✅ 支持5个维度的管理人员分配 +- ✅ 支持多级向下授权功能 +- ✅ 支持权限的动态配置和调整 +- ✅ 支持权限使用情况的统计分析 + +### 2. 性能验收 +- ✅ 权限验证响应时间小于1秒 +- ✅ 支持1000+用户并发访问 +- ✅ 系统稳定运行时间大于99.9% + +### 3. 安全验收 +- ✅ 权限访问控制严格有效 +- ✅ 敏感信息加密存储 +- ✅ 操作日志完整记录 +- ✅ 数据安全备份机制 + +## 🔗 相关文档 + +### 项目规范文档 +- [前端开发规范](../.cursor/cursorrules-frontend.md) +- [后端开发规范](../.cursor/cursorrules-backend.md) +- [移动端开发规范](../.cursor/cursorrules-mobile.md) +- [工作流开发规范](../.cursor/cursorrules-workflow.md) + +### 相关业务模块 +- [学生信息管理需求](../学工管理学生信息管理需求/) +- [物业报修管理需求](../property-maintenance/) +- [场地预约管理需求](../venue-reservation/) + +## 📝 维护说明 + +### 文档更新原则 +- 需求变更时及时更新相关文档 +- 保持文档与实际开发的一致性 +- 定期检查和维护文档的准确性 + +### 版本管理 +- 使用语义化版本号管理文档版本 +- 记录每次变更的内容和原因 +- 保持变更记录的完整性和可追溯性 + +--- + +**📞 联系方式**:如有问题或建议,请联系产品团队 +**📅 最后更新**:2025-01-14 +**🔄 文档状态**:待审核 \ No newline at end of file diff --git a/docs/需求文档/学工管理宿舍管理需求/宿舍管理人员分配需求分析.md b/docs/需求文档/学工管理宿舍管理需求/宿舍管理人员分配需求分析.md new file mode 100644 index 00000000..0293dabe --- /dev/null +++ b/docs/需求文档/学工管理宿舍管理需求/宿舍管理人员分配需求分析.md @@ -0,0 +1,352 @@ +# 宿舍管理人员分配需求分析书 + +## 📋 文档信息 + +| 项目 | 信息 | +|------|------| +| **项目名称** | 校园管理系统 - 学工管理模块 | +| **子模块** | 宿舍管理人员分配管理 | +| **文档版本** | V1.0.0 | +| **创建时间** | 2025-01-14 | +| **创建人员** | 产品团队 | +| **审核状态** | 待审核 | + +## 🎯 需求概述 + +### 业务背景 +随着高校宿舍管理规模的不断扩大,传统的宿舍管理模式已无法满足现代化管理的需求。需要建立一套科学、高效的宿舍管理人员分配体系,实现按不同管理维度进行人员配置,并支持多级向下授权功能,确保宿舍管理工作的有序开展。 + +### 核心目标 +- 建立多维度宿舍管理人员分配体系 +- 实现按全校、校区、宿舍区、宿舍楼、二级学院等维度的人员配置 +- 支持多级向下授权功能,提高管理效率 +- 规范宿舍管理人员的工作职责和权限范围 +- 为宿舍管理提供信息化支撑 + +## 👥 用户角色分析 + +### 1. 宿舍管理员 +**角色描述**:具体负责宿舍楼或宿舍区的日常管理人员 +**主要职责**: +- 负责指定宿舍楼或宿舍区的日常管理 +- 处理学生宿舍相关问题 +- 执行宿舍安全检查和卫生检查 +- 维护宿舍秩序和环境 + +**权限范围**: +- 查看:所负责宿舍楼/区的学生信息 +- 编辑:宿舍日常管理记录 +- 操作:宿舍检查、问题上报、学生沟通 + +### 2. 宿舍区主管 +**角色描述**:负责宿舍区整体管理的管理人员 +**主要职责**: +- 统筹管理整个宿舍区的各项工作 +- 协调各宿舍楼管理员的工作 +- 处理宿舍区层面的问题 +- 向上级汇报宿舍区管理情况 + +**权限范围**: +- 查看:宿舍区内所有宿舍楼信息 +- 编辑:宿舍区管理策略、人员调配 +- 操作:区域管理、人员考核、问题处理 + +### 3. 校区宿舍管理负责人 +**角色描述**:负责校区内所有宿舍管理的负责人 +**主要职责**: +- 制定校区宿舍管理政策和制度 +- 协调各宿舍区的工作 +- 处理校区层面的宿舍管理问题 +- 与学校其他部门协调合作 + +**权限范围**: +- 查看:校区内所有宿舍信息 +- 编辑:校区管理政策、人员任命 +- 操作:校区管理、政策制定、跨区协调 + +### 4. 二级学院宿舍管理负责人 +**角色描述**:负责学院学生宿舍管理的负责人 +**主要职责**: +- 管理本学院学生的宿舍分配 +- 协调学院与宿舍管理部门的关系 +- 处理学院学生宿舍相关问题 +- 参与宿舍管理政策的制定 + +**权限范围**: +- 查看:本学院学生宿舍信息 +- 编辑:学院宿舍分配、学生调整 +- 操作:学院管理、学生协调、问题处理 + +### 5. 学生处宿舍管理负责人 +**角色描述**:全校宿舍管理的最高负责人 +**主要职责**: +- 制定全校宿舍管理政策和制度 +- 统筹协调各校区、各学院的宿舍管理工作 +- 处理全校层面的宿舍管理问题 +- 系统管理和维护 + +**权限范围**: +- 查看:全校所有宿舍信息 +- 编辑:全校管理政策、人员任命、系统配置 +- 操作:系统管理、全局协调、政策制定 + +## 📊 功能需求分析 + +### 1. 多维度管理人员分配 + +#### 1.1 全校维度管理 +**需求描述**:支持全校层面的宿舍管理人员配置 + +**功能要求**: +- 全校宿舍管理总负责人设置 +- 全校宿舍管理政策制定和发布 +- 全校宿舍管理数据统计和分析 +- 跨校区、跨学院的宿舍管理协调 + +**管理范围**: +- 全校所有宿舍楼和宿舍区 +- 全校宿舍管理人员的统一调配 +- 全校宿舍管理制度的制定和执行 + +#### 1.2 校区维度管理 +**需求描述**:支持按校区进行宿舍管理人员分配 + +**功能要求**: +- 校区宿舍管理负责人设置 +- 校区内宿舍管理政策制定 +- 校区内宿舍管理数据统计 +- 校区内各宿舍区的协调管理 + +**管理范围**: +- 校区内所有宿舍楼和宿舍区 +- 校区内宿舍管理人员的调配 +- 校区内宿舍管理制度的执行 + +#### 1.3 宿舍区维度管理 +**需求描述**:支持按宿舍区进行管理人员分配 + +**功能要求**: +- 宿舍区主管设置和管理 +- 宿舍区内各宿舍楼的协调管理 +- 宿舍区管理政策的制定和执行 +- 宿舍区管理数据的统计和分析 + +**管理范围**: +- 宿舍区内所有宿舍楼 +- 宿舍区内宿舍管理人员的调配 +- 宿舍区内管理制度的执行 + +#### 1.4 宿舍楼维度管理 +**需求描述**:支持按宿舍楼进行具体管理人员分配 + +**功能要求**: +- 宿舍楼管理员设置和管理 +- 宿舍楼日常管理工作的执行 +- 宿舍楼管理数据的记录和统计 +- 宿舍楼问题的处理和上报 + +**管理范围**: +- 指定宿舍楼的所有房间 +- 宿舍楼内学生的日常管理 +- 宿舍楼安全和卫生管理 + +#### 1.5 二级学院维度管理 +**需求描述**:支持按二级学院进行宿舍管理人员分配 + +**功能要求**: +- 学院宿舍管理负责人设置 +- 学院学生宿舍分配管理 +- 学院与宿舍管理部门的协调 +- 学院学生宿舍问题的处理 + +**管理范围**: +- 本学院学生的宿舍分配 +- 本学院学生的宿舍管理 +- 本学院与宿舍管理部门的协调 + +### 2. 多级向下授权功能 + +#### 2.1 权限层级设计 +**需求描述**:建立多级权限管理体系,支持向下授权 + +**权限层级**: +1. **学生处宿舍管理负责人**:最高权限,可管理全校宿舍 +2. **校区宿舍管理负责人**:校区权限,可管理本校区宿舍 +3. **宿舍区主管**:区域权限,可管理本宿舍区 +4. **宿舍楼管理员**:楼栋权限,可管理本宿舍楼 +5. **二级学院宿舍管理负责人**:学院权限,可管理本学院学生宿舍 + +#### 2.2 授权机制 +**需求描述**:支持上级向下级进行权限授权 + +**功能要求**: +- 上级可向下级分配管理权限 +- 支持权限的临时授权和长期授权 +- 支持权限的收回和调整 +- 权限变更需要记录操作日志 + +**授权范围**: +- 数据查看权限 +- 管理操作权限 +- 人员调配权限 +- 政策制定权限 + +#### 2.3 权限继承机制 +**需求描述**:下级自动继承上级的部分权限 + +**功能要求**: +- 下级自动获得上级的部分基础权限 +- 支持权限的继承和覆盖 +- 权限继承关系清晰明确 +- 支持权限继承的配置和调整 + +### 3. 人员信息管理 + +#### 3.1 管理人员基本信息 +**需求描述**:维护宿舍管理人员的基本信息 + +**功能要求**: +- 管理人员基本信息录入(姓名、性别、联系方式等) +- 管理人员工作履历记录 +- 管理人员资质证书管理 +- 管理人员培训记录 + +**信息字段**: +- 基本信息:姓名、性别、出生日期、身份证号 +- 联系信息:手机、邮箱、办公电话 +- 工作信息:职位、部门、入职时间、工作状态 +- 资质信息:学历、专业、相关证书 + +#### 3.2 管理范围配置 +**需求描述**:配置每个管理人员的具体管理范围 + +**功能要求**: +- 支持按维度配置管理范围 +- 支持多维度组合配置 +- 支持管理范围的动态调整 +- 管理范围变更需要审批流程 + +**配置维度**: +- 全校维度:管理全校宿舍 +- 校区维度:管理指定校区 +- 宿舍区维度:管理指定宿舍区 +- 宿舍楼维度:管理指定宿舍楼 +- 二级学院维度:管理指定学院学生 + +### 4. 权限配置管理 + +#### 4.1 功能权限配置 +**需求描述**:配置每个管理人员的具体功能权限 + +**功能权限分类**: +- **查看权限**:数据查看、报表查看、统计查看 +- **编辑权限**:信息编辑、配置修改、政策制定 +- **操作权限**:人员调配、问题处理、审批操作 +- **管理权限**:系统管理、权限分配、数据维护 + +#### 4.2 数据权限配置 +**需求描述**:配置每个管理人员可访问的数据范围 + +**数据权限范围**: +- **全校数据**:可访问全校所有宿舍数据 +- **校区数据**:可访问指定校区数据 +- **宿舍区数据**:可访问指定宿舍区数据 +- **宿舍楼数据**:可访问指定宿舍楼数据 +- **学院数据**:可访问指定学院学生数据 + +#### 4.3 权限审批流程 +**需求描述**:权限分配和调整需要经过审批流程 + +**审批流程**: +1. **权限申请**:申请人提交权限申请 +2. **上级审批**:直接上级进行审批 +3. **权限分配**:审批通过后分配权限 +4. **权限生效**:权限分配后立即生效 +5. **权限监控**:对权限使用情况进行监控 + +### 5. 管理效果评估 + +#### 5.1 管理数据统计 +**需求描述**:统计各层级管理人员的工作效果 + +**统计指标**: +- 管理范围统计(宿舍楼数量、学生数量等) +- 工作完成情况统计 +- 问题处理效率统计 +- 学生满意度统计 + +#### 5.2 权限使用分析 +**需求描述**:分析权限使用情况,优化权限配置 + +**分析维度**: +- 权限使用频率分析 +- 权限使用效果分析 +- 权限配置合理性分析 +- 权限调整建议 + +## 🔧 技术要求 + +### 1. 系统架构要求 +- 采用分层架构设计,支持权限的逐级向下传递 +- 支持权限的动态配置和调整 +- 支持多维度数据权限控制 +- 支持权限变更的审计和日志记录 + +### 2. 数据安全要求 +- 敏感信息加密存储 +- 权限访问控制严格 +- 操作日志完整记录 +- 数据备份和恢复机制 + +### 3. 性能要求 +- 支持大量用户并发访问 +- 权限验证响应时间小于1秒 +- 数据查询响应时间小于3秒 +- 系统稳定运行时间大于99.9% + +## 📋 验收标准 + +### 1. 功能验收标准 +- ✅ 支持5个维度的管理人员分配 +- ✅ 支持多级向下授权功能 +- ✅ 支持权限的动态配置和调整 +- ✅ 支持权限使用情况的统计分析 + +### 2. 性能验收标准 +- ✅ 权限验证响应时间小于1秒 +- ✅ 支持1000+用户并发访问 +- ✅ 系统稳定运行时间大于99.9% + +### 3. 安全验收标准 +- ✅ 权限访问控制严格有效 +- ✅ 敏感信息加密存储 +- ✅ 操作日志完整记录 +- ✅ 数据安全备份机制 + +## 📅 实施计划 + +### 第一阶段:基础功能开发(2周) +- 多维度管理人员分配功能 +- 基础权限配置功能 +- 人员信息管理功能 + +### 第二阶段:授权功能开发(2周) +- 多级向下授权功能 +- 权限继承机制 +- 权限审批流程 + +### 第三阶段:高级功能开发(1周) +- 管理效果评估功能 +- 权限使用分析功能 +- 数据统计和报表功能 + +### 第四阶段:测试和优化(1周) +- 功能测试和性能测试 +- 安全测试和验收测试 +- 系统优化和文档完善 + +## 📝 变更记录 + +| 版本 | 日期 | 变更内容 | 变更人 | +|------|------|----------|--------| +| V1.0.0 | 2025-01-14 | 初始版本创建 | 产品团队 | \ No newline at end of file diff --git a/target/classes/META-INF/mps/autoMapper b/target/classes/META-INF/mps/autoMapper deleted file mode 100644 index b0b53cae..00000000 --- a/target/classes/META-INF/mps/autoMapper +++ /dev/null @@ -1,20 +0,0 @@ -org.dromara.xg.domain.vo.XgClassInfoVo -org.dromara.xg.domain.vo.XgCollectionBatchLogVo -org.dromara.xg.domain.bo.XgBatchScheduledTaskBo -org.dromara.xg.domain.bo.XgCollectionBatchLogBo -org.dromara.xg.domain.bo.XgCollectionBatchBo -org.dromara.xg.domain.vo.XgStudentInfoVo -org.dromara.xg.domain.vo.XgBatchScheduledTaskVo -org.dromara.xg.domain.vo.XgCollectionBatchStudentVo -org.dromara.xg.domain.bo.XgCollectionBatchStudentBo -org.dromara.xg.domain.vo.XgCollectionBatchStatisticsVo -org.dromara.xg.domain.vo.XgCollectionBatchPermissionVo -org.dromara.workflow.domain.vo.TestLeaveVo -org.dromara.workflow.domain.bo.TestLeaveBo -org.dromara.workflow.domain.vo.FlowCategoryVo -org.dromara.xg.domain.vo.XgCollectionBatchVo -org.dromara.xg.domain.bo.XgClassInfoBo -org.dromara.xg.domain.bo.XgStudentInfoBo -org.dromara.xg.domain.bo.XgCollectionBatchPermissionBo -org.dromara.xg.domain.bo.XgCollectionBatchStatisticsBo -org.dromara.workflow.domain.bo.FlowCategoryBo \ No newline at end of file diff --git a/target/classes/META-INF/mps/autoMappers b/target/classes/META-INF/mps/autoMappers deleted file mode 100644 index 800151c5..00000000 --- a/target/classes/META-INF/mps/autoMappers +++ /dev/null @@ -1 +0,0 @@ -org.dromara.system.domain.bo.SysOperLogBo \ No newline at end of file diff --git a/target/classes/META-INF/mps/mappers b/target/classes/META-INF/mps/mappers deleted file mode 100644 index 4e0ad44e..00000000 --- a/target/classes/META-INF/mps/mappers +++ /dev/null @@ -1,6 +0,0 @@ -org.dromara.workflow.domain.vo.FlowCategoryVoToFlowCategoryMapper -org.dromara.workflow.domain.bo.FlowCategoryBoToFlowCategoryMapper -org.dromara.workflow.domain.bo.TestLeaveBoToTestLeaveMapper -org.dromara.workflow.domain.vo.TestLeaveVoToTestLeaveMapper -org.dromara.workflow.domain.TestLeaveToTestLeaveVoMapper -org.dromara.workflow.domain.FlowCategoryToFlowCategoryVoMapper \ No newline at end of file