zoukankan      html  css  js  c++  java
  • 使用C#代码审批/转签K2 Blackpearl流程

    以下是使用代码审批、转签k2 blackpearl流程,初探K2 Blackpearl,望高人多多包涵、指点.

        //执行动作
    private void MyAction(string argAction)
    {
    //创建连接对象
    SourceCode.Workflow.Client.Connection wfcon = new SourceCode.Workflow.Client.Connection();
    //打开K2连接
    string k2Server = System.Configuration.ConfigurationManager.AppSettings["K2Server"];
    string workflowServicePort = System.Configuration.ConfigurationManager.AppSettings["WorkflowServicePort"];
    wfcon.Open(k2Server
    + ":" + workflowServicePort);

    //当前用户打开
    wfcon.ImpersonateUser(HttpContext.Current.User.Identity.Name);

    //获取流程列表
    SourceCode.Workflow.Client.WorklistItem worklistitem = wfcon.OpenWorklistItem(SN);

    /*
    //获取流程实例编号
    string[] _SN = SN.Split('_');
    int _ID = int.Parse(_SN[0]);
    //获取流程实例
    SourceCode.Workflow.Client.ProcessInstance proInst = wfcon.OpenProcessInstance(_ID);
    //DataFields赋值
    proInst.DataFields["TaskUsers"].Value = ddlTaskUsers.SelectedValue;
    //更新DataFields
    procinst.Update();
    */

    //查找action(执行动作)
    foreach (SourceCode.Workflow.Client.Action action in worklistitem.Actions)
    {
    if (action.Name.Equals(argAction))
    {
    //执行动作
    action.Execute();
    }
    }
    wfcon.Dispose();
    }

    //转签
    protected void ProcRedirect(string argEmpName)
    {
    //创建连接对象
    SourceCode.Workflow.Client.Connection wfcon = new SourceCode.Workflow.Client.Connection();

    //打开K2连接
    string k2Server = System.Configuration.ConfigurationManager.AppSettings["K2Server"];
    string workflowServicePort = System.Configuration.ConfigurationManager.AppSettings["WorkflowServicePort"];
    wfcon.Open(k2Server
    + ":" + workflowServicePort);

    wfcon.ImpersonateUser(HttpContext.Current.User.Identity.Name);

    //获取流程列表
    SourceCode.Workflow.Client.WorklistItem worklistitem = wfcon.OpenWorklistItem(SN);
    //转签
    worklistitem.Redirect(argEmpName);
    //释放资源
    wfcon.Dispose();
    }

    流程图如下:

  • 相关阅读:
    显示磁盘信息
    给VG增加磁盘,给文件目录增加空间
    第8.11节 Python类中记录实例变量属性的特殊变量__dict__
    Python中format_map与format字符串格式化的区别
    生成器函数与函数的区别
    什么是Python生成器?与迭代器的关系是什么?
    第8.10节 使用__class__查看Python中实例对应的类
    Python运算符的优先级是怎样的?
    Python怎么控制将一个整数输出成指定长的十六进制数?
    Python中函数的参数带星号是什么意思?
  • 原文地址:https://www.cnblogs.com/dannyli/p/2125302.html
Copyright © 2011-2022 走看看