# school_approval_config 表文档 ## 表概述 **表名**: school_approval_config **功能**: 审批配置管理表,负责管理教务系统中各种业务流程的审批配置,包括审批流程模板、业务类型配置、状态控制等核心功能 ## 字段说明 ``` Field Type Collation Null Key Default Extra Privileges Comment id int NULL NO PRI NULL auto_increment select,insert,update,references 配置ID config_name varchar(255) utf8mb4_general_ci NO NULL select,insert,update,references 配置名称 description text utf8mb4_general_ci YES NULL select,insert,update,references 配置描述 status tinyint(1) NULL NO 1 select,insert,update,references 状态: 0-禁用, 1-启用 creator_id int NULL NO NULL select,insert,update,references 创建人ID created_at timestamp NULL YES CURRENT_TIMESTAMP DEFAULT_GENERATED select,insert,update,references 创建时间 updated_at timestamp NULL YES CURRENT_TIMESTAMP DEFAULT_GENERATED on update CURRENT_TIMESTAMP select,insert,update,references 修改时间 business_type varchar(100) utf8mb4_general_ci YES NULL select,insert,update,references 业务类型标识 ``` ## 功能用途 ### 主要功能 - **审批配置管理**: 管理系统中各种业务流程的审批配置 - **业务类型分类**: 通过business_type字段区分不同业务的审批配置 - **配置状态控制**: 通过status字段控制审批配置的启用和禁用 - **配置描述**: 提供详细的配置说明和使用描述 - **创建人追踪**: 记录配置的创建人员信息 - **时间管理**: 记录配置的创建和修改时间 - **配置模板**: 为不同业务提供审批流程模板 - **动态配置**: 支持运行时动态调整审批配置 - **配置继承**: 支持基于模板的配置继承机制 ### 业务场景 - **请假审批**: 配置员工请假的审批流程 - **报销审批**: 配置费用报销的审批流程 - **合同审批**: 配置合同签署的审批流程 - **课程审批**: 配置课程安排的审批流程 - **学员退费**: 配置学员退费的审批流程 - **薪资调整**: 配置薪资变更的审批流程 - **权限申请**: 配置系统权限申请的审批流程 - **资源申请**: 配置教学资源申请的审批流程 - **流程优化**: 根据业务需要优化审批流程配置 ## 关联关系 ### 主要关联表 - `school_approval_process`: 审批流程表 (配置关联) - `school_approval_config_node`: 审批配置节点表 (配置详情) - `school_personnel`: 人员信息表 (creator_id外键关联) - `school_approval_history`: 审批历史表 (配置使用记录) - `school_approval_participants`: 审批参与者表 (审批人员) - `school_campus`: 校区信息表 (配置范围) - `sys_log`: 系统日志表 (配置变更日志) ### 关联说明 - **创建人关联**: creator_id关联school_personnel表,记录配置创建人 - **流程关联**: 与审批流程表关联,定义具体的审批步骤 - **节点关联**: 与配置节点表关联,定义审批流程的详细节点 - **历史关联**: 审批历史记录使用的配置信息 - **参与者关联**: 配置中定义的审批参与人员 - **业务关联**: business_type关联具体的业务模块 - **日志关联**: 配置变更操作记录到系统日志 ## 索引建议 - **主键索引**: id (已存在) - **外键索引**: - creator_id (创建人查询) - **业务索引**: - business_type (业务类型查询) - status (状态查询) - config_name (配置名称查询) - **复合索引**: - (business_type, status) (业务启用配置查询) - (creator_id, created_at) (创建人时间查询) - (status, updated_at) (启用配置更新时间查询) - **时间索引**: - created_at (创建时间查询) - updated_at (更新时间查询) ## 注意事项 - **配置名称唯一性**: config_name在同一business_type下应保证唯一性 - **业务类型规范**: business_type需要遵循系统定义的业务类型标准 - **状态一致性**: 配置状态变更需要同步更新相关审批流程 - **创建人验证**: creator_id必须是有效的人员ID - **配置完整性**: 配置禁用前需要检查是否有正在进行的审批流程 - **描述规范**: description字段应提供清晰的配置说明 - **权限控制**: 只有授权人员才能创建和修改审批配置 - **配置备份**: 重要配置修改前需要备份原始配置 - **依赖检查**: 删除配置前需要检查相关流程和历史记录 - **版本管理**: 建议建立配置版本管理机制 - **测试验证**: 新配置上线前需要进行充分测试 - **文档维护**: 配置变更需要同步更新相关文档 - **监控告警**: 建立配置使用情况的监控机制 - **性能优化**: 频繁使用的配置建议使用缓存机制 - **审计要求**: 配置变更需要满足审计合规要求 - **回滚机制**: 建立配置变更的回滚机制 - **通知机制**: 配置变更需要通知相关使用人员