From a8756c3526832332db4ef5685348d9b188c2bf2b Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期六, 13 九月 2025 08:36:44 +0800 Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/MeiRuiAn/HuaiAn --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockViewService.cs | 76 ++++++++++++++++++++++++++++++------- 1 files changed, 61 insertions(+), 15 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockViewService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockViewService.cs" index 9bbf7e4..f8c78c5 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockViewService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockViewService.cs" @@ -22,6 +22,7 @@ using WIDESEA_Common.StockEnum; using WIDESEA_IBasicRepository; using WIDESEA_Common.WareHouseEnum; +using WIDESEA_Core.Enums; namespace WIDESEA_StockService { @@ -55,28 +56,70 @@ try { List<SearchParameters> searchParametersList = options.Wheres.DeserializeObject<List<SearchParameters>>(); - if (searchParametersList.Count > 0) + if (searchParametersList?.Any() == true) { + foreach (var param in searchParametersList) { - SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_ProStockInfoDetail.ProductCode).FirstLetterToLower()); - if (searchParameters != null) + switch (param.Name) { - sugarQueryable1 = sugarQueryable1.Where(x => x.proStockInfoDetails.Any(v => v.ProductCode.Contains(searchParameters.Value))); + case var name when name == nameof(Dt_ProStockInfoDetail.ProductCode).FirstLetterToLower(): + if (!string.IsNullOrEmpty(param.Value?.ToString())) + { + sugarQueryable1 = sugarQueryable1 + .Where(x => x.proStockInfoDetails.Any(v => v.ProductCode.Contains(param.Value.ToString()))); + } + break; + case var name when name == nameof(Dt_ProStockInfoDetail.LotNumber).FirstLetterToLower(): + if (!string.IsNullOrEmpty(param.Value?.ToString())) + { + sugarQueryable1 = sugarQueryable1 + .Where(x => x.proStockInfoDetails.Any(v => v.LotNumber.Contains(param.Value.ToString()))); + } + break; + + case var name when name == nameof(Dt_ProStockInfo.LocationCode).FirstLetterToLower(): + if (!string.IsNullOrEmpty(param.Value?.ToString())) + { + sugarQueryable1 = sugarQueryable1 + .Where(x => x.LocationCode == param.Value.ToString()); + } + break; + case var name when name == nameof(Dt_ProStockInfoDetail.ProductVersion).FirstLetterToLower(): + if (!string.IsNullOrEmpty(param.Value?.ToString())) + { + sugarQueryable1 = sugarQueryable1 + .Where(x => x.proStockInfoDetails.Any(v => v.ProductVersion.Contains(param.Value.ToString()))); + } + break; + case var name when name == nameof(Dt_ProStockInfoDetail.SpecifyVer).FirstLetterToLower(): + if (!string.IsNullOrEmpty(param.Value?.ToString())) + { + sugarQueryable1 = sugarQueryable1 + .Where(x => x.proStockInfoDetails.Any(v => v.SpecifyVer.Contains(param.Value.ToString()))); + } + break; + + case var name when name == nameof(Dt_ProStockInfo.CreateDate).FirstLetterToLower(): + if (DateTime.TryParse(param.Value?.ToString(), out DateTime minDate)) + { + LinqExpressionType expressionType = param.DisplayType.GetLinqCondition(); + if (expressionType == LinqExpressionType.ThanOrEqual) + { + sugarQueryable1 = sugarQueryable1.Where(x => x.CreateDate >= minDate); + } + else if (expressionType == LinqExpressionType.LessThanOrEqual) + { + sugarQueryable1 = sugarQueryable1.Where(x => x.CreateDate <= minDate); + } + } + break; } } - - { - SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_ProStockInfoDetail.ProductVersion).FirstLetterToLower()); - if (searchParameters != null) - { - sugarQueryable1 = sugarQueryable1.Where(x => x.proStockInfoDetails.Any(v => v.ProductVersion.Contains(searchParameters.Value))); - } - } - } - } - catch { } + catch (Exception ex) + { + } } string whereSto = GetDataRole(typeof(Dt_ProStockInfo)); sugarQueryable1 = sugarQueryable1.Where(whereSto); @@ -139,6 +182,7 @@ { x.ProductCode = string.Join(",", x.Details.Select(x => x.ProductCode).Distinct()); x.ProductVersion = string.Join(",", x.Details.Select(x => x.ProductVersion).Distinct()); + x.SpecifyVer = string.Join(",", x.Details.Select(x => x.SpecifyVer).Distinct()); x.DateCode = x.Details.FirstOrDefault()?.DateCode ?? ""; x.LotNumber = x.Details.FirstOrDefault()?.LotNumber ?? ""; x.ERPOrder = x.Details.FirstOrDefault()?.ERPOrder ?? ""; @@ -285,6 +329,7 @@ { x.ProductCode = string.Join(",", x.Details.Select(x => x.ProductCode).Distinct()); x.ProductVersion = string.Join(",", x.Details.Select(x => x.ProductVersion).Distinct()); + x.SpecifyVer = string.Join(",", x.Details.Select(x => x.SpecifyVer).Distinct()); x.DateCode = x.Details.FirstOrDefault()?.DateCode ?? ""; x.LotNumber = x.Details.FirstOrDefault()?.LotNumber ?? ""; x.ERPOrder = x.Details.FirstOrDefault()?.ERPOrder ?? ""; @@ -387,6 +432,7 @@ { x.ProductCode = string.Join(",", x.Details.Select(x => x.ProductCode).Distinct()); x.ProductVersion = string.Join(",", x.Details.Select(x => x.ProductVersion).Distinct()); + x.SpecifyVer = string.Join(",", x.Details.Select(x => x.SpecifyVer).Distinct()); x.DateCode = x.Details.FirstOrDefault()?.DateCode ?? ""; x.LotNumber = x.Details.FirstOrDefault()?.LotNumber ?? ""; x.ERPOrder = x.Details.FirstOrDefault()?.ERPOrder ?? ""; -- Gitblit v1.9.3