问一个很弱智的问题,如何实现多人审批的功能..

2019-08-08 23:07:17 +08:00
 mokeychan

发起一个请求,需要多人同意之后,才可以执行。

如何设计库表,自己的思路是简单点一个字段表示需要同意的数量,同意一个就-1,为 0 放行,但感觉有点不太好,不能很好的知道谁没有同意,还有只有有一个人拒绝,流程就失败,也就不需要管其他人是否同意,这个情况也没有想好怎么处理。

请教各位大佬的实现方式是什么.

4670 次点击
所在节点    程序员
16 条回复
redial39
2019-08-08 23:21:02 +08:00
这叫会签吧
一个思路,一张审批表,assignTask 和 taskid 做关联,几个人会签就几行记录,打 flag,全部通过就进下一步流程,否则卡住,flag 里查到拒绝直接关单
SuperMild
2019-08-08 23:38:24 +08:00
直接用一个字段记录签字者的名字吧,用数组转 json。
另外什么样的条件才能通过审批,这个要了解清楚公司的实际情况。
但不管怎样,都要留一个特批的功能,不管公司有怎样的规定,现实中肯定会有需要特批的时候。特批功能先隐藏。
SuperMild
2019-08-08 23:39:04 +08:00
签字者的名字或 ID
HuasLeung
2019-08-08 23:44:23 +08:00
工作流
MMMMMMMMMMMMMMMM
2019-08-08 23:44:55 +08:00
emmmm....
git pull request..
zdkmygod
2019-08-08 23:53:00 +08:00
如果是做企业内部信息系统,类似流程多的话用工作流解决。
如果只有很小的流程需求,建议用子表,每当有人审批完的时候遍历一下子表,如果全都审批完成的话就直接跳转执行。
mamahaha
2019-08-09 00:39:08 +08:00
做个审批表,有自增 id、用户 id、项目 id、是否通过字段,一个项目对应有必须通过的某个用户 id 和规定数量通过的某些用户 id,则通过审核。
chinvo
2019-08-09 00:43:35 +08:00
这叫工作流

找自己用的语言的 workflow 库
lastpass
2019-08-09 01:00:03 +08:00
这个东西是有一套架子的。
比如常用的 activity 工作流。
jorneyr
2019-08-09 06:50:30 +08:00
图算法有一个叫拓扑排序的,可以参考这个进行实现。
murmur
2019-08-09 08:36:42 +08:00
简单的用 activity 复杂的买国产工作流 这个轮子不要自己造 会死的
tedzhou1221
2019-08-09 08:47:36 +08:00
楼上的大佬们,那个叫 activiti. 不是 Y 结尾。😄

想不造轮子,用 camunda 或 flowable,起码多点功能,不用自己去写。

如果有钱,还是买国产的工作流,不是功能强大,而是因为工作流做的好,工作量大
aLazarus
2019-08-09 08:57:28 +08:00
简单的直接弄个审批流程的表算了
90d0n
2019-08-09 09:13:26 +08:00
之前用 activiti 做的这个功能, 多人会签一票驳回. 千万不要自己造轮子.
alienx717
2019-08-09 11:22:43 +08:00
找个工作流框架
Antihank
2019-08-09 14:34:53 +08:00
为什么想要只用一个字段,审批对象和审批本身都不是同一个实体,审批对象的状态和审批的最终状态肯定不能用一个字段来描述,设计简单的后果就是逻辑代码复杂,尽量详细设计,简单实现啦。

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

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

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

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

© 2021 V2EX