Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }
Пример #6
0
        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);
        }
Пример #7
0
        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);
        }
Пример #8
0
        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);
        }