Esempio n. 1
0
        public async Task Send(Guid projectId)
        {
            var project  = _singleProjectRepository.Get(projectId);
            var newmodel = new ProjectProgressComplate()
            {
                ProjectBaseId = project.Id,
            };

            newmodel.Id = Guid.NewGuid();
            var task = new InitWorkFlowOutput();
            await _repository.InsertAsync(newmodel);

            task = _workFlowWorkTaskAppService.InitWorkFlowInstance(new InitWorkFlowInput()
            {
                FlowId     = new Guid("812eed79-c3dc-4381-9eab-f0c424c3049d"),
                FlowTitle  = $"{project.SingleProjectName}完成进度",
                InStanceId = newmodel.Id.ToString()
            });
            CurrentUnitOfWork.SaveChanges();
            var flower = Abp.AbpBootstrapper.Create <Abp.Modules.AbpModule>().IocManager.IocContainer.Resolve <IWorkFlowAppService>();
            var next   = await flower.GetNextStepForRun(new GetNextStepForRunInput()
            {
                TaskId = task.TaskId
            });

            var run = Abp.AbpBootstrapper.Create <Abp.Modules.AbpModule>().IocManager.IocContainer.Resolve <IWorkFlowWorkTaskAppService>();
            //var defaultUserId = "";//根据项目评审组获取第一联系人为默认接受者
            var steps = next.Steps.Select(ite => new ExecuteWorkChooseStep()
            {
                id = ite.NextStepId.ToString(), member = ite.DefaultUserId
            }).ToList();
            var ret = await run.ExecuteTask(new ExecuteWorkFlowInput()
            {
                ActionType     = "submit",
                FlowId         = task.FlowId,
                GroupId        = task.GroupId,
                InstanceId     = task.InStanceId,
                IsHideNextTask = true,
                StepId         = task.StepId,
                Steps          = steps,
                TaskId         = task.TaskId,
                Title          = $"{project.SingleProjectName}【{project.ProjectStatus.ToString()}阶段】完成进度"
            });

            ChangeProjectStatus(task.TaskId, Guid.Parse(task.InStanceId));
        }
Esempio n. 2
0
        public async Task <InitWorkFlowOutput> Create(CreateProjectProgressComplateInput input)
        {
            var project = _projectRepository.Get(input.ProjectBaseId);

            var newmodel = new ProjectProgressComplate()
            {
                ProjectBaseId = project.Id,
            };

            newmodel.Id = Guid.NewGuid();
            await _repository.InsertAsync(newmodel);

            return(new InitWorkFlowOutput()
            {
                InStanceId = newmodel.Id.ToString()
            });
        }