1.概述
本章节用于介绍预编目工作流的制作。这里待制作的工作流程为:用户预编目后申请发布,由当前资产提供方所在机构下的目录审批人进行审批,审批通过,发布成功,流程结束;审批不通过,发布失败,流程结束。对于审批不通过的数据资产,用户可编辑后再次申请发布。
其中,当前资产提供方所在机构在资产预编目时会指定。
该机构的目录审批人为该机构下“是否目录审批人”属性为1(是)的用户。
2.制作步骤
2.1新建工作流
在【系统管理】-【工作流】-【流程管理】下点击【新建】,打开到工作流设计页面。
2.2绘制流程图
在工作流设计页面,首先进行流程图绘制。
可以看到:
1)我们使用了一个“URL活动”和一个“审批活动”。后面会让URL活动指向待发布审批的数据资产的详情页面,这样,审批办理时会显示该数据资产的详情界面,可以审批通过或者是退回重审。下图是一个预编目发布审批办理界面。
2)一般情况下“审批活动”后会接“单一网关”进行分支,实现审批通过后继续后面活动,审批不通过则退回到前面的活动。比如,下图所示工作流,审批通过则结束,审批不通过则退回到第一个活动。
而我们的预编目发布审批流程要求不管审批通过与否都要结束该流程,故我们制作的这个工作流审批活动后直接是结束事件。
2.3设置URL活动
1)设置活动对象
选中活动1,设置【活动对象】为自定义,【URL设置】为../emeta/mdrecentdata.do?rid=@RID&forwardwith=resource&mdId=@MD_ID&mdName=@MD_NAME&isSameGroup=@IS_SAME_GROUP&groupId=@GROUP_ID
此url地址为待发布的数据资产的详情页面地址。
2)设置办理人
设置办理人为流程启动者,这样只要用户能申请发布数据资产,则能启动流程。
2.4设置审批活动
1)设置办理人
本例中审批活动的办理人为资产提供方的目录审批人员,资产提供方需要从数据资产信息中获取,目录审批人员需要从用户属性中获取,这种情况下办理人需要使用表达式来匹配,具体操作如下。
其中办理人表达式为:user.orgid=@PROVIDER and user.SFMLSPR ='1'。user.orgid 表示用户所在机构代码,@PROVIDER 为发起审批时传递的资产提供方的参数;user.SFMLSPR表示用户的“是否目录审批人”属性,为1表示是目录审批人。
user是系统内置的用户对象,user.orgid表示获取用户所在机构代码。还可以获取到用户的其他属性,具体有哪些属性见用户权限-高级设置-用户字段管理界面。 红框部分即为用户对象拥有的属性。比如:user.caption表示用户名称,user.email表示邮箱地址。 |
2)设置脚本
添加脚本实现审批后更新数据资产的状态。
选中活动2,在【脚本】-【后置脚本】-【JAVA】中添加如下脚本:
importcom.esen.eassetcatalog.api.service.assetservice.AssetPublishApplyService; importcom.esen.ecore.spring.SpringContextHolder; AssetPublishApplyService service = SpringContextHolder.getBean(AssetPublishApplyService.class); if(I_FLOWTO.equals("1")) { service.doApprove(CATALOGID, APPID, I_ASSIGNEE, delegateTask.getId(), delegateTask.getProcessInstanceId()); } else{ service.doReset(CATALOGID, APPID, I_ASSIGNEE, delegateTask.getId(), delegateTask.getProcessInstanceId()); } |
2.5保存并发布
最后,修改工作流名称后【保存】并【发布】。
注:工作流只有发布后才能生效。
3.工作流绑定
在【数据资产】-【目录管理】-【目录属性】中,选择数据资源版本进行编辑,【预编目流程】处选择制作好的工作流即可完成工作流的绑定,这样,在该数据资源版本下预编目发布后都需要走相应的审批流程。
请先登录