| | |
| | | |
| | | public override PageGridData<Dt_OutboundOrder> GetPageData(PageDataOptions options) |
| | | { |
| | | string wheres = ValidatePageOptions(options); |
| | | //è·åæåºå段 |
| | | Dictionary<string, SqlSugar.OrderByType> orderbyDic = GetPageDataSort(options, TProperties); |
| | | List<OrderByModel> orderByModels = new List<OrderByModel>(); |
| | | foreach (var item in orderbyDic) |
| | |
| | | orderByModels.Add(orderByModel); |
| | | } |
| | | |
| | | ISugarQueryable<Dt_OutboundOrder> sugarQueryable1 = BaseDal.Db.Queryable<Dt_OutboundOrder>(); |
| | | ISugarQueryable<Dt_OutboundOrder> sugarQueryable1 = BaseDal.Db.Queryable<Dt_OutboundOrder>().Includes(x => x.Details); |
| | | int totalCount = 0; |
| | | List<SearchParameters> searchParametersList = new List<SearchParameters>(); |
| | | if (!string.IsNullOrEmpty(options.Wheres)) |
| | |
| | | |
| | | if (searchParametersList.Count > 0) |
| | | { |
| | | var detailMaterielCode = searchParametersList.FirstOrDefault(x => x.Name == "materielCode"); |
| | | if (detailMaterielCode != null && !string.IsNullOrEmpty(detailMaterielCode.Value?.ToString())) |
| | | var materielCodeParam = searchParametersList.FirstOrDefault(x => |
| | | x.Name.Equals("materielCode", StringComparison.OrdinalIgnoreCase)); |
| | | if (materielCodeParam != null && !string.IsNullOrEmpty(materielCodeParam.Value?.ToString())) |
| | | { |
| | | string materielCode = detailMaterielCode.Value.ToString().Trim(); |
| | | sugarQueryable1 = sugarQueryable1.Where(x => x.Details.Any(d => d.MaterielCode.Contains(materielCode))); |
| | | |
| | | string materielCode = materielCodeParam.Value.ToString().Trim(); |
| | | sugarQueryable1 = sugarQueryable1.Where(x => |
| | | x.Details.Any(d => d.MaterielCode.Contains(materielCode))); |
| | | } |
| | | var upperOrderNoParam = searchParametersList.FirstOrDefault(x => |
| | | x.Name.Equals(nameof(Dt_OutboundOrder.UpperOrderNo).FirstLetterToLower(), StringComparison.OrdinalIgnoreCase)); |
| | | if (upperOrderNoParam != null && !string.IsNullOrEmpty(upperOrderNoParam.Value?.ToString())) |
| | | { |
| | | string upperOrderNo = upperOrderNoParam.Value.ToString().Trim(); |
| | | sugarQueryable1 = sugarQueryable1.Where(x => x.UpperOrderNo.Contains(upperOrderNo)); |
| | | } |
| | | var orderNoParam = searchParametersList.FirstOrDefault(x => |
| | | x.Name.Equals(nameof(Dt_OutboundOrder.OrderNo).FirstLetterToLower(), StringComparison.OrdinalIgnoreCase)); |
| | | if (orderNoParam != null && !string.IsNullOrEmpty(orderNoParam.Value?.ToString())) |
| | | { |
| | | string orderNo = orderNoParam.Value.ToString().Trim(); |
| | | sugarQueryable1 = sugarQueryable1.Where(x => x.OrderNo.Contains(orderNo)); |
| | | } |
| | | var orderStatusParam = searchParametersList.FirstOrDefault(x => |
| | | x.Name.Equals(nameof(Dt_OutboundOrder.OrderStatus).FirstLetterToLower(), StringComparison.OrdinalIgnoreCase)); |
| | | if (orderStatusParam != null && !string.IsNullOrEmpty(orderStatusParam.Value?.ToString())) |
| | | { |
| | | string orderStatus = orderStatusParam.Value.ToString().Trim(); |
| | | sugarQueryable1 = sugarQueryable1.Where(x => x.OrderStatus.Equals(orderStatus)); |
| | | } |
| | | var returnToMESStatusParam = searchParametersList.FirstOrDefault(x => |
| | | x.Name.Equals(nameof(Dt_OutboundOrder.ReturnToMESStatus).FirstLetterToLower(), StringComparison.OrdinalIgnoreCase)); |
| | | if (returnToMESStatusParam != null && !string.IsNullOrEmpty(returnToMESStatusParam.Value?.ToString())) |
| | | { |
| | | string returnToMESStatus = returnToMESStatusParam.Value.ToString().Trim(); |
| | | sugarQueryable1 = sugarQueryable1.Where(x => x.OrderStatus.Equals(returnToMESStatus)); |
| | | } |
| | | } |
| | | } |
| | | catch { } |
| | | } |
| | | var data = sugarQueryable1 |
| | | .WhereIF(!wheres.IsNullOrEmpty(), wheres) |
| | | .Where(x => x.OrderType == 0 || x.OrderType == 116) |
| | | .OrderBy(orderByModels).Includes(x=>x.Details) |
| | | .OrderBy(orderByModels) |
| | | .ToPageList(options.Page, options.Rows, ref totalCount); |
| | | |
| | | return new PageGridData<Dt_OutboundOrder>(totalCount, data); |