咨询下大家的审批流都是怎么做的?

2022-07-21 15:35:04 +08:00
 alexfarm

背景

当时项目需要实现个审批流,因为当时的流程比较简单,都是些二级审批,没有各种复杂的转派或并列审批等,所以自己实现了个审批流。当时也调研了 Activiti 这样的框架,觉得太重就没使用。现在团队开发遇到的一些问题,想咨询下大家。

我们怎么做的

简单介绍下我们现在的做法,我们定义了一些审批流程框架,举个例子,流程 Flow1-上架一个产品的流程,这个流程的 1 级审批角色,2 级审批角色之类的信息。 每次发起个 Flow1 ,就会生成一个 Flow1Instance ,里面包含这次流程的一些信息,流程状态,下级审批人,发起人,审批成功、拒绝之后的回调请求体(我们是通过回调更新接口来执行审批后的数据变更)之类的信息。 还有个实体是每次 Flow1 中的,每个节点审批具体信息,比如 1 级审批人同意或者驳回。

遇到的问题

1 、每次新增 /编辑流程的信息都包含在回调的 requestbody 里,后面业务提出希望流程发起之前对于这些字段做排重校验,但我们使用关系型数据存储的一个大 json 数据,所以做排重很困难; 2 、我们现在维护实体状态和审批状态有点耦合,比如产品这个实体里,需要同时判断 status 和 auditStatus 两个字段才能得到产品是否可用的状态。

基于以上信息,想咨询下大家有没有更好的轮子或者基于我们目前结构的优化建议

5548 次点击
所在节点    Java
24 条回复
VKLER
2022-07-21 23:06:35 +08:00
Activiti + 自定义逻辑
aguesuka
2022-07-22 09:25:11 +08:00
workitem -> workitem-type -> workflow -> workitem-status -> action ->workflow-sginature
也就是说工作项的工作流由它的类型决定, 不同类型可以配置不同工作流. 工作流定义工作项的状态和状态转移, 每个状态转移对应一个 action, 当 action 触发时判断是否需要签名.
unco020511
2022-07-22 10:11:59 +08:00
购买其他公司产品
coderstory
2022-08-01 17:15:42 +08:00
Activiti 还还好吧。。 我就写了一套 bpml 的 xml 构建工具类
系统里集成了完成的工作量设计 表单设计 流程部署 运行等功能

除非你肯定确定不会有离谱的东西,或者你有信心觉得自己的代码有足够的扩展性。,,,,

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/867773

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX