public bool TurnTask(string taskId, WfAppRunner runner) { TaskManager tim = new TaskManager(_dataAccessor, _loggerFactory); WfTask task = tim.GetTask(taskId); if (task == null) { throw new FapException("任务不存在"); } Performer turner = runner.Turners[0]; ActivityInstanceManager aim = new ActivityInstanceManager(_dataAccessor, _loggerFactory); WfActivityInstance activity = aim.GetByFid(task.ActivityInsUid); activity.AssignedToUserIds = activity.AssignedToUserIds.Replace(runner.UserId, turner.UserId); activity.AssignedToUserNames = activity.AssignedToUserNames.Replace(runner.UserName, turner.UserName); aim.Update(activity); task.ExecutorEmpUid = turner.UserId; task.ExecutorEmpName = turner.UserName; task.UpdateBy = runner.UserId; task.UpdateName = runner.UserName; task.UpdateDate = DateTimeUtils.CurrentDateStr; tim.Update(task); TaskAdviceManager tam = new TaskAdviceManager(_dataAccessor, _applicationContext, _loggerFactory); tam.RecordWhenTurnTask(runner.ProcessUid, runner.CurrNodeId, runner.Comment, turner.UserId, turner.UserName); return(true); }
public bool EndProcess(string processId, string comment) { var pim = new ProcessInstanceManager(_dataAccessor, _loggerFactory); pim.End(processId); TaskAdviceManager tam = new TaskAdviceManager(_dataAccessor, _applicationContext, _loggerFactory); tam.RecordWhenEnd(processId, comment); return(true); }
public bool EndProcess(string processId, string comment) { var pim = new ProcessInstanceManager(_serviceProvider); pim.End(processId); TaskAdviceManager tam = new TaskAdviceManager(_serviceProvider); tam.RecordWhenEnd(processId, comment); return(true); }
public bool ResumeProcess(string processId, string comment) { bool result = true; try { var pim = new ProcessInstanceManager(_dataAccessor, _loggerFactory); pim.Resume(processId); var tam = new TaskAdviceManager(_dataAccessor, _applicationContext, _loggerFactory); tam.RecordWhenResume(processId, comment); } catch (Exception ex) { _logger.LogError(ex.Message); result = false; } return(result); }
public bool ResumeProcess(string processId, string comment) { bool result = true; try { var pim = new ProcessInstanceManager(_serviceProvider); pim.Resume(processId); var tam = new TaskAdviceManager(_serviceProvider); tam.RecordWhenResume(processId, comment); } catch (Exception ex) { _logger.LogError(ex.Message); result = false; } return(result); }
public bool DeleteProcess(string processId, string comment) { WfProcessInstance process = _dataAccessor.Get <WfProcessInstance>(processId); if (process != null) { process.ProcessState = WfProcessInstanceState.Deleted; _dataAccessor.Update <WfProcessInstance>(process); _dataAccessor.Execute("delete from wfTask where ProcessId='" + processId + "'"); _dataAccessor.Execute("delete from WfActivityInstance where ProcessId='" + processId + "'"); TaskAdviceManager tam = new TaskAdviceManager(_dataAccessor, _applicationContext, _loggerFactory); tam.RecordWhenDelete(processId, comment); return(true); } return(false); }
public bool DeleteProcess(string processId, string comment) { WfProcessInstance process = _dbContext.Get <WfProcessInstance>(processId); if (process != null) { process.ProcessState = WfProcessInstanceState.Deleted; _dbContext.Update <WfProcessInstance>(process); _dbContext.Execute("delete from wfTask where ProcessId='" + processId + "'"); _dbContext.Execute("delete from WfActivityInstance where ProcessId='" + processId + "'"); TaskAdviceManager tam = new TaskAdviceManager(_serviceProvider); tam.RecordWhenDelete(processId, comment); return(true); } return(false); }
public bool AssignAgentTask(string taskId, WfAppRunner runner) { TaskManager tim = new TaskManager(_dataAccessor, _loggerFactory); WfTask task = tim.GetTask(taskId); if (task == null) { throw new FapException("任务不存在"); } Performer agent = runner.Agents[0]; TaskAdviceManager tam = new TaskAdviceManager(_dataAccessor, _applicationContext, _loggerFactory); tam.RecordWhenAssignAgentTask(runner.ProcessUid, runner.CurrNodeId, runner.Comment, agent.UserId, agent.UserName); task.AgentEmpUid = agent.UserId; task.AgentEmpName = agent.UserName; task.UpdateBy = runner.UserId; task.UpdateName = runner.UserName; task.UpdateDate = DateTimeUtils.CurrentDateTimeStr; tim.Update(task); return(true); }