工作流插件中动态设置审批人,以及获取审批人信息

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

工作流插件中动态设置审批人,以及获取审批人信息


问题描述

工作流插件中,根据一定的业务逻辑,动态设置当前单据的审批人,以及获取当前单据的审批人的信息


解决方法

  • 在calcUserIds方法中可以动态设置当前单据的审批人

  • 设置审批人后,在notify等方法中可以获取当前单据的审批人

public class TestWFPlugin implements IWorkflowPlugin { 

    @Override 
    public List<Long> calcUserIds(AgentExecution execution) { 
        // 获取单据id 
        String pkId = execution.getBusinessKey(); 
        // 获取单据体中的countersignpeople字段,将这个字段记录用户,将用户设置为当前单据的审批人 
        DynamicObject obj = BusinessDataServiceHelper.loadSingle(pkId, "tran_meetingsummary"); 
        DynamicObjectCollection judgerColl = obj.getDynamicObjectCollection("countersignpeople"); 
        List<Long> judgerIdList = new ArrayList<>(); 
        for (DynamicObject judger : judgerColl) { 
            DynamicObject temp = judger.getDynamicObject("fbasedataid");
            judgerIdList.add(Long.valueOf(String.valueOf(temp.getPkValue()))); 
        } 
        // 返回审批人的id集合 
        return judgerIdList; 
    }
    
    @Override 
    public void notify(AgentExecution execution) { 
        IWorkflowPlugin.super.notify(execution); 
        List<Long> allApprover = execution.getAllApprover();    // 获取审批人id 
        List<Map<String, Object>> userInfo = UserServiceHelper.get(allApprover);   // 审批人信息 
    }
    
}

适用版本

不限










工作流插件中动态设置审批人,以及获取审批人信息

问题描述工作流插件中,根据一定的业务逻辑,动态设置当前单据的审批人,以及获取当前单据的审批人的信息解决方法在calcUserIds方法中可以...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息