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自带的用户/用户组接管了。无需使用其自带的服务及表;

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

  • 相关阅读:
    mysql通过data目录恢复数据库
    CentOS安装TortoiseSVN svn 客户端
    CentOS上安装Node.js
    PHP--进行模块化设计
    PHP开发绝对不能违背的安全铁则
    达内培训:php在线端口扫描器
    使用 PHP 限制下载速度
    使用无限生命期Session的方法
    使用php作linux自动执行脚本
    腾讯星座运势api
  • 原文地址:https://www.cnblogs.com/winchance/p/14280692.html
Copyright © 2011-2022 走看看