public async Task <ResultPageDto <List <Role> > > RoleList(RoleDto dto) { var resultPage = new ResultPageDto <List <Role> >(); //resultPage.pi=page.pi; //resultPage.ps=page.ps; resultPage.total = await db.Role.CountAsync(); if (resultPage.total == 0) { return(resultPage); } var Role = db.Role.Include(x => x.RolePower).ThenInclude(x => x.Power).Where(o => 1 == 1); if (!string.IsNullOrEmpty(dto.Name) && dto.Name != "ascend" && dto.Name != "descend") { Role = Role.Where(Company => Company.Name.Contains(dto.Name)); } else if (dto.Name == "ascend") { Role = Role.OrderBy(m => m.Name); } else if (dto.Name == "ascend") { Role = Role.OrderByDescending(m => m.Name); } else { } resultPage.list = await Role.Skip(dto.ps *(dto.pi - 1)).Take(dto.ps).ToListAsync(); return(resultPage); }
public Task <ResultPageDto> GetLogs(string type) { var scount = 0; var list = new List <File>(); if (type == "ERROR") { //获取错误的文档数 System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(_hostingEnvironment.ContentRootPath + erroraddress); if (dir.Exists) { scount = dir.GetFiles().Length; foreach (var f in dir.GetFiles()) { var temp = new File() { FilePath = f.FullName, filename = f.Name }; list.Add(temp); } list = list.OrderByDescending(a => a.FilePath).ToList(); } } else if (type == "WARN") { //获取警告的文档数 System.IO.DirectoryInfo dirw = new System.IO.DirectoryInfo(_hostingEnvironment.ContentRootPath + warnaddress); if (dirw.Exists) { scount = dirw.GetFiles().Length; foreach (var f in dirw.GetFiles()) { var temp = new File() { FilePath = f.FullName, filename = f.Name }; list.Add(temp); } list = list.OrderByDescending(a => a.FilePath).ToList(); } } var result = new ResultPageDto() { code = 0, count = scount, data = list }; //HttpContext.Response(Newtonsoft.Json.JsonConvert.SerializeObject(result)); //HttpContextBase.Response.OutputStream.Write(Newtonsoft.Json.JsonConvert.SerializeObject(result), 0, Newtonsoft.Json.JsonConvert.SerializeObject(result).Length); //HttpContext.Response.ContentType = "text/plain"; //HttpContext.Response.End(); return(Task.FromResult(result)); }
public override async Task <ResultPageDto> GetPageResult(RequestPageDto request) { var query = await GetQueryable(request); var searchKeys = request.SearchKeyDic; var pageResult = query.GroupBy(o => new { o.Material, o.Unit }).PageResult(request.Page, request.Limit); var groupResult = await pageResult.Queryable.ToListAsync(); var data = new List <object>(); foreach (var group in groupResult) { var material = group.Key.Material; var unit = group.Key.Unit; //获取出库总数量 var outNumber = group.Sum(o => o.OutNumber); var fee = group.Sum(o => o.Price * o.Discount * (o.OutNumber)); //todo:需要减掉退货数量 var materialSellBackQuery = Resolve <MaterialSellBackManager>().GetAll().Where(o => o.MaterialId == material.Id && o.UnitId == unit.Id); if (searchKeys.ContainsKey("startDate")) { materialSellBackQuery = materialSellBackQuery.Where(o => o.CreationTime.Date >= DateTime.Parse(searchKeys["startDate"])); } if (searchKeys.ContainsKey("endDate")) { materialSellBackQuery = materialSellBackQuery.Where(o => o.CreationTime.Date <= DateTime.Parse(searchKeys["endDate"])); } var backNumber = materialSellBackQuery.Sum(o => o.BackNumber); var backFee = materialSellBackQuery.Sum(o => o.BackNumber * o.Price * o.Discount); data.Add(new { material.Name, unit?.UnitName, MaterialTypeName = material.MaterialType?.DisplayName, material.Specification, material.MeasureMentUnit, MaterialNature = material.MaterialNature.ToString(), outNumber = outNumber - backNumber, fee = (fee - backFee).ToString("N2"), }); } var result = new ResultPageDto() { code = 0, count = pageResult.RowCount, data = data }; return(result); }
public virtual async Task <ResultPageDto> GetAll(RequestPageDto request) { var matches = await Manager.Repository.GetAll().Select(o => new { o.Id, o.Name }).ToListAsync(); var result = new ResultPageDto() { code = 0, count = matches.Count, data = matches }; return(result); }
public virtual async Task <ResultPageDto> GetAll(RequestPageDto request) { var specialities = (await Manager.Repository.GetAll().Select(o => new { o.Id, o.Name, o.Sort }).ToListAsync()).OrderBy(o => o.Sort); var result = new ResultPageDto() { code = 0, count = specialities.Count(), data = specialities }; return(result); }
public virtual async Task <ResultPageDto> GetMenuDetailPermissions(string type, int id, string menu) { var dtoList = new List <PermissionDto>(); if (string.IsNullOrEmpty(menu)) { } else { var menuName = menu.Substring(menu.LastIndexOf('.') + 1); var modulePermissions = (_moduleInfoManager.GetAllModulePermissions()).Where(o => o.Name.StartsWith($"Module.{menuName}."));//获取对应的模块所有权限 Action <Permission, PermissionDto> action = (a, b) => { }; if (type == "Roles") { action = (permissson, dto) => { dto.IsGranted = _roleManager.IsGrantedAsync(id, permissson).Result; }; } else if (type == "User") { action = (permissson, dto) => { dto.IsGranted = _userManager.IsGrantedAsync(id, permissson).Result; }; } dtoList = modulePermissions.Select(o => { var dto = new PermissionDto() { Name = o.Name, DisplayName = o.DisplayName.Localize(_localizationContext) }; action(o, dto); //if (type == "Roles") //{ // dto.IsGranted = _roleManager.IsGrantedAsync(id, o).Result; //}else if (type == "Staff") //{ // dto.IsGranted = _userManager.IsGrantedAsync(id, o).Result; //} return(dto); }).ToList(); } var result = new ResultPageDto() { code = 0, count = dtoList.Count, data = dtoList }; return(result); }
public override async Task <ResultPageDto> GetPageResult(RequestPageDto request) { var pageResult = await GetPageResultQueryable(request); var data = (await pageResult.Queryable.Include(o => o.CreatorUser).OrderByDescending(o => o.CreationTime).ToListAsync()) .Select(o => new { o.Id, o.DictionaryName, Creator = o.CreatorUser.Name, CreationTime = o.CreationTime.ToString("yyyy-MM-dd HH:mm"), FieldCount = o.GetDictionary().Count }); var result = new ResultPageDto() { code = 0, count = pageResult.RowCount, data = data }; return(result); }
public async virtual Task <ResultPageDto> GetCharger(int majorId) { var manager = Manager as MajorManager; var chargers = await manager.GetMajorChargers(majorId); var result = new ResultPageDto() { code = 0, count = chargers.Count, data = chargers.Select(o => { return(new { o.Id, o.Name, o.UserName, OrganizationName = o.Organization?.BriefName }); }) }; return(result); }
public async virtual Task <ResultPageDto> GetCompanyByKey(string keyword, int page = 1, int limit = 50) { //接口地址 string apiUrl = $"http://mes.imould.me/Ajax/ajaxapi.ashx?action=GetYunCompanyList&page={page}&pagesize={limit}&companyName=" + keyword; var pageResult = await Senparc.CO2NET.HttpUtility.Get.GetJsonAsync <CloudPageResultDto <CloudCompanyDto> >(apiUrl); var result = new ResultPageDto() { code = 0, count = pageResult.Data.Totle, data = pageResult.Data.ObjList }; return(result); }
public override async Task <ResultPageDto> GetPageResult(RequestPageDto request) { var pageResult = await GetPageResultQueryable(request); // var data = (await pageResult.Queryable.ToListAsync()).ConvertAll(PageResultConverter); var tenants = await pageResult.Queryable.ToListAsync(); var data = new List <object>(); foreach (var q in tenants) { var pareDto = q.MapTo <PartDto>(); var materialRequire = Resolve <MaterialRequireManager>().GetAll().Where(o => o.RequireSource == "BOM" && o.RequireSourceId == q.Id && o.ProjectId == q.ProjectId).FirstOrDefault(); if (materialRequire != null) { var status = "未采购"; if (materialRequire.IsUsed) { status = "已领用"; } else if (materialRequire.IsReceived) { status = "已入库"; } else if (materialRequire.IsBuyed) { status = "已采购"; } else if (materialRequire.IsBuyed) { status = "已询价"; } pareDto.MaterialStatus = status; } data.Add(pareDto); } var result = new ResultPageDto() { code = 0, count = pageResult.RowCount, data = data }; return(result); }
public virtual async Task <ResultPageDto> GetSimplePageResult(RequestPageDto requestPageDto) { var pageResult = await GetPageResultQueryable(requestPageDto); var data = await pageResult.Queryable .Select(o => new { o.Id, o.Name, o.UserName, o.PhoneNumber }) .ToListAsync(); var result = new ResultPageDto() { code = 0, count = pageResult.RowCount, data = data }; return(result); }
public override async Task <ResultPageDto> GetPageResult(RequestPageDto request) { var pageResult = await GetPageResultQueryable(request); var data = await pageResult.Queryable.Include(o => o.CreatorUser).Include(o => o.ColumnInfos) .Select(o => new { o.Id, o.ModuleKey, o.ModuleName, o.IsInterModule, Creator = o.CreatorUser.Name, CreationTime = o.CreationTime.ToString("yyyy-MM-dd HH:mm"), ColumnCount = o.ColumnInfos.Count, BtnCount = o.Buttons.Count }).ToListAsync(); var result = new ResultPageDto() { code = 0, count = pageResult.RowCount, data = data }; return(result); }
public async virtual Task <ResultPageDto> GetExpert(int majorId) { var manager = Manager as MajorManager; var experts = await manager.GetMajorExperts(majorId); var result = new ResultPageDto() { code = 0, count = experts.Count, data = experts.Select(o => { var majorExpert = _majorExpertRepository.Single(e => e.MajorId == majorId && e.UserId == o.Id); return(new { o.Id, o.Name, o.UserName, OrganizationName = o.Organization?.BriefName, majorExpert.MajorExpertRank, MajorExpertId = majorExpert.Id }); }) }; return(result); }
/// <summary> /// 分页返回报工记录 /// </summary> /// <param name="request"></param> /// <returns></returns> public override async Task <ResultPageDto> GetPageResult(RequestPageDto request) { //显示已删除的记录 using (CurrentUnitOfWork.DisableFilter(AbpDataFilters.SoftDelete)) { var query = await GetPageResultQueryable(request); var reports = await query.Queryable.ToListAsync(); var data = reports.Select(o => { return(new { o.Id, o.ProcessTask?.Part?.Project?.ProjectSN, o.ProcessTask?.Part?.PartName, o.ProcessTask?.Part?.PartSN, o.ProcessTask?.Part?.PartSpecification, o.ProcessTask?.Part?.PartNum, o.ProcessTask?.ProcessSN, o.ProcessTask?.Supplier?.UnitName, o.ProcessTask?.ProcessType?.ProcessTypeName, o.ProcessTask?.ProjectCharger, TaskId = o.ProcessTask?.Id, RequireDate = o.ProcessTask?.RequireDate?.ToString("yyyy-MM-dd"), AppointDate = o.ProcessTask?.AppointDate?.ToString("yyyy-MM-dd"), ReporterName = o.Reporter?.Name, ReportType = o.ReportType.ToString(), ReportTime = o.ReportTime.ToString("yyyy-MM-dd HH:mm:ss"), CreationTime = o.CreationTime.ToString("yyyy-MM-dd HH:mm:ss"), o.Remarks, o.Files, o.IsDeleted }); }); var result = new ResultPageDto() { code = 0, count = query.RowCount, data = data }; return(result); } }
public override async Task <ResultPageDto> GetPageResult(RequestPageDto request) { var pageResult = await GetPageResultQueryable(request); var data = (await pageResult.Queryable.Include(o => o.Match).ToListAsync()) .Select(o => { return(new { o.Id, MatchName = o.Match.Name, o.Identifier, o.Year, o.Remarks, o.MatchInstanceStatus, o.DataProjectPath, o.DataReviewPath, o.MatchInstanceDisplayMode }); }); var result = new ResultPageDto() { code = 0, count = pageResult.RowCount, data = data }; return(result); }
public virtual async Task <ResultPageDto> GetFormDesignPageResult(RequestPageDto request) { var pageResult = await GetPageResultQueryable(request); pageResult.Queryable = pageResult.Queryable.Include(o => o.Match).Include(o => o.Major).Include(o => o.SubMajor); var data = (await pageResult.Queryable.ToListAsync()) .Select(o => { return(new { o.Id, MatchName = o.Match.Name, MajorName = o.Major.BriefName, SubMajorName = o.SubMajor != null ? o.SubMajor.BriefName : "-", o.MatchResourceStatus }); }); var result = new ResultPageDto() { code = 0, count = pageResult.RowCount, data = data }; return(result); }
public override async Task <ResultPageDto> GetPageResult(RequestPageDto request) { var pageResult = await GetPageResultQueryable(request); var data = (await pageResult.Queryable.Include(o => o.Organization).Include(o => o.Specialities).ToListAsync()) .Select(o => { var roles = UserManager.GetRolesAsync(o).Result; var specialities = UserManager.GetSpecialitisAsync(o).Result; return(new { o.Id, o.Name, o.UserName, o.IsActive, RoleName = string.Join(",", roles.Select(r => r.DisplayName)), OrganizationName = o.Organization?.BriefName, Specialities = specialities.Select(s => s.Name) }); }); var result = new ResultPageDto() { code = 0, count = pageResult.RowCount, data = data }; return(result); }
public override async Task <ResultPageDto> GetPageResult(RequestPageDto request) { var pageResult = await GetPageResultQueryable(request); pageResult.Queryable = pageResult.Queryable.Include(o => o.Match).Include(o => o.Major); //只查询针对赛事的奖项 var data = (await pageResult.Queryable.ToListAsync()) .Select(o => { return(new { MatchName = o.Match.Name, o.Id, o.PrizeName, MajorName = o.Major.BriefName, o.IsActive, o.PrizeType, o.Remarks }); }); var result = new ResultPageDto() { code = 0, count = pageResult.RowCount, data = data }; return(result); }
public override async Task <ResultPageDto> GetPageResult(RequestPageDto request) { var query = await GetQueryable(request); var pageResult = query.GroupBy(o => new { o.Material, o.Unit }).PageResult(request.Page, request.Limit); var groupResult = await pageResult.Queryable.ToListAsync(); var data = new List <object>(); foreach (var group in groupResult) { var material = group.Key.Material; var unit = group.Key.Unit; //获取入库总数量 var buyNumber = group.Sum(o => o.BuyNumber - o.BackNumber); var fee = group.Sum(o => o.Price * o.Discount * (o.BuyNumber - o.BackNumber)); data.Add(new { material.Name, unit.UnitName, MaterialTypeName = material.MaterialType?.DisplayName, material.Specification, material.MeasureMentUnit, MaterialNature = material.MaterialNature.ToString(), buyNumber, fee = fee.ToString("N2"), }); } var result = new ResultPageDto() { code = 0, count = pageResult.RowCount, data = data }; return(result); }
public override async Task <ResultPageDto> GetPageResult(RequestPageDto request) { var pageResult = await GetPageResultQueryable(request); var materials = await pageResult.Queryable.ToListAsync(); var data = new List <object>(); foreach (var material in materials) { //获取订货总数量及库存数量 //var sellNumber = await baseQuery.Where(o => o.MaterialId == material.Id).SumAsync(o => o.SellNumber); //var outNumber = await baseQuery.Where(o => o.MaterialId == material.Id).SumAsync(o => o.OutNumber); //var storeNumber = await StoreMaterialManager.GetAll().Where(o => o.MaterialId == material.Id).SumAsync(o => o.Number); //data.Add(new //{ // material.Name, // MaterialTypeName = material.MaterialType?.DisplayName, // material.Specification, // material.MeasureMentUnit, // MaterialNature=material.MaterialNature.ToString(), // sellNumber, // outNumber, // storeNumber //}); data.Add(_summarys.Single(o => o.Id == material.Id)); } var result = new ResultPageDto() { code = 0, count = pageResult.RowCount, data = data }; return(result); }
public override async Task <ResultPageDto> GetPageResult(RequestPageDto request) { var pageResult = await GetPageResultQueryable(request); var data = await pageResult.Queryable .Select(o => new { o.Id, o.Title, CreationTime = o.CreationTime.ToString("yyyy-MM-dd HH:mm"), LastModificationTime = o.LastModificationTime != null? o.LastModificationTime.Value.ToString("yyyy-MM-dd HH:mm"):"", PublishTime = o.PublishTime != null ? o.PublishTime.Value.ToString("yyyy-MM-dd HH:mm") : "", PublishTimeShort = o.PublishTime != null ? o.PublishTime.Value.ToString("yyyy-MM-dd") : "", o.NoticeStatus }).ToListAsync(); var result = new ResultPageDto() { code = 0, count = pageResult.RowCount, data = data }; return(result); }
public virtual async Task <ResultPageDto> GetRemindTacticPageResult(RequestPageDto request) { var manager = Manager as TacticManager; var query = await GetPageResultQueryable(request); query.Queryable = query.Queryable.Where(o => o.TacticType == TacticType.RemindTactic); var tactics = await query.Queryable.ToListAsync(); var data = tactics.Select(o => { var tacticPersons = manager.GetTacticReminders(o.Id).Result; var tacticInfo = o.RemindTacticInfo; return(new { o.Id, o.IsActive, o.TacticName, tacticInfo.DynamicRemindPoster, tacticInfo.DynamicRemindCraftsMan, tacticInfo.DynamicRemindProjectCharger, tacticInfo.DynamicRemindChecker, tacticInfo.DynamicRemindVerifier, tacticInfo.DynamicRemindCustomer, Persons = tacticPersons.Select(p => new { p.Id, p.Name }) }); }); var result = new ResultPageDto() { code = 0, count = query.RowCount, data = data }; return(result); }
public virtual async Task <ResultPageDto> GetProcessSummaryPageResult(RequestPageDto request) { var query = await GetPageResultQueryable(request); var processTypes = await ProcessTypeAppService.GetUsedProcessTypes(); var projects = await query.Queryable.ToListAsync(); //var data = projects.Select(o => { // var dic = new Dictionary<string, object>() // { // {"Id",o.Id}, // { "ProjectSN",o.ProjectSN}, // {"ProjectName",o.ProjectName } // }; // return dic; //}); var data = new List <Dictionary <string, object> >(); var manager = Manager as MESProjectManager; //是否强制回单 //var mustReturnFile = await SettingManager.GetSettingValueAsync(Master.Configuration.MESSettingNames.MustReturnFileBeforeCheck) == "true"; foreach (var project in projects) { var dic = await manager.GetProjectProcessSummary(project); #region 原有非缓存方式代码 //var dic = new Dictionary<string, object>() //{ // {"Id",project.Id}, // { "ProjectSN",project.ProjectSN}, // {"ProjectName",project.ProjectName } //}; ////var dic = data.Single(o => Convert.ToInt32(o["Id"]) == project.Id); //var feeTotal = 0M; //var innerFeeTotal = 0M; //var outerFeeTotal = 0M; //var hoursTotal = 0M; //var taskNumberTotal = 0; //var NGNumberTotal = 0; //var delayNumberTotal = 0M; //foreach (var processType in processTypes) //{ // var taskQuery = ProcessTaskManager.GetAll() // .Where(t => t.Part.ProjectId == project.Id && t.ProcessTypeId == processType.Id && t.ProcessTaskStatus!=ProcessTaskStatus.Inputed); // //强制回单的增加查询条件 // //if (mustReturnFile) // //{ // // taskQuery = taskQuery.Where($"Status!=null and Status.Object.Contains(\"{ProcessTask.Status_Verify}\")"); // //} // // .WhereIf(mustReturnFile, t =>t.Status!=null && t.Status.Object!=null && t.Status.Object.Contains(ProcessTask.Status_Verify)) // //获取实际金额 // var fee = taskQuery.Sum(t => t.Fee); // feeTotal += fee??0; // dic.Add("ProcessType_" + processType.Id+"_Fee", fee?.ToString("0.00")); // //厂内金额 // var innerFee = taskQuery.Where($"Status!=null and Status.Object.Contains(\"{ProcessTask.Status_Inner}\")").Sum(t => t.Fee); // innerFeeTotal += innerFee ?? 0; // dic.Add("ProcessType_" + processType.Id + "_InnerFee", innerFee?.ToString("0.00")); // //厂外金额 // outerFeeTotal += ((fee ?? 0) - (innerFee ?? 0)); // dic.Add("ProcessType_" + processType.Id + "_OuterFee", ((fee ?? 0) - (innerFee ?? 0)).ToString("0.00")); // //实际工时 // var hours = taskQuery.Sum(t => t.ActualHours); // hoursTotal += hours ?? 0; // dic.Add("ProcessType_" + processType.Id+"_ActualHours", hours?.ToString("0.00")); // //总数 // var taskNumber = taskQuery.Count(); // taskNumberTotal += taskNumber; // dic.Add("ProcessType_" + processType.Id + "_TaskNumber", taskNumber.ToString()); // //不合格数 // var NGNumber = taskQuery.Where(t => MESDbContext.GetJsonValueNumber(t.Property, "$.QuanlityType") == 2).Count(); // NGNumberTotal += NGNumber; // dic.Add("ProcessType_" + processType.Id + "_NGNumber", NGNumber.ToString()); // //延迟数 // //var delayNumber = taskQuery.Where("(Convert.ToDateTime(RequireDate)-Convert.ToDateTime(EndDate==null?DateTime.Now.ToString():EndDate.ToString())).TotalDays<0 and RequireDate!=null").Count(); // //貌似不能直接用ef core查询 // var delayNumber =await DynamicQuery.SingleAsync<int?>($"select sum(datediff( case when enddate is null then NOW() else enddate end,requiredate)) from {nameof(ProcessTask)} where requiredate is not null and datediff( case when enddate is null then NOW() else enddate end,requiredate)>0 and ProcessTaskStatus!=0 and processTypeId={processType.Id} and partid in (select id from part where projectid={project.Id} and isdeleted=0) and isdeleted=0"); // //var delayNumber = taskQuery.Where("(Convert.ToDateTime(RequireDate)-Convert.ToDateTime(EndDate)).TotalDays<0 and RequireDate!=null and EndDate!=null").Sum(o=> (o.EndDate.Value-o.StartDate.Value).TotalDays); // delayNumberTotal += delayNumber??0; // dic.Add("ProcessType_" + processType.Id + "_DelayNumber", delayNumber.ToString()); //} //dic.Add("FeeTotal", feeTotal.ToString("0.00")); //dic.Add("InnerFeeTotal", innerFeeTotal.ToString("0.00")); //dic.Add("OuterFeeTotal", outerFeeTotal.ToString("0.00")); //dic.Add("HoursTotal", hoursTotal.ToString("0.00")); //dic.Add("TaskNumberTotal", taskNumberTotal.ToString()); //dic.Add("NGNumberTotal", NGNumberTotal.ToString()); //dic.Add("DelayNumberTotal", delayNumberTotal.ToString("0.00")); #endregion data.Add(dic); } var result = new ResultPageDto() { code = 0, count = query.RowCount, data = data }; return(result); }
public override async Task <ResultPageDto> GetPageResult(RequestPageDto request) { ModuleInfo moduleInfo = await ModuleInfo(request); //如果有过滤字段则需要返回过滤字段对应的数据 if (!string.IsNullOrEmpty(request.FilterColumns)) { var filterColumns = Newtonsoft.Json.JsonConvert.DeserializeObject <List <string> >(request.FilterColumns); var query = await GetQueryable(request); var fitlerColumnResult = await GetFilterColumnsResult(moduleInfo, filterColumns, query, limit : 100); return(new ResultPageDto() { data = fitlerColumnResult }); } //var query =await GetBaseQuery(request); ////五种查询 ////1.where里的查询是直接lamda查询 //if (!request.Where.IsNullOrWhiteSpace()) //{ // query = query.Where(request.Where); //} ////2.高级查询,通过高级查询表单提交过来的数据 //if (!request.SearchCondition.IsNullOrWhiteSpace()) //{ // query = DynamicSearchParser.Parse<TEntity>(request.SearchCondition, moduleInfo, query); //} ////3.内置查询,写死在页面上的查询过滤 //if (!request.SearchKeys.IsNullOrWhiteSpace()) //{ // query = await BuildSearchQueryAsync(Newtonsoft.Json.JsonConvert.DeserializeObject<IDictionary<string, string>>(request.SearchKeys), query as IQueryable<TEntity>); //} ////4.表头过滤 //if (!request.TableFilter.IsNullOrWhiteSpace()) //{ // query = await BuildTableFilterQueryAsync(Newtonsoft.Json.JsonConvert.DeserializeObject<List<FilterColumnDto>>(request.TableFilter), query as IQueryable<TEntity>); //} ////5.关键字查询,一般用于字段引用时的下拉查询 //if (!request.Keyword.IsNullOrEmpty()) //{ // query = await BuildKeywordQueryAsync(request.Keyword, query as IQueryable<TEntity>); //} //if (!request.OrderField.IsNullOrWhiteSpace()) //{ // query = DynamicOrderParser.Parse<TEntity>(request.OrderField, request.OrderType?.ToLower() == "asc" ? SortType.Asc : SortType.Desc, moduleInfo, query); //} //else //{ // //默认排序 // if (moduleInfo.SortField != "Id") // { // query = DynamicOrderParser.Parse<TEntity>(moduleInfo.SortField, moduleInfo.SortType, moduleInfo, query); // } // else // { // query = query.OrderBy($"{moduleInfo.SortField} {moduleInfo.SortType.ToString()}"); // } //} //var pageResult = query.PageResult(request.Page, request.Limit); var pageResult = await GetPageResultQueryable(request); var dataResult = await ModuleManager.GetModuleDataListAsync(moduleInfo, pageResult.Queryable); var result = new ResultPageDto() { code = 0, count = pageResult.RowCount, data = dataResult.ToList().ConvertAll(ModulePageResultConverter) }; return(result); }
public override async Task <ResultPageDto> GetPageResult(RequestPageDto request) { var query = await GetPageResultQueryable(request); var tenants = await query.Queryable.ToListAsync(); var data = new List <object>(); foreach (var o in tenants) { //var count = await ProcessTaskRepository.GetAll().CountAsync(); //var taskCount=await ProcessTaskRepository.GetAll() // .Where(p => MESDbContext.GetJsonValueNumber(p.Supplier.Property, "$.TenantId") ==o.Id) // .CountAsync(); //var reportCount=await ProcessTaskReportRepository.GetAll() // .Where(p=> MESDbContext.GetJsonValueNumber(p.ProcessTask.Supplier.Property, "$.TenantId") == o.Id) // .CountAsync(); var lastLogin = await UserLoginAttemptRepository.GetAll().IgnoreQueryFilters().Where(u => u.TenantId == o.Id && u.Result == LoginResultType.Success).LastOrDefaultAsync(); data.Add(new { o.Id, o.TenancyName, o.Name, o.IsActive, Edition = o.Edition?.DisplayName, ExpireDate = o.GetPropertyValue <DateTime?>("ExpireDate"), LastLoginTime = lastLogin?.CreationTime.ToString("yyyy-MM-dd HH:mm"), //TaskNumber = ProcessTaskRepository.Count(p => p.TenantId == o.Id && p.ProcessTaskStatus != ProcessTaskStatus.Inputed), //ReportNumber = ProcessTaskReportRepository.Count(p => p.TenantId == o.Id), //TaskCount = taskCount, //ReportCount = reportCount, CreationTime = o.CreationTime.ToString("yyyy-MM-dd HH:mm"), Mobile = o.GetPropertyValue <string>("Mobile"), PersonName = o.GetPropertyValue <string>("PersonName") }); } //var data = tasks.Select( o => { // var lastLogin= UserLoginAttemptRepository.GetAll().Where(u => u.TenantId == o.Id && u.Result == LoginResultType.Success).LastOrDefault(); // return new // { // o.Id, // o.TenancyName, // o.Name, // o.IsActive, // LastLoginTime=lastLogin?.CreationTime.ToString("yyyy-MM-dd HH:mm"), // TaskNumber = ProcessTaskRepository.Count(p=>p.TenantId==o.Id && p.ProcessTaskStatus!=ProcessTaskStatus.Inputed), // ReportNumber= ProcessTaskReportRepository.Count(p=>p.TenantId==o.Id), // CreationTime =o.CreationTime.ToString("yyyy-MM-dd HH:mm"), // Mobile=o.GetPropertyValue<string>("Mobile"), // PersonName=o.GetPropertyValue<string>("PersonName") // }; //}); var result = new ResultPageDto() { code = 0, count = query.RowCount, data = data }; return(result); }
public virtual async Task <object> GetExperts(int matchInstanceId, int?specialityId, string name, string exclude, string all, int?isexclude, int?isinclude, int?organizationId) { var expertRoleId = (await _roleRepository.SingleAsync(o => o.Name == "Expert")).Id; var expertRoleName = StaticRoleNames.Host.Expert.Split('|')[0]; var matchInstance = await _matchInstanceRepository.GetAsync(matchInstanceId); //var userQuery = Repository.GetAll(); var userQuery = Repository.GetAllIncluding(o => o.Organization, o => o.Specialities).Where(o => o.Roles.Count(r => r.RoleId == expertRoleId) > 0); //var userQuery= from userrole in _userRoleRepository.GetAll() // join role in _roleRepository.GetAll() on userrole.RoleId equals role.Id // join user in Repository.GetAll() on userrole.UserId equals user.Id // where role.Name== expertRoleName // select user; //var userQuery = Repository.GetAll().Where(o=>o.Roles.Count(r=>r.)); if (!string.IsNullOrEmpty(name)) { userQuery = userQuery.Where(o => o.Name.Contains(name)); } if (organizationId != null) { userQuery = userQuery.Where(o => o.OrganizationId == organizationId.Value); } IEnumerable <long> excludeIds = new List <long>(); if (!string.IsNullOrEmpty(exclude)) { excludeIds = exclude.Split(',').Select(o => Convert.ToInt64(o)); } if (!string.IsNullOrEmpty(all)) { //有all参数的为回避专家选择,all参数表示可供选择的专家范围 var allIds = all.Split(',').Select(o => Convert.ToInt64(o)); userQuery = userQuery.Where(o => allIds.Contains(o.Id)); if ((isexclude.HasValue || isinclude.HasValue) && (!(isexclude.HasValue && isinclude.HasValue))) { if (isexclude.HasValue) { //已选择回避 userQuery = userQuery.Where(o => excludeIds.Contains(o.Id)); } else { //未选择回避 userQuery = userQuery.Where(o => !excludeIds.Contains(o.Id)); } } } else if (!string.IsNullOrEmpty(exclude)) { //没有all参数有exclude参数的为选择评选专家 userQuery = userQuery.Where(o => !excludeIds.Contains(o.Id)); } //var majorExpertQuery = _majorExpertRepository.GetAll(); //if (rank != null) //{ // var majorExpertRank = (MajorExpertRank)rank.Value; // majorExpertQuery = majorExpertQuery.Where(o => o.MajorExpertRank == majorExpertRank); //} //if (majorId.HasValue) //{ // var major = await _majorRepository.GetAsync(majorId.Value); // if (subMajorId != null) // { // //如果指定专业小类,则限定此专业小类绑定的专家 // var subMajor = await _majorRepository.GetAsync(subMajorId.Value); // var oriSubMajor = await _majorRepository.GetAll().Where(o => o.BriefCode == subMajor.BriefCode && o.MatchId == subMajor.MatchInstance.MatchId).FirstOrDefaultAsync(); // if (oriSubMajor != null) // { // majorExpertQuery = majorExpertQuery.Where(o => o.MajorId == oriSubMajor.Id); // } // } // else // { // //未指定专业小类的,限定专业大类下所有专业小类绑定的专家 // var oriMajor = await _majorRepository.GetAll().Where(o => o.BriefCode == major.BriefCode && o.MatchId == major.MatchInstance.MatchId).FirstOrDefaultAsync(); // if (oriMajor != null) // { // var subMajorIds = (await MajorManager.FindChildrenAsync(oriMajor.MatchId, oriMajor.MatchInstanceId, oriMajor.Id)).Select(o => o.Id); // majorExpertQuery = majorExpertQuery.Where(o => subMajorIds.Contains(o.MajorId)); // } // } //} if (specialityId.HasValue) { userQuery = userQuery.Where(u => _userSpecialityRepository.GetAll().Where(o => o.SpecialityId == specialityId.Value).Select(o => o.UserId).Contains(u.Id)); } //var query = from user in userQuery // join majorExpert in majorExpertQuery on user.Id equals majorExpert.UserId // select user; var users = await userQuery.ToListAsync(); //var specialities = await _specialityRepository.GetAllListAsync(); var reviewExpertDtos = users.Select(o => { var specialities = UserManager.GetSpecialitisAsync(o).Result; return(new ReviewExpertDto() { Id = o.Id, Name = o.Name, OrganizationDisplayName = o.Organization?.BriefName, Specialities = specialities.Select(s => s.Name).ToList() }); }); //var expertDtos =await UserToReviewExpertDtos(users, matchInstance.MatchId); var result = new ResultPageDto() { code = 0, count = users.Count(), data = reviewExpertDtos.OrderBy(o => o.Name) }; //var result = new ResultPageDto (){ code = 0, count = users.Count, data = temp.OrderBy(o=>o.Name) }; return(result); }