You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
6.0 KiB
6.0 KiB
school_approval_config_node 表文档
表概述
表名: school_approval_config_node
功能: 审批配置节点表,用于定义和管理审批流程中的具体节点配置,包括审批人类型(用户/角色/部门)、审批方式(或签/会签)、节点顺序等,支持灵活的审批流程设计和多维度审批人配置,为学校提供完整的审批流程节点管理和配置功能
字段说明
Field Type Collation Null Key Default Extra Privileges Comment
id int NULL NO PRI NULL auto_increment select,insert,update,references 节点ID
config_id int NULL NO MUL NULL select,insert,update,references 配置ID
node_name varchar(255) utf8mb4_general_ci NO NULL select,insert,update,references 节点名称
approver_type enum('user','role','department') utf8mb4_general_ci NO NULL select,insert,update,references 审批人类型: user-指定用户, role-指定角色, department-指定部门
approver_ids varchar(255) utf8mb4_general_ci NO NULL select,insert,update,references 审批人ID集合,逗号分隔
sign_type enum('or_sign','and_sign') utf8mb4_general_ci NO or_sign select,insert,update,references 审批类型: or_sign-或签(一人通过即可), and_sign-会签(需全部通过)
sequence int NULL NO NULL select,insert,update,references 节点顺序
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 修改时间
功能用途
主要功能
- 审批节点配置: 定义审批流程中的具体节点信息和配置
- 审批人管理: 配置每个节点的审批人类型和具体审批人员
- 审批类型控制: 支持或签(一人通过即可)和会签(需全部通过)两种审批模式
- 节点顺序管理: 通过sequence字段控制审批节点的执行顺序
- 多维度审批人: 支持指定用户、角色、部门三种审批人类型
- 审批人集合: 支持一个节点配置多个审批人,用逗号分隔存储
- 节点命名: 提供节点名称字段,便于识别和管理
- 配置关联: 与审批配置表关联,形成完整的审批流程
- 时间追踪: 记录节点配置的创建和修改时间
业务场景
- 流程设计: 设计多级审批流程,配置每个审批节点
- 权限分配: 为不同审批节点分配相应的审批人员或角色
- 并行审批: 配置会签节点,需要多人同时审批通过
- 串行审批: 配置或签节点,任意一人审批即可通过
- 部门审批: 配置部门级别的审批,由部门负责人审批
- 角色审批: 配置基于角色的审批,如财务审批、人事审批
- 用户审批: 配置指定用户的审批,如总经理审批
- 流程优化: 根据业务需要调整审批节点和审批人配置
- 审批监控: 通过节点配置监控审批流程的执行情况
关联关系
主要关联表
- school_approval_config: 审批配置表 (config_id)
- school_approval_process: 审批流程表 (通过config_id间接关联)
- school_approval_participants: 审批参与人表 (节点配置关联)
- school_approval_history: 审批历史记录表 (节点执行记录)
- school_personnel: 人员表 (审批人关联)
- school_sys_role: 角色表 (角色审批人关联)
- school_department: 部门表 (部门审批人关联)
- school_campus: 校区表 (审批范围关联)
关联说明
- 配置关联: config_id关联school_approval_config表,确定节点所属的审批配置
- 审批人关联: approver_ids根据approver_type关联不同的人员、角色或部门表
- 流程关联: 通过config_id间接关联审批流程,确定节点在流程中的位置
- 执行关联: 审批执行时根据节点配置创建参与人和历史记录
- 顺序关联: sequence字段确定节点在审批流程中的执行顺序
- 类型关联: approver_type决定审批人的查找方式和权限验证
- 签名关联: sign_type影响节点的审批通过条件和逻辑
索引建议
- 主键索引: id (自动创建)
- 外键索引: config_id (审批配置查询)
- 业务索引:
- (config_id, sequence) (按配置和顺序查询节点)
- approver_type (按审批人类型查询)
- sign_type (按签名类型查询)
- 复合索引:
- (config_id, approver_type) (配置内按类型查询)
- (approver_type, approver_ids) (审批人查询)
- 时间索引:
- created_at (创建时间查询)
- updated_at (修改时间查询)
注意事项
- 外键完整性: config_id必须存在于school_approval_config表中
- 审批人类型: approver_type只能是user、role、department三种类型之一
- 审批人ID格式: approver_ids使用逗号分隔,需要验证ID的有效性
- 签名类型: sign_type影响审批逻辑,or_sign和and_sign有不同的通过条件
- 节点顺序: sequence在同一config_id下应该唯一,确保顺序的正确性
- 节点名称: node_name应该具有描述性,便于识别节点功能
- 审批人验证: 根据approver_type验证approver_ids中的ID是否存在
- 权限检查: 审批人必须具有相应的审批权限
- 数据一致性: 修改节点配置时需要考虑正在进行的审批流程
- 删除限制: 删除节点前需要检查是否有正在使用的审批流程
- 配置完整性: 确保审批配置的所有必要节点都已配置
- 顺序连续性: sequence应该连续,避免跳跃或重复
- 审批人数量: 会签节点的审批人数量应该合理,避免过多影响效率
- 角色权限: 基于角色的审批需要确保角色权限的正确配置
- 部门层级: 基于部门的审批需要考虑部门层级关系
- 并发控制: 多人同时修改节点配置时需要并发控制
- 审计要求: 节点配置的变更需要记录审计日志