智慧教务系统
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.
 
 
 
 
 
 

5.5 KiB

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字段建议填写审批意见
  • 并发控制: 防止同一参与人重复审批
  • 数据完整性: 确保参与人信息的完整性和准确性
  • 权限验证: 验证参与人是否有权限参与该流程审批
  • 状态同步: 参与人状态变更需要同步到流程状态
  • 审计要求: 所有状态变更都需要记录审计日志
  • 性能优化: 大量参与人查询时需要考虑索引优化
  • 监控告警: 建立审批超时和异常的监控机制