zoukankan      html  css  js  c++  java
  • web工作流管理系统开发之十八 工作流会签的相关实现

     

    在工作流系统中,单步会签,多部门会签,会签百分比,加签,减签等等这些是必备的功能。尤其在办公管理的审批流程中,经常会用到这些。
    例如单步会签,在流程的某个环节需要多个人同时办理,不分先后次序的签署意见等。多部门会签,流程运行到某个环节需要多个部门的人同时办理,各部门不分先后次序的发表审批意见等。

    会签百分比,流程运行到某个环节需要多个人协助同时处理,但是只需要80%的人处理过,就可以通过了。这个百分比就

    是会签百分比,在流程定义的时候可以设置其值。

    加签,当流程实例运行到一个具体的环节时候,需要临时增加处理人。增加的处理人是流程定义的时候未定义的。

    减签,与加签相反,某个流程实例运行时候,按流程定义的规则,例如需要5个人同时办理,但这个个例只需要4个人办理过就可以了,则可以减少一个处理人。

    在eworkflow中是这样实现的。
    流程定义的时候,在需要产生会签的环节定义好任务主体信息,任务名称,任务类型(一般选择动态会签型),任务的执行人或参与人。可以是具体的人,或者角色或群组。

    当流程实例运行到此环节时,任务引擎就会按照定义的信息,创建任务信息,并按照任务的可执行人范围生成任务执行人的待办任务工单。

    当用户处理任务,完成工单后,任务即完成了。

    表结构:

    动态会签流程定义过程:



     

    会签步骤的动态会签定义过程,设置用户,角色群组,以及会签百分比



     

    加签、减签、会签百分比的实现

    当流程实例运行时,任务引擎根据定义的任务信息,生成具体执行人的任务工单,放入待办任务列表。当任务还未执行完成时,管理员或有相关权限的人可以根据具体的需求,加减任务的执行人,生成新的可执行人的工单。当所有人都执行完成后,任务即完成了。

    当任务设置了会签百分比,任务引擎会按照百分比来判断任务是否完成,即完成了任务工单的人占总体的百分比等于会签百分比,则任务就完成了。



     

  • 相关阅读:
    详解threading模块:Condition类的使用
    concurrent.futures 模块使用说明
    细读Spring源码(四)什么是IOC?
    OAuth 2.0系列(六) OAuth令牌
    OAuth 2.0系列(七) OAuth 2.0可能存在的安全漏洞及预防方法
    细读Spring源码(一)refresh()方法概览
    HashMap源码解读() put方法的实现过程
    跟着字节码追踪JAVA中的基本运算
    细读Spring源码(六)Spring源码设计架构
    细读Spring源码(五)AOP从实战到源码
  • 原文地址:https://www.cnblogs.com/webreport/p/1720939.html
Copyright © 2011-2022 走看看