/// <summary> /// 获取分页列表数据 /// </summary> /// <param name="model"></param> /// <returns></returns> public async Task <ApiResultPageLR <XsLadeBaseVO> > GetPageLRSync(SearchDTO <XsLadeBaseDTO> model) { var dto = model.Data; var expression = dto.GetExpression(); var orders = dto.GetOrder(); var count = await _xsLadeBaseRepository.CountAsync(expression, isMaster : false); if (count == 0) { return(ApiResultUtil.IsFailedPageLR <XsLadeBaseVO>("无数据!")); } var entities = await _xsLadeBaseRepository.GetListAsync(model.PageIndex, model.PageSize, expression, isMaster : false, orderByFields : orders); var scheduleTaskVOs = this.ObjectMapper.Map <List <XsLadeBaseVO> >(entities); return(ApiResultUtil.IsSuccess(scheduleTaskVOs, count, model.PageIndex, model.PageSize)); }
/// <summary> /// 获取分页列表数据 /// </summary> /// <param name="model"></param> /// <returns></returns> public async Task <ApiResultPageLR <HyFormulaMaterVO> > GetPageLRSync(SearchDTO <HyFormulaMaterDTO> model) { var dto = model.Data; //根据查询条件获取分页列表数据 var expression = dto.GetExpression(); var orders = dto.GetOrder(); var count = await _hyFormulaMaterRepository.CountAsync(expression); if (count == 0) { return(ApiResultUtil.IsFailedPageLR <HyFormulaMaterVO>("无数据!")); } var entities = await _hyFormulaMaterRepository.GetListAsync(model.PageIndex, model.PageSize, expression, isMaster : false, orderByFields : orders); var hyFormulaMaterVOs = this.ObjectMapper.Map <List <HyFormulaMaterVO> >(entities); return(ApiResultUtil.IsSuccess(hyFormulaMaterVOs, count, model.PageIndex, model.PageSize)); }
/// <summary> /// 获取分页列表数据 /// </summary> /// <param name="model"></param> /// <returns></returns> public async Task <ApiResultPageLR <XsLadeRimpactVO> > GetPageLRSync(SearchDTO <XsLadeRimpactDTO> model) { var dto = model.Data; //根据发货单编码模糊查询获取所有发货单主键 if (!string.IsNullOrEmpty(dto.XLB_LadeId)) { var itemResult = await this.GrainFactory.GetGrain <IXsLadeBaseGrain>(this.GrainId).GetAllSync(new XsLadeBaseDTO { XLB_LadeId = dto.XLB_LadeId }); if (itemResult.Success && itemResult.Data.Count > 0) { dto.XLR_Lades = itemResult.Data.Where(m => !string.IsNullOrEmpty(m.Id)).Select(m => m.Id).Distinct().ToList(); } else { return(ApiResultUtil.IsFailedPageLR <XsLadeRimpactVO>("无数据!")); } } //根据查询条件获取分页列表数据 var expression = dto.GetExpression(); var orders = dto.GetOrder(); var count = await _xsLadeRimpactRepository.CountAsync(expression); if (count == 0) { return(ApiResultUtil.IsFailedPageLR <XsLadeRimpactVO>("无数据!")); } var entities = await _xsLadeRimpactRepository.GetListAsync(model.PageIndex, model.PageSize, expression, isMaster : false, orderByFields : orders); //获取发货单数据 List <XsLadeBaseDO> xsLadeBaseList = new List <XsLadeBaseDO>(); if (entities.Any(m => !string.IsNullOrEmpty(m.XLR_Lade))) { var itemResult = await this.GrainFactory.GetGrain <IXsLadeBaseGrain>(this.GrainId).GetAllSync(new XsLadeBaseDTO { Ids = entities.Where(m => !string.IsNullOrEmpty(m.XLR_Lade)).Select(m => m.XLR_Lade).Distinct().ToList() }); if (itemResult.Success) { xsLadeBaseList = (List <XsLadeBaseDO>)itemResult.Data; } } //获取客商数据 List <XsCompyBaseDO> xsCompyBaseList = new List <XsCompyBaseDO>(); if (xsLadeBaseList != null) { var itemResult = await _orleansClient.GetGrain <IXsCompyBaseStateGrain>(GrainIdKey.UtcUIDGrainKey.ToString()).GetAllSync(new XsCompyBaseDTO { Ids = xsLadeBaseList.Where(m => !string.IsNullOrEmpty(m.XLB_Client)).Select(m => m.XLB_Client).Distinct().ToList() }); if (itemResult.Success) { xsCompyBaseList = (List <XsCompyBaseDO>)itemResult.Data; } } //获取企业数据 List <PbBasicFirmDO> pbBasicFirmList = new List <PbBasicFirmDO>(); if (entities.Any(m => !string.IsNullOrEmpty(m.XLR_Firm))) { var itemResult = await _orleansClient.GetGrain <IPbBasicFirmStateGrain>(GrainIdKey.UtcUIDGrainKey.ToString()).GetAllSync(new PbBasicFirmDTO { Ids = entities.Where(m => !string.IsNullOrEmpty(m.XLR_Firm)).Select(m => m.XLR_Firm).Distinct().ToList() }); if (itemResult.Success) { pbBasicFirmList = (List <PbBasicFirmDO>)itemResult.Data; } } //左连接查询数据 var xsLadeRimpactVOs = (from rimpact in entities join t1 in xsLadeBaseList on rimpact.XLR_Lade equals t1.Id into mapping1 from lade in mapping1.DefaultIfEmpty() //左连接需要加上DefaultIfEmpty join t2 in xsCompyBaseList on lade.XLB_Client equals t2.XOB_ID into mapping2 from compy in mapping2.DefaultIfEmpty() //左连接需要加上DefaultIfEmpty join t3 in pbBasicFirmList on rimpact.XLR_Firm equals t3.PBF_ID into mapping3 from firm in mapping3.DefaultIfEmpty() //左连接需要加上DefaultIfEmpty select new { rimpact, lade, compy, firm }).AsEnumerable() .Select(x => { var result = this.ObjectMapper.Map <XsLadeRimpactVO>(x.rimpact); result.XLB_LadeId = x.lade?.XLB_LadeId; result.XLB_ClientName = x.compy?.XOB_Name; result.XLR_FirmName = x.firm?.PBF_ShortName; return(result); }) .ToList(); //返回结果 return(ApiResultUtil.IsSuccess(xsLadeRimpactVOs, count, model.PageIndex, model.PageSize)); }