/// <summary> /// 获取已完成的构件 /// 生产3 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <PagedResultDto <SubProjectDto> > GetAllInFinished(GetAllProductionBase input) { var query = _subProjectManager.GetAll() .WhereIf(input.ProjectId.HasValue, v => v.ProjectId == input.ProjectId) .Where(v => v.IsFinished && !v.OffPedestalTime.HasValue); return(await GetAllPagedByQueryFilter <SubProjectDto, SubProject, Guid>(query, input)); }
/// <summary> /// 获得所有正在处理中的子项目,附带台座信息 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <PagedResultDto <SubProjectDto> > GetAllInProcessing(GetAllProductionBase input) { var query = _subProjectManager.GetAll().Include(v => v.Pedestal) .WhereIf(input.ProjectId.HasValue, v => v.ProjectId == input.ProjectId) .Where(v => v.Pedestal != null && !SubProjectManager.IsCurrentStepFinished(v)); var totalCount = await query.CountAsync(); var entities = await query.ToListAsync(); // 需要添加台座信息,所以不能直接用父类方法 return(new PagedResultDto <SubProjectDto>( totalCount, entities.Select(v => { var subProject = v.MapTo <SubProjectDto>(); subProject.PedestalDto = v.Pedestal.MapTo <PedestalDto>(); return subProject; }).ToList() )); }