# school_approval_participants 表文档 ## 表概述 **表名**: school_approval_participants **功能**: 审批参与人管理表,用于管理审批流程中的参与人员信息和审批状态,包括审批顺序、审批类型(或签/会签)、审批状态跟踪等,支持多种审批模式和流程控制,为学校提供完整的审批流程参与人管理和状态监控功能 ## 字段说明 ``` Field Type Collation Null Key Default Extra Privileges Comment id int NULL NO PRI NULL auto_increment select,insert,update,references 参与编号 process_id int NULL NO MUL NULL select,insert,update,references 流程ID participant_id int NULL NO NULL select,insert,update,references 参与人ID sequence int NULL NO NULL select,insert,update,references 审批顺序 status enum('pending','approved','rejected') utf8mb4_general_ci NO NULL select,insert,update,references 当前状态: pending-待审批, approved-已批准, rejected-已拒绝 remarks text utf8mb4_general_ci YES 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 修改时间 sign_type enum('or_sign','and_sign') utf8mb4_general_ci NO or_sign select,insert,update,references 审批类型: or_sign-或签, and_sign-会签 ``` ## 功能用途 ### 主要功能 - **审批参与人管理**: 管理审批流程中的参与人员和角色分配 - **审批顺序控制**: 控制审批人员在流程中的执行顺序 - **审批状态跟踪**: 跟踪每个参与人的审批状态(待审批/已批准/已拒绝) - **审批类型管理**: 支持或签(or_sign)和会签(and_sign)两种审批类型 - **审批备注记录**: 记录审批人的审批意见和备注信息 - **流程关联**: 关联具体的审批流程实例 - **时间管理**: 记录参与人的创建和更新时间 - **参与人权限**: 管理不同参与人的审批权限 - **审批结果统计**: 统计参与人的审批结果和效率 ### 业务场景 - **流程分配**: 为审批流程分配具体的审批参与人 - **顺序审批**: 按照设定的顺序进行逐级审批 - **并行审批**: 支持多人同时进行审批(或签模式) - **会签审批**: 要求所有指定人员都同意才能通过(会签模式) - **审批替代**: 处理审批人请假或不在时的替代审批 - **审批监控**: 监控审批进度和参与人状态 - **审批提醒**: 提醒相关人员及时进行审批 - **权限控制**: 控制不同级别人员的审批权限 - **审批统计**: 统计各参与人的审批效率和结果 ## 关联关系 ### 主要关联表 - `school_approval_process`: 审批流程表 (process_id外键关联) - `school_personnel`: 人员信息表 (participant_id外键关联) - `school_approval_history`: 审批历史表 (审批操作记录关联) - `school_approval_config`: 审批配置表 (流程配置关联) - `school_approval_config_node`: 审批节点配置表 (节点配置关联) - `school_sys_role`: 角色表 (审批权限关联) - `school_campus`: 校区表 (数据权限关联) ### 关联说明 - **流程关联**: process_id关联school_approval_process表,确定参与人所属的审批流程 - **人员关联**: participant_id关联school_personnel表,确定具体的审批参与人 - **历史关联**: 与school_approval_history表关联,记录参与人的审批操作历史 - **配置关联**: 通过流程关联审批配置,获取审批规则和节点信息 - **权限关联**: 通过人员信息关联角色权限,控制审批权限 - **顺序关联**: sequence字段确定审批的执行顺序 - **类型关联**: sign_type字段确定审批类型(或签/会签) ## 索引建议 - **主键索引**: id (已存在) - **外键索引**: - process_id (流程参与人查询) - participant_id (人员审批查询) - **业务索引**: - status (审批状态查询) - sequence (审批顺序查询) - sign_type (审批类型查询) - **复合索引**: - (process_id, sequence) (流程顺序查询) - (participant_id, status) (人员状态查询) - (process_id, status) (流程状态查询) - (sign_type, status, created_at) (类型状态时间查询) - **时间索引**: - created_at (创建时间查询) - updated_at (更新时间查询) ## 注意事项 - **审批状态**: status字段限定为pending、approved、rejected三种状态 - **审批类型**: sign_type字段限定为or_sign(或签)和and_sign(会签)两种类型 - **外键完整性**: process_id和participant_id必须在对应表中存在 - **顺序唯一性**: 同一流程中的sequence应该是唯一的 - **状态流转**: 状态只能从pending转换为approved或rejected - **审批权限**: 确保参与人具有相应的审批权限 - **或签逻辑**: or_sign模式下,任一人审批通过即可 - **会签逻辑**: and_sign模式下,所有人都必须审批通过 - **时间一致性**: created_at和updated_at时间应该合理 - **备注规范**: remarks字段建议填写审批意见 - **并发控制**: 防止同一参与人重复审批 - **数据完整性**: 确保参与人信息的完整性和准确性 - **权限验证**: 验证参与人是否有权限参与该流程审批 - **状态同步**: 参与人状态变更需要同步到流程状态 - **审计要求**: 所有状态变更都需要记录审计日志 - **性能优化**: 大量参与人查询时需要考虑索引优化 - **监控告警**: 建立审批超时和异常的监控机制