苍穹私有云-V5.0.008-共享节点退回到指定节点指定人原创
金蝶云社区-吴琦_fred
吴琦_fred
11人赞赏了该文章 402次浏览 未经作者许可,禁止转载编辑于2023年03月11日 14:22:54
  • 需求:

        客户希望在工作流中,当流程走到共享中心,由于单据的某些条件不符合,需要从共享中心退回到指定节点的指定审批人。而标准产品在V5.0.008版本并不支持共享审批驳回。当然也就不支持驳回到指定人了。

  • 参考资料:

        工作流微服务接口统一通过WorkflowServiceHelper类的,completeTask方法。其中decOptionNumber参数为节点的决策项编码。

        工作流抓取驳回json参数,通过断点ApprovalPluginNew类的,getSubmitData方法。其中json参数为标准产品驳回时传递的json参数。

        共享接口TaskWorkFlowUtil类的,pushWfTask方法。其中decOptionNumber参数为节点的决策项编码。

        

  • 解决思路:

        需求拆分:1.工作流共享审批节点,退回到指定审批节点。

                         2.退回到指定审批节点时,需要指定人。

        大方向是从标准产品的实现中获取驳回的实现,然后移植到共享审批节点上。

        共享审批节点退回实现思路:通过在共享审批节点配置审批决策项,来绑定可退回的节点。然后通过调用共享的接口TaskWorkFlowUtil.pushWfTask,或者工作流接口WorkflowServiceHelper.completeTask,传递决策项编码,便可以实现退回指定节点。

        共享审批节点退回到指定人实现思路:使用工作流WorkflowServiceHelper类的completeTask方法,有一个重载的方法completeTask(Long,Long,String,String,Map)。其中最后一个参数转为json后,即为工作流抓取的json参数。


  • 解决步骤:

  1. 断点抓取标准产品审批退回的json数据,断点ApprovalPluginNew.getSubmitData的入参即可。

  2. 在工作流的共享审批节点上,配置审批决策项。

  3. 代码中调用WorkflowServiceHelper.getApprovalDecisionOptions,或者通过服务WorkflowService service = ServiceFactory.getService(WorkflowService.class); TaskService taskService = service.getTaskService(); taskService.getApprovalDecisionOptions 的接口获取审批决策项。返回给前端用户退回时选择。

  4. 当用户选择具体的节点点击确定时。调用TaskWorkFlowUtil.pushWfTask接口用于驳回到具体节点。调用WorkflowServiceHelper.completeTask接口用于驳回到具体节点以及指定审批人。

赞 11