V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mokeychan
V2EX  ›  程序员

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

  •  
  •   mokeychan · 2019-08-08 23:07:17 +08:00 · 4513 次点击
    这是一个创建于 1694 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

    如果有钱,还是买国产的工作流,不是功能强大,而是因为工作流做的好,工作量大
    aLazarus
        13
    aLazarus  
       2019-08-09 08:57:28 +08:00 via Android
    简单的直接弄个审批流程的表算了
    90d0n
        14
    90d0n  
       2019-08-09 09:13:26 +08:00
    之前用 activiti 做的这个功能, 多人会签一票驳回. 千万不要自己造轮子.
    alienx717
        15
    alienx717  
       2019-08-09 11:22:43 +08:00
    找个工作流框架
    Antihank
        16
    Antihank  
       2019-08-09 14:34:53 +08:00   ❤️ 1
    为什么想要只用一个字段,审批对象和审批本身都不是同一个实体,审批对象的状态和审批的最终状态肯定不能用一个字段来描述,设计简单的后果就是逻辑代码复杂,尽量详细设计,简单实现啦。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5272 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 05:44 · PVG 13:44 · LAX 22:44 · JFK 01:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.