/// <summary> /// 获取一个任务的表格包含转发记录,原来是使用的Get方法,现在直接用这个接口取链式 /// 任务详情页面 /// </summary> /// <param name="input"></param> /// <returns>任务</returns> public async Task <PagedResultDto <TaskItemAssignmentDto> > GetAssignment(EntityDto <Guid> input) { var entity = await GetEntityByIdAsync(input.Id); CurrentUnitOfWork.DisableFilter(AbpDataFilters.MayHaveTenant); // 关闭软删除筛选器 using (CurrentUnitOfWork.DisableFilter(AbpDataFilters.SoftDelete)) { var entityList = Repository.GetAll() .Where(q => q.SubProjectId == entity.SubProjectId) .Where(q => q.ProcedureStepTaskItemId == entity.ProcedureStepTaskItemId) // 如果subProjectId没有值,则使用RootAssignmentId筛选 .WhereIf(!entity.SubProjectId.HasValue, v => v.RootAssignmentId == entity.RootAssignmentId) .OrderBy(q => q.CreationTime).Include(v => v.User); var list = entityList.Select(q => q.MapTo <TaskItemAssignmentDto>()).ToList(); // 向第一个元素填入需要的信息 list[0].TaskItem = (await _taskItemManager.GetAsync(entity.TaskItemId)).MapTo <TaskItemDto>(); // 如果subProjectId为空则不进行操作 SubProjectId为空,无法继续操作 if (entity.SubProjectId.HasValue) { list[0].SubProject = (await _subProjectManager.GetAsync((Guid)entity.SubProjectId)) .MapTo <SubProjectDto>(); } return(new PagedResultDto <TaskItemAssignmentDto>(await entityList.CountAsync(), list)); } }
public async Task <PedestalDto> Update(PedestalDto input) { var entity = await _repository.GetAsync(input.Id); if (input.SubProjectId.HasValue) { var subProject = await _subProjectManager.GetAsync((Guid)input.SubProjectId); // 如果梁片未完成则初始化状态码;否则插入记录表 if (!subProject.IsFinished) { await _subProjectManager.InitStageCode(subProject); } else { _subProjectManager.InsertStageLog(subProject); } // 检查占用 await _pedestalManager.CheckOccupation(input.Id, input.SubProjectId); // 删除原有台座上的梁片 await _pedestalManager.DeleteSubProjectInPedestal(subProject); // 判断是否未制梁台或存梁台 await _pedestalManager.QualifyToPedestal(entity, subProject); } else { throw new UserFriendlyException("没有子项目id"); } entity = await _repository.UpdateAsync(input.MapTo(entity)); return(entity.MapTo <PedestalDto>()); }