16 评论

4 收藏

分享

[产品更新] 【老功能新用法】~用工作流实现“任务流程管理”

“任务流程管理”可以说是企业管理的一大难题 我相信
很多伙伴应该都为此头疼过

审批流程、项目流程、报销流程
各种流程比比皆是
管理不好
对于企业来说
简直就是重大灾难...

今天就教大家一招,使用工作流来实现“任务流程管理”
其实,这个“任务流程管理”就是一个小模块
伙伴们可以把它嵌入到很多场景中去

但是这个小模块到底适合什么样的场景呢
来看看下面的规则
(1)流程种类多,但每个流程任务节点关系相对固定
(2)  任务流程无交叉

只要满足这两点的流程管理场景
都可以使用这个模块

为了方便大家理解,我画了几个流程图
屏幕快照 2017-07-06 17.09.36.png
屏幕快照 2017-07-06 17.09.51.png
屏幕快照 2017-07-06 17.10.00.png

其中每个字母,都代表着一个任务节点
这三个流程图只是举个小栗子
其实,无论是多么复杂的流程
只要能画出固定的流程图,那么就可以使用这个模块来管理。

【教程】来了

要实现这个模块,首先还要配置5张表:
(1)产品库表:里面只有一个字段,存储多个产品,主要用于“被关联”。(每个产品之后会对应一个流程哦!)

屏幕快照 2017-07-07 14.32.44.png

(2)流程库表:里面只有一个字段,存储流程任务节点,也是用于“被关联”。(流程任务节点,就是上图中的字母)

屏幕快照 2017-07-07 14.33.40.png

(3)产品流程配置表:用于存储每个产品流程中任务节点之间的关系。(这个关系就表达出了上面的流程图。)

主要构成为:产品[关联产品库表],流程[关联流程库表],拒绝处理[选项有:打回、终止],是否可重复创建[选项,用于辅助打回流程,根据需求选择当前流程是否要重复执行],前置流程[关联产品配置流程表,这个是表达关系的重点],后置流程[同前置流程],打回流程[同前置流程]。

屏幕快照 2017-07-07 14.35.51.png

重点说一下,这张表就是整个模块的精髓所在,他描绘了整个任务流程的关系。
举个小栗子
屏幕快照 2017-07-07 14.50.07.png
这个流程图,在配置表中表现就是
屏幕快照 2017-07-07 15.03.18.png

(4)订单表:流程任务管理主要触发表,在订单表中只要选择产品,就会显示出相应的状态和当前处在流程

主要构成为:产品[关联产品库表] ,状态[选项有:进行中,结束和失败],当前流程[关联表5,订单流程表,多关联]

屏幕快照 2017-07-07 14.39.34.png

(5)订单流程表:任务流程的主要实现表,在订单中选择了产品后,就会到产品流程配置表中找到当前应处在流程,在订单流程表中去创建相应流程。
主要构成为:流程[关联产品配置流程表],产品[关联产品库表] ,状态[选项有:待办,进行中,通过,拒绝,作废]

屏幕快照 2017-07-07 14.43.09.png

其实除了上面这三个字段,这个表格还可以添加一些其他字段,例如任务开始时间,任务备注等相关内容。

注意:(1)表1和表2是辅助表,表3、表4和表5才是功能的主要实现表。
          (2)订单表选择产品,也就是我们要走的流程,怎么走在产品流程配置表里说明,当前走到哪在订单流程表里创建,并且在订单表里体现。
          (3)几个关联的地方要注意,产品配置流程表的前置流程等字段是关联的自己,订单表和订单流程表相互关联。
                  由于出现了很多关联字段,所以一定要记得设置自定义标题展示信息,以流程配置表为例,流程是个关联字段,但是我们却想把它设置为标题,
                  直接设置肯定是不行的,所以必须设置关联附加,才能作为标题展示。
          (4)为了完善使用,可以在订单表配置子表,展现订单流程表的内容。

表格框架搭建好了,就可以来写工作流了

(1)初始化流程

触发表格:订单表
功能说明:在订单表中选择产品后,然后在流程配置表中找到该产品的初始流程(即前置流程为空的流程)

操作1:用找到的数据批量创建新数据
屏幕快照 2017-07-06 22.48.40.png
在产品配置流程表里面找到属于该产品并且前置流程为空的数据。
屏幕快照 2017-07-06 22.51.25.png
在订单流程表里批量创建初始流程,自动关联上产品配置流程表(之后我们可以通过这条关联线索,找到初始流程的后置流程等)和订单表数据,
并为初识流程附上状态为待办。

操作2:修改数据
功能说明:修改订单表的中的相应状态。
屏幕快照 2017-07-06 23.00.13.png
订单表中的当前流程这个字段,是用来关联订单流程表中,所有属于该产品,并且状态是待办或进行中的有效数据。
由于这里是流程的初始化,所以所有数据的状态都是待办,因此不用判断状态。

(2)流程通过后,自动创建后续流程
触发表格:订单流程表
功能说明:当当前流程通过后,如果他的后置流程的所有前置流程都通过后,就可以在订单流程表中创建后续流程了。

触发条件:
屏幕快照 2017-07-07 10.43.25.png
这里解释一下:and的第二个条件,是两个count即数量相等,这个数量相等就是判断是否全部通过,即总的数量和通过的数量是否相等。这个总的数量指的就是前置流程的数量。目前我们唯一的线索就是当前数据,所以我们要根据当前数据,找到他的后置流程,再把这些后置流程的所有前置流程全部放在一起,这个数量就找到了。

操作1:用找到的数据批量创建数据
屏幕快照 2017-07-07 10.53.29.png
这个找到的条件,给大家解释一下:AND的第一个条件,就比前面的触发条件多了一层,在找到当前数据的后置流程的所有前置流程后,在把这些前置流程的所有后置流程找到。AND的第二个条件,又对上面找到的数据进行了限制,因为这些数据是经过来回寻找过的,数据是最全的,所以找到的这些数据,之前有可能已经创建过了。
屏幕快照 2017-07-07 11.02.15.png
操作2:修改已有数据
和前面初始化类似,不过状态不用修改了,因为还没有结束呢,还在进行中。
屏幕快照 2017-07-07 11.03.59.png
当前流程和初始话类似,就是多了个条件,判断一下状态是否在待办和进行中。

(3)流程拒绝后,自动创建打回流程
触发表格:订单流程
如果订单流程表,我们把数据修改为拒绝后,就会涉及到打回流程了。
触发条件
屏幕快照 2017-07-07 11.08.04.png
这个条件比较简单,就是如果选择拒绝,并在流程配置表中查询,该任务流程有打回流程的话,就可以创建打回流程了。
操作1:用查找到的数据,批量创建新数据
屏幕快照 2017-07-07 11.10.28.png
这个条件也不太难,和前面的创建后续流程类似,不过多了一个条件判断,这个流程是否需要重复创建,因为有时候有的流程打回后,是不用重复创建的。
屏幕快照 2017-07-07 11.12.36.png
这个和前面都很类似
操作2:修改已有数据
创建好订单流程后,和前面的创建后续流程一样,都需要修改订单状态。
屏幕快照 2017-07-07 11.18.56.png
操作3:修改已有数据
这个比前面的创建后续流程多了一个操作,是因为这个创建的订单流程是重复创建的,所以要把原来的作废。
屏幕快照 2017-07-07 11.21.05.png

(4)更新订单状态与当前流程

触发表格:订单流程
这个工作流主要是辅助,工作流(2)和(3)的,当订单流程的状态改变后,要把订单表的订单流程字段改变。

操作:修改已有数据
修改订单表
屏幕快照 2017-07-07 11.24.41.png
这两个工作流,看是复杂,但其实很简单,只是判断比较多。
当前流程:如果拒绝或通过,就把关联的这条数据移除,其他情况,就加上
状态:如果当前状态是通过,并且后置流程是空的,就把状态改为结束,否则的话,如果当前状态拒绝,并且拒绝处理为终止的话,把状态改为终止,其他情况,状态为进行中。

“任务流程管理”的模块教程就到这里结束了
逻辑上会有些复杂,不太容易理解,建议大家可以多读几遍
理解后会增加对工作流的认识
之后再写工作流就会事半功倍

最后要感谢一下这个解决方案的提供者
我们的产品经理吴sir~
鼓掌

回复

举报 使用道具

相关帖子
全部回复 (16)
查看全部
引用 @(3)产品流程配置表:用于存储每个产品流程中任务节点之间的关系。(这个关系就表达出了上面的流程图。)

主要构成为:产品[关联产品库表],流程[关联流程库表],拒绝处理[选项有:打回、终止],是否可重复创建[选项,用于辅助打回流程,根据需求选择当前流程是否要重复执行],前置流程[关联产品配置流程表,这个是表达关系的重点],后置流程[同前置流程],打回流程[同前置流程]。

没看懂这个该如何操作

举报 回复 支持 1 反对 0 使用道具

虽然还没细读,不过写得很用心,抢个沙发先

举报 回复 支持 反对 使用道具

太牛了~这个教程十分巧妙的的解决了流程控制的问题~

举报 回复 支持 反对 使用道具

3个工作流不够用啊!

举报 回复 支持 反对 使用道具

引用 @国际计划 发表于 2017-7-8 11:50
没看懂这个该如何操作

这里似乎没通,图上效果浮云!!?后续工作流死循环就从这里出的状况吧。
待楼主审查。。

举报 回复 支持 反对 使用道具

有执行过吗?多处数据实现不明。。?

举报 回复 支持 反对 使用道具

引用 @国际计划 发表于 2017-7-8 11:50
没看懂这个该如何操作

产品流程配置表就是用于表达任务流程节点关系的一个表,创建的时候要分两步,首先创建前面几个字段,保存后才能创建前置流程,后置流程和打回流程字段,因为他们都是要关联本表的。这个特殊的关联关系,可以帮助我们建立出产品流程配置表中各数据间的关系,也就是各任务流程节点的关系,在后续操作中我们才能根据这个关系找到我们要执行的任务节点

举报 回复 支持 反对 使用道具

引用 @表联系(1527983) 发表于 2017-7-16 18:55
有执行过吗?多处数据实现不明。。?

流程配置表就是一个表达任务流程节点关系的表格,后置流程,前置流程,打回流程等字段需要关联本表,这个关联关系并不会导致工作流死循环,工作流对于死循环问题是有防御机制的,如果存在死循环,在保存的时候会有提示,之后我也会出一个专题贴给大家讲解如何处理死循环的。可以看出您应该是有动手尝试搭建这个任务流程模块吧,您可以把在搭建过程中遇到的具体问题留言给我,会帮您解答的

举报 回复 支持 反对 使用道具

引用 @koryong 发表于 2017-7-7 18:38
3个工作流不够用啊!

首先非常感谢您的认真阅读,任务流程这个模块确实是使用了多个工作流,超出了普通用户3个工作流的限制,我之所以还会把这个教程分享给伙伴们的主要原因,其实并不是要大家把这个流程照搬,而是希望可以拓展伙伴们的思路,这个任务流程模块里的很多技巧,思路和处理方法都是很棒的,认真阅读后对日后写工作流的帮助很大。PS:如果您对于工作流足够熟悉的话,其实可以发现这个模块中有些工作流是可以合并到一起的,您可以思考一下,顺便推荐一下之前写的一个工作流帖子:https://bbs.huoban.com/forum.php?mod=viewthread&tid=2250:)

举报 回复 支持 反对 使用道具

董雪骄(1357825)
高级会员
主题 17
回复 34
粉丝 2
|网站地图
快速回复 返回顶部 返回列表