电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

苍穹工作流那些事 之 加签二开方案集锦

来源:金蝶云社区作者:金蝶2024-09-233

苍穹工作流那些事 之 加签二开方案集锦


苍穹工作流中,流程在流转审批过程中,根据业务需要,可能会临时增加新的节点,指定人员进行审批,这种运行时临时增加的新审批环节,就是加签


有了加签功能,审批人可以向前或向后动态添加审批节点。关于加签的详细介绍,可参考往期文章:一文掌握“流程加签”


除了标准的加签功能,苍穹工作流还提供了多种二开方案,以满足不同客户的需求。本期小编就为大家介绍一下加签都有哪些二开方案~




1 应用场景


场景一:加签时,只允许选择一人加签。


场景二:加签时,按条件过滤加签人员。


场景三:加签时,指定加签节点的属性值,比如,决策项、转交、协办等待。


2 解决方案


步骤一:扩展加签页面(wf_addsignpage),路径为:【开发服务云】→【开发平台】→【流程服务云】→【工作流服务】应用→【任务中心】→【任务加签】,如下图所示:


扩展加签页面


步骤二:在扩展的页面注册相应的二开插件,如下图所示:


注册二开插件


场景一:只允许选择一人加签


针对场景一:加签时,只允许选择一人加签,对应的插件事例代码如下:


public class AddSignBeforePlugin extends AbstractFormPlugin{
       @Override
       public void createNewData(BizDataEventArgs e) {
              this.getPageCache().put("onlyoneuser", "true");
       }
}


运行效果为:加签选人时为单选,已经选中一人后,隐藏加人入口,只有删除当前人员后,会显示加人入口,重新选人,如下图所示:


加签时,只允许选择一人加签


场景二:按条件过滤加签人员


针对场景二:加签时,按条件过滤加签人员,对应的插件事例代码如下:


public class ValidatorForSelectAddSignUserDemo extends AbstractWorkflowPlugin {
     @Override
     public void customEvent(CustomEventArgs e) {
              if(e != null && BeforeAddSignAddUserCustomEvent.SELECT_ADDSIGNUSER_ISOLATION.equals(e.getKey())
                                 && e instanceof BeforeAddSignAddUserCustomEvent) {
                        BeforeAddSignAddUserCustomEvent bac = (BeforeAddSignAddUserCustomEvent) e;
                        ListqFilters = bac.getQFilters();
                        if(qFilters == null) {
                                 return;
                        }
                        QFilter qFilter = new QFilter("entryentity.dpt.id", QFilter.equals, RequestContext.get().getOrgId());
                        qFilters.add(qFilter);
              }
     }
}


运行效果为:加签选人页面里的人员,与当前加签人隶属于同一个组织。


场景三:指定加签节点的属性值


加签时,加签节点的属性值是固定的,且不能修改,但可以通过二开,指定加签节点的属性值,比如,决策项、转交、协办等待,相应的插件事例代码如下:


public class ValidateAddSignConfirmPlugin extends AbstractWorkflowPlugin {
    @Override
    public void customEvent(CustomEventArgs e) {
        if(e != null && BeforeAddSignConfirmCustomEvent.SELECT_ADDSIGNCONFIRM_ISOLATION.equals(e.getKey()) 
                && e instanceof BeforeAddSignConfirmCustomEvent) {
            BeforeAddSignConfirmCustomEvent bac = (BeforeAddSignConfirmCustomEvent) e;
            Map<String, Object> extProps = bac.getExtProps();
         

苍穹工作流那些事 之 加签二开方案集锦

苍穹工作流中,流程在流转审批过程中,根据业务需要,可能会临时增加新的节点,指定人员进行审批,这种运行时临时增加的新审批环节,就是加...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信