1. 概述
假设数据资产服务的申请流程是这样的:对于完全共享的数据资产,数据消费者申请其服务后不用审批,自动通过。对于有条件共享的数据资产,数据消费者申请其服务后由资产提供方所在机构下的目录审批人审批,审批通过,流程结束,数据消费者获得服务授权;审批不通过,流程结束,数据消费者未获得服务授权。
接下来,我们来看下此场景下的工作流该如何制作。
2. 操作步骤制作工作流
在【系统管理】-【工作流】-【流程管理】中点击【新建】,新建工作流。
该工作流制作过程如下图所示:
2.1单一网关
![]() |
可以看到我们在url活动后用了单一网关进行分支,根据资产的“共享类型”进行分支,无条件共享的,下一个活动是由脚本活动实现的自动审批通过,有条件共享的,下一个活动则是审批活动。
单一网关后的两个条件流设置步骤如下:
公式中的@SHARETYPE为系统内置参数,取的是当前资产的“共享类型”属性,@SHARETYPE="0"表示共享类型为无条件共享,@SHARETYPE="1"表示共享类型为有条件共享。
2.2URL活动
1)活动对象设置
第一个活动是URL活动,其【活动对象】设置为自定义,【URL设置】为../edac/assetmgr/viewassetpage.do?catalogId=@CATALOGID&assetId=@ASSETID&preCatalog=0
此url地址为资产详情页面地址,这样,在审批办理界面是打开到资产详情页进行服务申请办理,如下图所示。
2)办理人设置
其办理人设置为流程启动者,即谁申请谁发起。
2.3脚本活动
这里的脚本活动用于实现自动审批通过——设置服务状态为审批通过,且给用户授予服务权限。
具体脚本为:
import com.esen.eassetcatalog.api.service.assetservice.ServiceApplyService; |
2.4审批活动
1)办理人设置
本例中的审批活动办理人为资产提供方所在机构下的目录审批人。通过内置参数@PROVIDER可获取当前资产的资产提供方,另机构用户中用户的“是否目录审批人”属性(扩展字段,属性名为SFMLSPR)为1,表示是目录审批人。
故这里的办理人表达式为:user.orgid=@PROVIDER and user.SFMLSPR ='1' ,该表达式的具体解读见预编目工作流章节。
2)操作设置
另外,可以按需将办理界面的操作按钮重命名。如,审批通过改名为通过,退回重审改名为不通过。
可在【操作设置】中修改各操作按钮的显示文字。
3)后置脚本
设置后置脚本用于同步申请的资产服务状态,以及审批通过后给用户授予服务权限。后置脚本设置为:
importcom.esen.eassetcatalog.api.service.assetservice.ServiceApplyService; importcom.esen.ecore.spring.SpringContextHolder; ServiceApplyService service = SpringContextHolder.getBean(ServiceApplyService.class); if(I_FLOWTO.equals("1")) { service.doPassApply(CATALOGID, APPID, I_ASSIGNEE, delegateTask.getId(), delegateTask.getProcessInstanceId()); } else{ service.doResetApply(CATALOGID, APPID, I_ASSIGNEE, delegateTask.getId(), delegateTask.getProcessInstanceId()); } |
请先登录