一个小小的工作流的设计过程

本文分享了一位工程师因项目需求而自建的简易工作流系统设计思路。系统基于五个核心表:流程模型表、流程节点表、流程对象表、流程任务表及流程意见表,实现了业务数据与审批流程的绑定及流转,虽功能简单但实用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        因为项目需要一个工作流,但是现有插件不太满足需求,主要是因为不会、、、也没有时间研究。之前工作中接触过一个成熟的工作流,于是通宵了一页就把它写出来,在项目中使用,当然复杂功能暂时没有那么完善,但是起码能使了。分享一下吧。

        主要是玩转五个表:

        流程模型表,流程节点表:这两个表主要用来规定一个工作流,流程模型表主键流程编号,规定一个流程为“合同审批流程”。流程节点表用来规定此工作流的每个节点,主要字段主键流程阶段号,外键流程编号,如合同审批节点1,节点2,节点3。这时这个合同审批流程已经建好,并且是可灵活配置。

        流程对象表,流程任务表:这两个表主要是数据流转表。工作流“流”起来,主要玩这两个表。在新建一笔业务数据的同时,如合同1,在流程对象表中插入一条数据与业务数据绑定,主要字段主键流水号,流程模型的流程编号,流程阶段号;这条数据表现出的是:合同审批流程的 合同1 的流程阶段 节点1。同时流程任务表建立一样的数据,多出的主要字段是开始时间,结束时间等。

        这时业务数据合同1,就已经和合同审批流程绑定,当在页面上操作提交操作时,流程对象表阶段号更新为节点2,流程任务表将合同1节点1的数据更新结束,新增合同1节点2的数据。后面的每一步以此类推。

        还有一张表就是流程意见表,主要字段是流程编号,流程阶段号,业务数据流水号,审批意见等。每次审批时的审批意见将记录在这张表中。

        当审批不通过退回时,将以上操作倒退流程。

        这是当时的主要设计思想,并且经过我的努力也实现了。但是确实不如以前原有的成熟工作流,比如功能上很多没有设计:多点 提交多点退回等,有在程的数据流时工作流不可更改配置。

        虽然有缺陷,但这是我比较满意的一个小成果,由于客观原因只能文字描述,具体表和代码现在不能发布。以后有空我可以将代码继续完善。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值