private WorklistItems GetWorklistItems(string serialNo) { WorklistCriteriaFilter criteria = new WorklistCriteriaFilter(); RegularFilter rfPID = new RegularFilter(); RegularFilter rfActID = new RegularFilter(); rfPID.ColumnName = "PI.ID"; rfPID.ParameterValue = serialNo.Substring(0, serialNo.IndexOf('_')); rfPID.DbType = DbType.Int32; rfPID.Comparison = Comparison.Equals; rfPID.ParameterName = "@ICE_ProcInstID"; criteria.FilterCollection.Add(rfPID); rfActID.Condition = RegularFilter.FilterCondition.AND; rfActID.ColumnName = "WLH.ActInstDestID"; rfActID.ParameterValue = serialNo.Substring(serialNo.IndexOf('_') + 1); rfActID.Comparison = Comparison.Equals; rfActID.ParameterName = "@ICE_ActInstID"; rfActID.DbType = DbType.Int32; criteria.FilterCollection.Add(rfActID); return(_server.GetWorklistItems(criteria)); }
private void GetWorklist() { ServiceObject serviceObject = base.ServiceBroker.Service.ServiceObjects[0]; serviceObject.Properties.InitResultTable(); DataTable results = base.ServiceBroker.ServicePackage.ResultTable; WorkflowManagementServer mngServer = this.ServiceBroker.K2Connection.GetConnection <WorkflowManagementServer>(); using (mngServer.Connection) { WorklistCriteriaFilter filter = new WorklistCriteriaFilter(); WorklistItems wlItems = mngServer.GetWorklistItems(filter); foreach (WorklistItem wlItem in wlItems) { DataRow row = CreateWorklistItemRow(results, wlItem); results.Rows.Add(row); } } }
//sample that shows how to manage worklist items. //In this sample, we want to redirect all tasks from one user to another user public void ManageWorklistItems() { //establish the connection WorkflowManagementServer K2Mgmt = new WorkflowManagementServer(); K2Mgmt.CreateConnection(); K2Mgmt.Connection.Open("connectionstring"); //build up a filter for the list of worklist items. Here, we want to return all the worklist items for a specific user WorklistCriteriaFilter wlCritFilter = new WorklistCriteriaFilter(); wlCritFilter.AddRegularFilter(WorklistFields.Destination, Comparison.Like, "%user1%"); WorklistItems wlItems = K2Mgmt.GetWorklistItems(wlCritFilter); foreach (WorklistItem wlItem in wlItems) { K2Mgmt.RedirectWorklistItem("user1", "user2", wlItem.ProcInstID, wlItem.ActInstDestID, wlItem.ID); } //close the connection K2Mgmt.Connection.Close(); }
/// <summary> /// 获取下一个审批人(处理人/处理步骤/接收时间) /// </summary> /// <param name="formId"></param> /// <returns></returns> public static SourceCode.Workflow.Management.WorklistItems GetNextApprover(string formId) { WorkflowManagementServer wms = new WorkflowManagementServer(); try { wms.Open(WorkflowHelper.GetConnString4Management()); SourceCode.Workflow.Management.Criteria.WorklistCriteriaFilter wcf = new SourceCode.Workflow.Management.Criteria.WorklistCriteriaFilter(); wcf.AddRegularFilter(WorklistFields.Folio, SourceCode.Workflow.Management.Criteria.Comparison.Like, formId); WorklistItems wlis = wms.GetWorklistItems(wcf); wms.Connection.Close(); return(wlis); } catch { wms.Connection.Close(); return(null); } finally { } }
private void GetWorklist() { ServiceObject serviceObject = base.ServiceBroker.Service.ServiceObjects[0]; serviceObject.Properties.InitResultTable(); DataTable results = base.ServiceBroker.ServicePackage.ResultTable; WorkflowManagementServer mngServer = new WorkflowManagementServer(); using (mngServer.CreateConnection()) { mngServer.Open(BaseAPIConnectionString); WorklistCriteriaFilter filter = new WorklistCriteriaFilter(); WorklistItems wlItems = mngServer.GetWorklistItems(filter); foreach (WorklistItem wlItem in wlItems) { DataRow row = CreateWorklistItemRow(results, wlItem); results.Rows.Add(row); } } }