使用C#代码审批/转签K2 Blackpearl流程

来源:互联网 发布:淘宝怎么删掉自己评价 编辑:程序博客网 时间:2024/04/28 14:05

转:http://www.cnblogs.com/dannyli/archive/2011/08/02/2125302.html

以下是使用代码审批、转签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();        }
复制代码

流程图如下:

 

0 0
原创粉丝点击