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();
    }

    流程图如下:

  • 相关阅读:
    ES6新特性概览
    JavaScript一些不常用的写法
    使用HTML5的十大原因
    利用HTML5开发Android(7)---HTML5本地存储之Database Storage
    利用HTML5开发Android(6)---构建HTML5离线应用
    利用HTML5开发Android(5)---HTML5地理位置服务在Android中的应用
    利用HTML5开发Android(4)---HTML5本地存储之Web Storage
    利用HTML5开发Android(3)---Android中的调试
    利用HTML5开发Android(2)---Android中构建HTML5应用
    javascript中的prototype和constructor
  • 原文地址:https://www.cnblogs.com/dannyli/p/2125302.html
Copyright © 2011-2022 走看看