ESAP达摩院 思想有多远,我们就能走多远

ESAP高级教程|映射+提醒代替工作流方案


本文展示一种基于ju/nx的全新的工作流替代方案。

再谈工作流

工作流是一个老生常谈的话题,虽然村长不推荐使用,但是偶尔用一下也无妨。

工作流的本质是多人协同按照顺序维护一条数据记录,接下来我们基于ju/nx的映射模板特性,即多模板可以显示和维护同一条数据,来构造一种全新的协同填报方式。

映射模板

首先,制作一个【工序总览】模板,这里面涉及3个工序,每个工序完成后,下一个工序在工作台才能看到数据并修改补填自己工序的数据,直到3个工序全部走完。

作为总览台账模板,该模板我们不做其他设置,关闭新建、修改权限,仅保留管理员的删除权限。

接下来,制作【工序1】的填报模板,字段全部映射到总览模板的表,另外增加一个暂存临时字段。

状态字段上设置一个EXCEL公式:=IF((C7>0)*(G1=0),2,1),公式的意思就是如果填报了实际产量(C7),就流转到工序2(状态2),但如果勾选了暂存(G1),就仍然保存在本工位。

增加一条新建消息提醒表间公式,选择【工序2】模板,关联条件为订单号,消息内容为机器2有新的工序任务,用来提醒工序2流程人员进行办理。

最后我们要设置一下加载表达式,当状态=1时可见。

这样【工序1】模板就基本完成了。

相类似的,再制做一下【工序2】模板,字段依旧全部映射。

状态字段上设置一个EXCEL公式:=IF((C9>0)*(H1=0),3,IF((C9=0)*(H1=1),1,2)),公式的意思有两层:

1.如果填报了实际产量(C9),就流转到工序3(状态3),但如果勾选了暂存(H1),就仍然保存在本工位。

2.如果没有填报产量(C9=0),可以通过勾选退回(H1=1)到前一步流程(状态1)。

【工序2】要增加两条新建消息提醒的表间公式,一条向下到【工序3】模板

另一条向上回到【工序1】

【工序2】模板的加载表达式为状态=2时可见。

如法炮制,制作【工序3】模板,这里不再赘述,只是提醒公式向下返回到【工序总览】。

实际效果

新建工序1,填入实际数,可以看到状态到2了。

如果勾选暂存,状态会回到1。

不勾暂存,保存一下,桌面右下角立即出现提示

通过点击消息前的小图标可以直接办理工序2任务,太棒了。

在办理工序2时,可以填入数量,状态变成3。

也可以不填,勾退回,状态变成1。

保存后,可以看到消息中出现退回提醒,点击可重新办理【工序1】形成完美闭环。

小结

主要综合应用了映射模板、回写新建提醒、和权限控制(模板权限、字段权限、加载表达式等)

本文旨在拓展映射技术的应用思维,本文涉及的数据库备份可在聚慧禅院中下载。

2019-03-07


近似文章