zoukankan      html  css  js  c++  java
  • 02_接管Activiti流程用户及用户组

    1、流程设计时,指定负责人/角色

     2、任务监听器,要指定org.fh.controller.act.util.ManagerTaskHandler;则在办理任务时,Activiti会自动传入默认负责人;

     以下为监听器的具体实现,主要是指定下一任务代办人:

    /**
     * 说明:指定下一任务待办人
     */
    @SuppressWarnings("serial")
    public class ManagerTaskHandler implements TaskListener {
    
        @Override
        public void notify(DelegateTask delegateTask) {
            Session session = Jurisdiction.getSession();
            session.setAttribute("TASKID", delegateTask.getId());            //任务ID
            session.setAttribute("YAssignee", delegateTask.getAssignee());    //默认待办人(用户ID/角色ID)
        }
    
    }

    3、在办理任务后,可手动指定下一任务代办人,否则使用步骤2的默认代办人

            String ASSIGNEE_ = pd.getString("ASSIGNEE_");                            //下一待办对象
            if(Tools.notEmpty(ASSIGNEE_)){
                setAssignee(session.getAttribute("TASKID").toString(),ASSIGNEE_);    //指定下一任务待办对象
            }else{
                Object os = session.getAttribute("YAssignee");
                if(null != os && !"".equals(os.toString())){
                    ASSIGNEE_ = os.toString();                                        //没有指定就是默认流程的待办人
                }else{
                    trySendSms(zmap,pd);             //没有任务监听时,默认流程结束,发送站内信给任务发起人
                }
            }
            zmap.put("ASSIGNEE_",ASSIGNEE_);        //用于给待办人发送新任务消息

    4、下一代办人,将收到消息,自行查询待办任务后处理;

    5、至此,已经将Activiti自带的用户/用户组接管了。无需使用其自带的服务及表;

     备注:即时通讯技术,后续会再做笔记。

  • 相关阅读:
    LYDSY模拟赛day3 序列
    LYDSY模拟赛day3 涂色游戏
    LYDSY模拟赛day3 平均数
    hdu1757 A Simple Math Problem
    清北国庆day1 (脑)残
    poj3070 Fibonacci
    uva10870 递推关系Recurrences
    湖南附中模拟day1 瞭望塔
    湖南附中模拟day1 收银员
    湖南附中模拟day1 金坷垃
  • 原文地址:https://www.cnblogs.com/winchance/p/14280692.html
Copyright © 2011-2022 走看看