private void button1_Click(object sender, EventArgs e) { TaskQueryEntity query = new TaskQueryEntity(); query.AppInstanceID = "4612"; query.AppName = "order"; query.UserID = "2"; var wfService = new WorkflowService(); wfService.GetRunningTasks(query); }
/// <summary> /// 当前用户代办任务列表(一次加载所有数据) /// </summary> /// <returns></returns> public ActionResult FlowList() { IWorkflowService service = new WorkflowService(); TaskQueryEntity en = new TaskQueryEntity { UserID = User.Identity.GetUserId() }; IList<TaskViewEntity> taskViewList = service.GetReadyTasks(en); return View(taskViewList); }
/// <summary> /// 获取当前用户待办任务列表 /// </summary> private void GetReadyTasks() { IWorkflowService wfService = new WorkflowService(); TaskQueryEntity en = new TaskQueryEntity { UserID = LoginUserID.ToString() }; IList<TaskViewEntity> taskViewList = wfService.GetReadyTasks(en); if (taskViewList != null) { Repeater2.DataSource = taskViewList; Repeater2.DataBind(); } }
public ResponseResult<List<TaskViewEntity>> QueryCompletedTasks(TaskQueryEntity query) { var result = ResponseResult<List<TaskViewEntity>>.Default(); try { var taskList = new List<TaskViewEntity>(); var wfService = new WorkflowService(); var itemList = wfService.GetCompletedTasks(query); if (itemList != null) { taskList = itemList.ToList(); } result = ResponseResult<List<TaskViewEntity>>.Success(taskList); } catch (System.Exception ex) { result = ResponseResult<List<TaskViewEntity>>.Error(string.Format( "获取已办任务数据失败, 异常信息:{0}", ex.Message)); } return result; }
/// <summary> /// 运行流程 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnRun_Click(object sender, EventArgs e) { WfAppRunner appRunner = new WfAppRunner(); appRunner.ProcessGUID = process_guid; appRunner.AppInstanceID = application_instance_id; //第一步任务承担者,登录后要找到自己的任务 appRunner.AppName = "officeIn"; appRunner.UserID = "1"; appRunner.UserName = "******"; IWorkflowService wfService = new WorkflowService(); TaskQueryEntity en = new TaskQueryEntity { UserID = "1" }; IList<TaskViewEntity> taskViewList = wfService.GetReadyTasks(en); if (taskViewList != null) { dataGridView1.DataSource = taskViewList; } ////下一步执行人 //PerformerList list = new PerformerList(); //Performer p = new Performer("3", "user3"); //下一步人ID,Name 注意有角色区分 //list.Add(p); //Dictionary<string, string> dictCondition = new Dictionary<string, string>(); //dictCondition.Add("IsHavingWeight", "true"); //dictCondition.Add("CanUseStock", "false"); //appRunner.Conditions = dictCondition; //NodeView nv = wfService.GetNextActivity(appRunner);//, dictCondition //Dictionary<String, PerformerList> dictPerformer = new Dictionary<String, PerformerList>(); //dictPerformer.Add(nv.ActivityGUID, list); //appRunner.NextActivityPerformers = dictPerformer; var result = wfService.RunProcessApp(appRunner); var msg = string.Format("流程运行结果:{0}\r\n", result.Status); textBox1.Text += msg; }
public ResponseResult GetReadyTasks(TaskQueryEntity query) { IWorkflowService service = new WorkflowService(); var result = service.GetReadyTasks(query); return ResponseResult.Success(); }
public ResponseResult<List<ActivityInstanceEntity>> QueryReadyActivityInstance(TaskQueryEntity query) { var result = ResponseResult<List<ActivityInstanceEntity>>.Default(); try { var wfService = new WorkflowService(); var itemList = wfService.GetRunningActivityInstance(query).ToList(); result = ResponseResult<List<ActivityInstanceEntity>>.Success(itemList); } catch (System.Exception ex) { result = ResponseResult<List<ActivityInstanceEntity>>.Error(string.Format( "获取待办任务数据失败, 异常信息:{0}", ex.Message)); } return result; }
private void btn综合部签字_Click(object sender, EventArgs e) { WfAppRunner appRunner = new WfAppRunner(); appRunner.ProcessGUID = process_guid; appRunner.AppInstanceID = application_instance_id; //第一步任务承担者,登录后要找到自己的任务 appRunner.AppName = "officeIn"; appRunner.UserID = "3"; appRunner.UserName = "******"; IWorkflowService wfService = new WorkflowService(); TaskQueryEntity en = new TaskQueryEntity { UserID = "3" }; IList<TaskViewEntity> taskViewList = wfService.GetReadyTasks(en); appRunner.TaskID = taskViewList[0].TaskID; PerformerList list = new PerformerList(); list.Add(new Performer("5", "user5")); NodeView nv = wfService.GetNextActivity(appRunner); Dictionary<String, PerformerList> dictPerformer = new Dictionary<String, PerformerList>(); dictPerformer.Add(nv.ActivityGUID, list); appRunner.NextActivityPerformers = dictPerformer; var result = wfService.RunProcessApp(appRunner); var msg = string.Format("流程运行结果:{0}\r\n{1}\r\n", result.Status, result.Message); tBoxResult.Text += msg; }
/// <summary> /// 获取任务(分页) /// </summary> /// <param name="query"></param> /// <param name="activityState"></param> /// <returns></returns> private IEnumerable<TaskViewEntity> GetTasksPaged(TaskQueryEntity query, int activityState, out int allRowsCount) { //processState:2 -running 流程处于运行状态 //activityType:4 -表示“任务”类型的节点 //activityState: 1-ready(准备), 2-running(运行); StringBuilder sql = new StringBuilder(512); sql.Append(@"SELECT Top 100 * FROM vwWfActivityInstanceTasks WHERE ProcessState=2 AND ActivityType=4 AND ActivityState=@activityState AND AssignedToUserID=@assignedToUserID "); DynamicParameters parameters = new DynamicParameters(); parameters.Add("@activityState", activityState); parameters.Add("@assignedToUserID", query.UserID); if (!string.IsNullOrEmpty(query.AppInstanceID)) { sql.Append(" AND AppInstanceID=@appInstanceID"); parameters.Add("@appinstanceID", query.AppInstanceID); } if (!string.IsNullOrEmpty(query.ProcessGUID)) { sql.Append(" AND ProcessGUID=@processGUID"); parameters.Add("@processGUID", query.ProcessGUID); } if (!string.IsNullOrEmpty(query.AppName)) { sql.AppendFormat(" AND AppName like '%' + @appName + '%' "); parameters.Add("@appName", query.AppName); } sql.Append(" ORDER BY TASKID DESC "); //如果数据记录数为0,则不用查询列表 StringBuilder sqlCount = new StringBuilder(1024); sqlCount.Append("SELECT COUNT(1) FROM ("); sqlCount.Append(sql.ToString()); sqlCount.Append(")T"); allRowsCount = Repository.Count(sqlCount.ToString(), parameters); if (allRowsCount == 0) { return null; } //查询列表数据并返回结果集 var list = Repository.Query<TaskViewEntity>(sql.ToString(), parameters); return list; }
/// <summary> /// 获取当前用户运行中的任务 /// </summary> /// <param name="query"></param> /// <returns></returns> internal IEnumerable<TaskViewEntity> GetRunningTasks(TaskQueryEntity query, out int allRowsCount) { return GetTasksPaged(query, 2, out allRowsCount); }
/// <summary> /// 获取运行中的任务 /// </summary> /// <param name="query">查询实体</param> /// <returns>任务列表</returns> public IList<TaskViewEntity> GetRunningTasks(TaskQueryEntity query) { int allRowsCount = 0; var taskManager = new TaskManager(); var taskList = taskManager.GetRunningTasks(query, out allRowsCount); if (taskList != null) return taskList.ToList(); else return null; }