Activiti工作流会签(所有人签字通过)及使用用户自定义表

会签问题

首先需要实现一个监听器,监听器有俩种任务监听和流程监听,这里我使用的是任务监听TaskListener

public class MyTaksListener implements TaskListener {
    @Override
    public void notify(DelegateTask delegateTask) {
        System.out.println("delegateTask.getEventName() = " + delegateTask.getEventName());

        //添加会签的人员,所有的都审批通过才可进入下一环节

        List assigneeList = new ArrayList();
        assigneeList.add("lfs");
        assigneeList.add("cwb");
        delegateTask.setVariable("publicityList",assigneeList);
    }
}

在流程中发起申请节点处启动监听器
Activiti工作流会签(所有人签字通过)及使用用户自定义表_第1张图片
Activiti工作流会签(所有人签字通过)及使用用户自定义表_第2张图片

在需要多人都审批通过的节点设置变量
Activiti工作流会签(所有人签字通过)及使用用户自定义表_第3张图片

使用自己的用户表

删除Activiti中自带的表act_id_user、act_id_group、act_id_membership
使用视图查询自己的用户表数据来代替原有表的存在

DROP VIEW  IF EXISTS OYDGHR.act_id_membership;
DROP VIEW  IF EXISTS OYDGHR.act_id_user;
DROP VIEW  IF EXISTS OYDGHR.act_id_group;
-- (ID_,REV_,FIRST_,LAST_,EMAIL_,PWD_,PICTURE_ID_ ,CONSTRAINT id_pk PRIMARY KEY(ID_) RELY DISABLE NOVALIDATE)
CREATE  VIEW OYDGHR.act_id_user AS
  SELECT
    TO_CHAR(au.S01_ID) AS ID_,
    0          AS REV_,
    to_char(au.S0109)   AS FIRST_,
    '' AS LAST_,
    to_char(au.S0117)      AS EMAIL_,
    to_char(au.S0170)   AS PWD_,
    ''          AS PICTURE_ID_
  FROM OYDGHR.S01 au;

CREATE VIEW OYDGHR.act_id_group
AS
  SELECT ar.S05_ID AS ID_,
         NULL AS REV_,
         ar.S0504 AS NAME_,
         'assignment' AS TYPE_
  FROM OYDGHR.S05 ar;

CREATE VIEW OYDGHR.act_id_membership
AS
   SELECT (SELECT u.S01_ID FROM OYDGHR.S01 u WHERE u.S01_ID=ur.S01_ID) AS USER_ID_,
       (SELECT r.S05_ID FROM OYDGHR.S05 r WHERE r.S05_ID=ur.S05_ID) AS GROUP_ID_
   FROM OYDGHR.S011 ur;

你可能感兴趣的:(Activiti工作流会签(所有人签字通过)及使用用户自定义表)