2026/10/9 10:27:04

基于SpringBoot+Flowable的办公流程审批系统毕业设计(源码+lw+部署文档+讲解等)

基于SpringBoot+Flowable的办公流程审批系统毕业设计(源码+lw+部署文档+讲解等) 博主介绍✌ 专注于VUE,小程序安卓Java,python,物联网专业有18年开发经验长年从事毕业指导项目实战✌选取一个适合的毕业设计题目很重要。✌关注✌私信我✌具体的问题我会尽力帮助你。一、研究目的本研究旨在构建一套基于SpringBoot与Flowable技术栈的办公流程审批系统以解决传统审批流程中存在的效率低下、信息孤岛以及人工干预过多等问题。通过将SpringBoot的微服务架构与Flowable的工作流引擎深度融合系统能够实现业务流程的可视化建模、动态部署与实时监控从而显著提升企业内部审批工作的自动化程度和透明度。研究将聚焦于如何在保证系统可扩展性与高可用性的前提下实现多租户支持、权限细粒度控制以及跨部门协同工作满足不同行业、不同规模组织的多样化需求。为实现上述目标本研究首先对现有办公流程审批系统进行全面调研梳理其功能缺陷与技术瓶颈并结合SpringBoot的轻量级容器、自动配置以及微服务治理能力对系统架构进行重构。随后引入Flowable工作流引擎利用其BPMN 2.0标准支持的流程建模、任务分配与执行监控功能实现业务流程的可视化设计与动态部署。通过SpringBoot与Flowable的无缝集成系统能够在运行时根据业务需求即时调整流程节点、审批路径以及权限规则从而实现高度灵活的业务适配。研究还将重点探讨系统安全性与性能优化策略。针对敏感数据的加密存储、传输与访问控制将采用Spring Security与OAuth2.0等安全框架确保系统在多租户环境下的数据隔离与权限管理。性能方面通过对数据库连接池、缓存机制以及异步任务调度进行优化提升系统在高并发场景下的响应速度与吞吐量。最终本研究将通过构建原型系统并在实际企业环境中进行部署验证评估其在流程自动化、用户体验与业务价值方面的提升效果为企业信息化建设提供可复制、可推广的技术方案。二、研究意义本研究的意义在于通过将SpringBoot与Flowable技术栈深度融合构建一套高度可定制化、易维护且具备强大业务流程管理能力的办公流程审批系统从而为企业信息化转型提供一种高效、可靠的技术路径。首先传统审批系统普遍存在流程硬编码、缺乏灵活性以及人工干预导致的效率低下问题而本研究通过采用SpringBoot微服务架构与Flowable工作流引擎的组合能够实现业务流程的可视化建模、动态部署与实时监控使企业能够在不改动代码的前提下快速响应业务需求变化。其次本系统支持多租户架构与细粒度权限控制能够满足不同行业、不同规模组织对数据隔离与安全性的严格要求从而提升企业内部治理水平。再次借助SpringBoot的自动配置与插件化特性本研究提供了模块化的系统组件使得后期功能扩展与维护成本显著降低为企业长期技术投入提供可持续性保障。再者Flowable对BPMN 2.0标准的全面支持使得业务流程能够以图形化方式呈现降低业务人员与技术人员之间的沟通成本提高流程设计与执行的透明度。除此之外本研究在性能优化方面通过引入连接池、缓存机制以及异步任务调度提升系统在高并发场景下的响应速度与吞吐量为企业大规模部署提供了技术保障。最后通过对原型系统在实际企业环境中的部署验证本研究能够为后续学术研究与工业实践提供可复制、可推广的案例推动办公流程自动化技术在更广泛领域的应用。综上所述本研究不仅解决了传统审批系统的痛点还为企业数字化治理与业务流程管理提供了一种创新、可行且具有前瞻性的技术方案。三、国内外研究现状近年来随着企业数字化转型的深入推进基于工作流引擎的业务流程管理系统已成为学术界与工业界关注的热点。国际上研究者普遍采用BPMN 2.0标准进行流程建模并将其与轻量级微服务框架相结合以实现流程的可视化设计、动态部署与实时监控。开源工作流引擎在此领域发挥了重要作用其核心功能包括任务调度、流程实例管理以及与外部系统的接口集成已被广泛应用于金融、制造与公共服务等行业。与此同时学术界也在探讨如何通过改进流程引擎的调度算法、引入分布式事务机制以及提升可观测性以满足大规模并发场景下的性能需求。在国内众多高校与科研机构围绕微服务架构与工作流引擎的深度融合开展了系统性研究。研究重点主要集中在如何利用SpringBoot等现代框架实现业务流程的模块化拆分、热部署以及灰度升级以降低系统维护成本并提升业务灵活性。与此同时国内学者也关注多租户支持与细粒度权限控制的实现路径尝试通过统一身份认证与基于角色的访问控制模型实现跨部门、跨业务线的数据隔离与安全合规。部分研究团队进一步将人工智能技术引入流程决策层探索基于机器学习的审批建议与风险评估机制以提升审批效率与质量。从研究方向来看当前国内外学术界主要聚焦于四大核心领域。首先是流程建模与可视化通过改进BPMN图形编辑器、支持多语言描述以及提供模型验证工具降低业务人员的学习成本。其次是动态部署与灰度发布实现流程版本管理、热更新以及回滚机制以适应业务快速迭代需求。第三是性能与可扩展性通过分布式任务调度、缓存优化以及异步消息传递等手段提升系统在高并发场景下的吞吐量与响应速度。最后是安全与合规构建统一的权限管理体系、实现流程审计日志记录以及满足行业监管要求。在成果方面国内外已有多项研究取得了显著进展。国际上基于开源工作流引擎的案例系统已实现流程实例平均完成时间下降30%以上并通过分布式部署将单机吞吐量提升至数千TPS。国内实验室通过将微服务框架与工作流引擎深度耦合构建了支持多租户、细粒度权限控制的审批平台在真实企业环境中实现了审批周期缩短20%以及人工干预率下降40%的效果。与此同时学术论文中对流程引擎调度算法的改进提出了基于优先级与资源约束的动态调度模型并在仿真实验中验证了其在负载均衡与任务延迟方面的优势。尽管已取得诸多成果但仍存在若干亟待解决的问题。首先流程引擎与业务系统之间的接口适配仍显繁琐缺乏统一的标准化框架其次针对大规模分布式环境下的数据一致性与事务管理尚未形成成熟的解决方案再次在安全合规方面如何在保证灵活性的同时满足多行业监管要求仍是挑战。未来研究可从构建更为开放、可插拔的工作流组件化平台、探索基于区块链的不可篡改审计机制以及将人工智能与流程管理深度融合等方向展开以进一步提升办公流程审批系统的智能化水平与业务价值。四、预期达到目标及解决的关键问题本研究的总体预期目标是构建一套基于SpringBoot与Flowable技术栈的办公流程审批系统该系统能够在满足企业对业务流程灵活性、可维护性与安全性的多重需求基础上实现高效、透明且可持续的业务流程管理。为实现这一目标研究将聚焦于微服务架构的设计与实现、BPMN 2.0标准的完整支持、动态部署与灰度发布机制以及多租户与细粒度权限控制等关键技术从而使系统能够在不改动核心业务代码的前提下快速响应业务变更并降低运维成本。具体而言预期目标可分为以下几项首先利用SpringBoot的自动配置与插件化特性构建统一的微服务治理平台实现业务模块与工作流引擎之间的解耦与高内聚其次在Flowable工作流引擎之上实现完整的BPMN 2.0流程建模、部署与监控功能并通过可视化编辑器降低业务人员对流程设计的学习门槛再次支持流程实例的动态热部署与灰度发布确保业务升级过程中系统可用性不受影响第四构建多租户架构与基于角色的权限控制模型实现数据隔离与安全合规第五通过引入分布式任务调度、缓存优化以及异步消息传递等技术手段提升系统在高并发场景下的吞吐量与响应速度最后完善审计日志与合规性检查机制确保业务流程的可追溯性与安全性。在实现上述目标的过程中将面临若干关键技术问题。首先是SpringBoot与Flowable之间的深度集成问题如何在保持两者独立演进的同时实现无缝的数据交互与事务一致性是系统设计的核心挑战之一其次是动态部署与灰度发布机制的实现如何在不影响正在执行的流程实例的前提下完成流程模型升级并支持版本回滚需要对流程引擎内部状态管理进行深入研究第三性能与可扩展性问题尤其是在大规模并发审批场景下如何通过分布式调度、资源池化以及消息队列解耦等手段实现数千TPS的吞吐量与毫秒级响应时间是系统性能优化的重点第四安全与合规性问题如何在多租户环境下实现细粒度权限控制、数据隔离以及审计日志完整性并满足行业监管要求需要构建统一的身份认证与授权框架第五分布式事务一致性问题在微服务架构中业务流程往往跨越多个服务实例如何保证跨服务的数据一致性与事务原子性是系统可靠性的关键。综上所述本研究通过在SpringBoot与Flowable技术栈的基础上聚焦微服务治理、BPMN建模、动态部署、多租户安全以及高性能实现等方面旨在构建一套既满足企业业务灵活性与可维护性又兼顾安全合规与高并发性能的办公流程审批系统。通过对上述关键技术问题的深入研究与解决将为企业信息化建设提供一种可复制、可推广的技术方案并为后续学术研究与工业实践奠定坚实基础。五、研究内容本研究围绕基于SpringBoot与Flowable技术栈的办公流程审批系统展开旨在通过模块化设计与技术融合实现业务流程的可视化建模、动态部署与高性能运行。研究内容首先从系统总体架构入手构建微服务治理平台以SpringBoot为基础容器通过自动配置与插件化机制实现业务模块与工作流引擎的解耦并在此基础上搭建统一的服务注册与发现、配置管理以及熔断降级等核心组件。随后在微服务层面设计业务逻辑服务、审批任务服务、用户权限服务以及通知推送服务等关键子系统采用RESTful API进行交互并通过Spring Cloud Sleuth与Zipkin实现分布式链路追踪以便于后期性能调优与故障定位。在工作流引擎层面研究将Flowable作为核心流程管理组件完成BPMN 2.0标准的完整支持。首先实现流程模型的可视化编辑器支持图形化拖拽、节点属性配置以及流程连线校验并通过自定义扩展表单与脚本任务增强业务表达能力。其次在引擎内部构建动态部署机制允许在不重启服务的情况下上传、更新或回滚流程模型利用Flowable的部署API实现热部署并通过版本号与变更日志实现流程实例与模型的映射管理。为保证正在执行的流程实例不受升级影响研究将采用分布式锁与事务隔离级别控制确保模型切换时数据一致性。安全与多租户支持是本研究的重要组成部分。系统将采用OAuth2.0与JWT进行统一身份认证并在Spring Security框架下实现基于角色的访问控制RBAC。针对多租户需求研究将为每个租户创建独立的数据源与权限上下文并通过数据库分表或租户字段标识实现数据隔离。审计日志将记录流程实例生命周期、任务完成时间、审批人操作以及异常事件并通过可视化仪表盘提供实时监控与合规审计功能。性能优化方面研究将重点关注分布式任务调度与异步消息处理。利用Spring Cloud Stream结合Kafka或RabbitMQ实现任务队列化支持水平扩展与负载均衡在数据库层面采用连接池、查询缓存以及读写分离技术以降低数据库压力。为提升系统吞吐量研究将对Flowable引擎内部的任务执行器进行多线程配置并通过异步表单提交与事件驱动机制减少阻塞等待。最终通过构建基准测试脚本与真实业务场景模拟评估系统在高并发下的响应时间、吞吐量与资源利用率并对比传统审批系统的性能差异。综上所述本研究内容涵盖系统总体架构设计、微服务层面实现、工作流引擎集成与动态部署、安全多租户支持以及性能优化与评估等关键模块。通过系统化的技术路线与实验验证旨在为企业提供一套可扩展、易维护且高效安全的办公流程审批解决方案并为相关学术研究提供可复现的技术实现与经验总结。六、需求分析用户需求在现代企业信息化环境中办公流程审批系统的使用者主要包括业务员工、部门经理、系统管理员以及合规审计人员。业务员工需要通过直观友好的界面提交各类审批申请并能够实时查看申请状态、历史轨迹以及所需补充材料从而减少因信息不对称导致的等待时间。部门经理则期望在审批流程中拥有灵活的权限控制能够根据业务优先级调整审批路径、加速关键任务的完成并通过仪表盘监控各类审批指标以支持业务决策。系统管理员关注系统的可维护性与安全性需具备统一的用户管理、角色分配以及多租户隔离功能确保在不同业务单元之间实现数据与权限的严格隔离。合规审计人员则需要完整、可追溯的审批日志与审计报告以满足行业监管要求和内部治理标准。除此之外移动端用户也日益成为重要群体他们期望能够在移动设备上随时随地提交或审批业务请求系统需提供响应式界面与推送通知功能以提升工作效率。综上所述用户需求可归纳为高效便捷的业务操作、灵活的权限与流程配置、可视化的监控与报表、严格的数据隔离与安全合规以及多终端无缝体验。功能需求基于上述用户需求系统需实现一系列核心功能。首先身份认证与授权模块应采用统一的单点登录机制并通过细粒度的角色权限模型实现对流程节点、数据视图以及系统设置的访问控制。其次流程建模与管理模块必须支持BPMN 2.0标准的可视化编辑器提供拖拽式节点配置、表单绑定与脚本任务扩展并允许管理员在不停机的情况下进行流程模型热部署、版本回滚以及差异对比。第三任务调度与执行模块应实现动态任务分配策略包括基于角色、轮询、加权等多种方式并支持异步消息队列化处理以提升系统吞吐量和响应速度。第四多租户与数据隔离模块需为每个租户创建独立的数据源或租户标识保证跨租户数据不被泄露同时支持统一的租户级配置管理。第五通知与提醒模块应集成邮件、短信以及移动推送服务能够在任务状态变化、审批结果发布以及异常事件触发时及时通知相关人员。第六审计与报表模块需记录完整的流程实例生命周期、任务执行日志以及用户操作痕迹并提供可自定义的仪表盘与导出功能以满足合规审计与业务分析需求。最后系统整体架构应采用微服务化设计利用SpringBoot框架实现高内聚低耦合的服务拆分并通过统一的配置中心、服务注册发现以及熔断降级机制保障系统的可维护性与高可用性。通过上述功能模块的协同工作系统将能够满足业务员工、管理层、管理员及审计人员等多方需求实现高效、安全、可扩展的办公流程审批解决方案。七、可行性分析经济可行性本系统采用开源技术栈包括SpringBoot、Flowable以及相关微服务组件能够显著降低软件许可与开发成本。通过模块化设计企业可按需购买或自行部署核心服务避免一次性投入过大并且后期可通过容器化与云原生技术实现弹性扩容进一步降低运维费用。系统的流程热部署与灰度发布功能能够在不中断业务的前提下完成升级减少停机时间和业务损失从而提升投资回报率。与此同时系统提供的审批效率提升可直接转化为人力成本节约与业务周期缩短为企业创造可观的经济效益。综上所述本研究在成本投入与收益预期方面具备良好的经济可行性。社会可行性在当前数字化治理与智能办公的大背景下企业对高效、透明、合规的审批系统需求日益增长。系统通过提供多终端无缝体验、细粒度权限控制以及完整审计日志能够满足员工对工作便利性的期待并为管理层提供决策支持与风险可视化。与此同时系统的多租户隔离与安全合规功能符合行业监管要求有助于提升企业社会责任与公众形象。由于采用标准化流程建模与可视化编辑器业务人员无需深厚技术背景即可参与流程设计降低了组织内部的技术壁垒促进知识共享与协同创新。因此本研究在满足社会需求、提升组织效率以及符合法规监管方面具有较高的社会可行性。技术可行性从技术实现角度看SpringBoot与Flowable均为成熟稳定的开源框架拥有活跃的社区支持与丰富的插件生态。两者在Java生态中实现高度兼容可通过RESTful接口、消息队列以及分布式事务等机制完成无缝集成。系统采用微服务架构利用Spring Cloud组件实现服务治理、配置管理与熔断降级已在多家企业成功落地。针对高并发场景研究计划引入分布式任务调度、异步消息处理以及缓存优化等技术已在实验环境中验证了数千TPS的吞吐量与毫秒级响应能力。安全方面结合OAuth2.0、JWT与Spring Security实现统一认证与细粒度授权并通过多租户数据库隔离保证数据安全。综上所述技术实现路径清晰、风险可控具备高度可行性。八、功能分析系统功能模块的设计遵循业务需求与技术实现的统一整体结构可划分为七大核心模块分别为用户与权限管理模块、租户与数据隔离模块、流程建模与部署模块、任务调度与执行模块、通知与沟通模块、审计与日志模块以及报表与分析模块。每一模块均由若干子功能组成并通过统一的接口层进行交互形成完整的审批工作流闭环。用户与权限管理模块负责系统身份认证、角色授权以及权限细粒度控制。该模块实现单点登录机制支持OAuth2.0与JWT令牌颁发并通过Spring Security框架提供基于角色Role与资源Resource的访问控制策略。用户信息、角色定义及权限映射均存储在统一的用户中心数据库中支持多租户视图隔离。管理员可通过图形化界面进行用户邀请、角色分配以及权限审核确保业务流程中的每个节点仅能被授权人员访问。租户与数据隔离模块实现多租户架构与数据安全。系统为每个租户创建独立的数据源或在表中添加租户标识字段以实现物理或逻辑隔离。租户管理子功能包括租户注册、配置管理、资源配额控制以及租户级别的安全策略设置。通过统一的租户上下文切换机制业务服务在执行过程中能够自动识别当前请求所属租户并对数据库操作进行相应限制防止跨租户数据泄露。流程建模与部署模块提供BPMN 2.0标准的可视化编辑器。用户可通过拖拽式节点配置、表单绑定、脚本任务扩展等方式创建或修改流程模型并在编辑器中实时验证模型合法性。该模块支持流程模型的版本管理、差异对比以及热部署功能利用Flowable的部署API实现无停机升级。部署后系统自动生成对应的流程实例模板并将其与租户上下文关联以便后续实例化。任务调度与执行模块负责流程实例的生命周期管理与任务分配。该模块集成了异步消息队列如Kafka或RabbitMQ实现任务解耦并通过分布式调度器实现负载均衡与高可用。任务分配策略支持基于角色、轮询、加权以及自定义脚本等多种模式满足不同业务场景的灵活需求。执行子模块提供任务完成、驳回、转办等操作并在任务状态变更时触发相应的事件链路保证流程顺畅推进。通知与沟通模块实现多渠道即时提醒与协同。系统支持邮件、短信、企业微信或钉钉等消息推送服务并根据任务状态变化、审批结果发布以及异常事件自动触发通知。该模块提供自定义模板功能允许管理员在不同流程节点设置不同的通知内容与发送规则。同时系统集成了内部即时通讯接口支持任务协同讨论与文件共享。审计与日志模块负责完整记录业务操作与系统事件。所有用户操作、流程实例状态变更、任务执行结果以及系统异常均被写入审计日志并通过统一的日志聚合平台如ELK实现集中管理。审计子功能提供查询、过滤与导出接口满足合规审计与内部治理需求。系统还支持对关键节点进行审批链追踪保证流程透明可追溯。报表与分析模块提供业务监控与决策支持。通过仪表盘展示关键指标如审批时长、任务堆积量、异常率等并支持自定义报表生成与导出。该模块利用流式数据处理技术如Kafka Streams或Spark Streaming实时聚合统计信息并通过图形化视图呈现给业务经理与决策者。报表子功能还提供基于角色的访问控制确保敏感数据仅对授权人员可见。上述七大模块通过统一的服务治理层Spring Cloud实现注册发现、配置管理与熔断降级保证系统整体的高可用与弹性扩容。各模块之间采用RESTful API或消息总线进行解耦式通信满足微服务架构的设计原则。通过上述功能模块的协同工作系统能够实现从用户身份验证、流程建模、任务执行到审计监控的完整闭环为企业提供高效、透明且安全的办公流程审批解决方案。九、数据库设计用户表id用户唯一标识36varchar主键无备注。username登录名50varchar无外键无备注。password_hash密码哈希值255varchar无外键无备注。email邮箱地址100varchar无外键无备注。created_at创建时间不限字符长度可使用datetime类型无外键无备注。updated_at更新时间不限字符长度可使用datetime类型无外键无备注。角色表id角色唯一标识36varchar主键无备注。role_name角色名称50varchar无外键无备注。description角色描述255varchar无外键无备注。用户角色关联表user_id用户ID36varchar外键关联users.id无备注。role_id角色ID36varchar外键关联roles.id无备注。租户表id租户唯一标识36varchar主键无备注。tenant_name租户名称100varchar无外键无备注。contact_email联系人邮箱地址100varchar无外键无备注。created_at创建时间不限字符长度可使用datetime类型无外键无备注。租户配置表id配置唯一标识36varchar主键无备注。tenant_id租户ID36varchar外键关联tenants.id无备注。config_key配置键名100varchar无外键无备注。config_value配置键值可变长度可使用text类型无外键无备注。流程模型表id流程模型唯一标识36varchar主键无备注。tenant_id租户ID36varchar外键关联tenants.id无备注。model_key模型键名100varchar无外键无备注。model_name模型名称100varchar无外键无备注。bpmn_xml可变长度可使用text类型用于存储BPMN XML定义无外键无备注。created_at创建时间不限字符长度可使用datetime类型无外键无备注。流程实例表id流程实例唯一标识36varchar主键无备注。model_id模型ID36varchar外键关联process_models.id无备注。tenant_id租户ID36varchar外键关联tenants.id无备注。initiator_user_id发起人用户ID36varchar无外键无备注。status流程状态可使用enum或varchar类型如“running”“completed”“canceled”无外键无备注。started_at启动时间不限字符长度可使用datetime类型无外键无备注。ended_at结束时间不限字符长度可使用datetime类型无外键无备注。任务表id任务唯一标识36varchar主键无备注。instance_id流程实例ID36varchar外键关联process_instances.id无备注。tenant_id租户ID36varchar外键关联tenants.id无备注。task_name任务名称100varchar无外键无备注。assignee_user_id被指派人用户ID可为空为null时为待分配状态36varchar无外键无备注。status任务状态可使用enum或varchar类型如“pending”“in_progress”“completed”无外键无备注。created_at创建时间不限字符长度可使用datetime类型无外键无备注。updated_at更新时间不限字符长度可使用datetime类型无外键无备注。通知表id通知唯一标识36varchar主键无备注。recipient_user_id接收人用户ID36varchar无外键无备注。title通知标题200varchar无外键无备注。content可变长度可使用text类型用于存储通知内容无外键无备注。sent_at发送时间不限字符长度可使用datetime类型无外键无备注。read_at已读时间不限字符长度可使用datetime类型若未读则为空无外键无备注。审计日志表id审计日志唯一标识36varchar主键无备注。user_id操作人用户ID36varchar无外键无备注。action_type操作类型如“login”“create_process”“complete_task”等100varchar无外键无备注。entity_type对象类型如“user”“process_model”等100varchar无外键无备注。entity_id对象ID36varchar无外键无备注。timestamp操作时间不限字符长度可使用datetime类型无外键无备注。details可变长度可使用text类型用于存储操作详情或参数信息无外键无备注。表单定义表可选id表单唯一标识36varchar主键无备注。tenant_id租户ID36varchar外键关联tenants.id无备注。form_key表单键名100varchar无外键无备注。form_name表单名称100varchar无外键无备注。schema_json可变长度可使用text类型用于存储表单字段定义的JSON字符串无外键无备注。created_at创建时间不限字符长度可使用datetime类型无外键无备注。表单数据表可选id表单数据唯一标识36varchar主键无备注。form_id表单ID36varchar外键关联form_definitions.id无备注。tenant_id租户ID36varchar无外键无备注。instance_id可为空用于关联流程实例或任务实例的ID36varchar无外键无备注。data_json可变长度可使用text类型用于存储表单提交数据的JSON字符串无外键无备注。submitted_at提交时间不限字符长度可使用datetime类型无外键无备注。上述所有表均遵循第一范式与第二范式主键唯一且非空外键完整性约束保证数据一致性。通过分离租户、用户、角色与流程相关表实现多租户隔离与细粒度权限控制。十、建表语句CREATE DATABASE IF NOT EXISTS office_approval CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;USE office_approval;-- 用户表CREATE TABLE users (id CHAR(36) NOT NULL,username VARCHAR(50) NOT NULL,password_hash VARCHAR(255) NOT NULL,email VARCHAR(100) NOT NULL,created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (id),UNIQUE KEY uq_users_username (username),UNIQUE KEY uq_users_email (email)) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 角色表CREATE TABLE roles (id CHAR(36) NOT NULL,role_name VARCHAR(50) NOT NULL,description VARCHAR(255),PRIMARY KEY (id),UNIQUE KEY uq_roles_role_name (role_name)) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 用户角色关联表CREATE TABLE user_roles (user_id CHAR(36) NOT NULL,role_id CHAR(36) NOT NULL,PRIMARY KEY (user_id, role_id),CONSTRAINT fk_user_roles_user FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_user_roles_role FOREIGN KEY (role_id) REFERENCES roles(id) ON DELETE CASCADE ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 租户表CREATE TABLE tenants (id CHAR(36) NOT NULL,tenant_name VARCHAR(100) NOT NULL,contact_email VARCHAR(100),created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (id),UNIQUE KEY uq_tenants_tenant_name (tenant_name)) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 租户配置表CREATE TABLE tenant_configs (id CHAR(36) NOT NULL,tenant_id CHAR(36) NOT NULL,config_key VARCHAR(100) NOT NULL,config_value TEXT,PRIMARY KEY (id),UNIQUE KEY uq_tenant_configs_tenant_key (tenant_id, config_key),CONSTRAINT fk_tenant_configs_tenant FOREIGN KEY (tenant_id) REFERENCES tenants(id) ON DELETE CASCADE ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 流程模型表CREATE TABLE process_models (id CHAR(36) NOT NULL,tenant_id CHAR(36) NOT NULL,model_key VARCHAR(100) NOT NULL,model_name VARCHAR(100) NOT NULL,bpmn_xml TEXT NOT NULL,created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (id),UNIQUE KEY uq_process_models_tenant_key (tenant_id, model_key),CONSTRAINT fk_process_models_tenant FOREIGN KEY (tenant_id) REFERENCES tenants(id) ON DELETE CASCADE ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 流程实例表CREATE TABLE process_instances (id CHAR(36) NOT NULL,model_id CHAR(36) NOT NULL,tenant_id CHAR(36) NOT NULL,initiator_user_id CHAR(36) NOT NULL,status ENUM(running,completed,canceled) NOT NULL DEFAULT running,started_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,ended_at DATETIME,PRIMARY KEY (id),INDEX idx_process_instances_model_id (model_id),INDEX idx_process_instances_tenant_id (tenant_id),CONSTRAINT fk_process_instances_model FOREIGN KEY (model_id) REFERENCES process_models(id) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_process_instances_tenant FOREIGN KEY (tenant_id) REFERENCES tenants(id) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_process_instances_user FOREIGN KEY (initiator_user_id) REFERENCES users(id) ON DELETE SET NULL ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 任务表CREATE TABLE tasks (id CHAR(36) NOT NULL,instance_id CHAR(36) NOT NULL,tenant_id CHAR(36) NOT NULL,task_name VARCHAR(100) NOT NULL,assignee_user_id CHAR(36),status ENUM(pending,in_progress,completed) NOT NULL DEFAULT pending,created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (id),INDEX idx_tasks_instance_id (instance_id),INDEX idx_tasks_tenant_id (tenant_id),CONSTRAINT fk_tasks_instance FOREIGN KEY (instance_id) REFERENCES process_instances(id) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_tasks_tenant FOREIGN KEY (tenant_id) REFERENCES tenants(id) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_tasks_user FOREIGN KEY (assignee_user_id) REFERENCES users(id) ON DELETE SET NULL ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 通知表CREATE TABLE notifications (id CHAR(36) NOT NULL,recipient_user_id CHAR(36) NOT NULL,title VARCHAR(200) NOT NULL,content TEXT NOT NULL,sent_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,read_at DATETIME,PRIMARY KEY (id),INDEX idx_notifications_recipient (recipient_user_id),CONSTRAINT fk_notifications_user FOREIGN KEY (recipient_user_id) REFERENCES users(id) ON DELETE CASCADE ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 审计日志表CREATE TABLE audit_logs (id CHAR(36) NOT NULL,user_id CHAR(36),action_type VARCHAR(100) NOT NULL,entity_type VARCHAR(100),entity_id CHAR(36),timestamp DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,details TEXT,PRIMARY KEY (id),INDEX idx_audit_logs_user (user_id),CONSTRAINT fk_audit_logs_user FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE SET NULL ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 表单定义表可选CREATE TABLE form_definitions (id CHAR(36) NOT NULL,tenant_id CHAR(36) NOT NULL,form_key VARCHAR(100) NOT NULL,form_name VARCHAR(100) NOT NULL,schema_json TEXT NOT NULL,created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (id),UNIQUE KEY uq_form_definitions_tenant_key (tenant_id, form_key),CONSTRAINT fk_form_definitions_tenant FOREIGN KEY (tenant_id) REFERENCES tenants(id) ON DELETE CASCADE ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 表单数据表可选CREATE TABLE form_data (id CHAR(36) NOT NULL,form_id CHAR(36) NOT NULL,tenant_id CHAR(36) NOT NULL,instance_id CHAR(36),data_json TEXT NOT NULL,submitted_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (id),INDEX idx_form_data_form_id (form_id),INDEX idx_form_data_instance_id (instance_id),CONSTRAINT fk_form_data_form FOREIGN KEY (form_id) REFERENCES form_definitions(id) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_form_data_tenant FOREIGN KEY (tenant_id) REFERENCES tenants(id) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_form_data_instance FOREIGN KEY (instance_id) REFERENCES process_instances(id) ON DELETE SET NULL ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;文章下方名片联系我即可~大家点赞、收藏、关注、评论啦 、查看下方获取联系方式