diff --git a/src/Oms.Application/Services/Orders/PlatformStoreOrderService.cs b/src/Oms.Application/Services/Orders/PlatformStoreOrderService.cs index d10b8f3..1e0d1d7 100644 --- a/src/Oms.Application/Services/Orders/PlatformStoreOrderService.cs +++ b/src/Oms.Application/Services/Orders/PlatformStoreOrderService.cs @@ -599,13 +599,19 @@ public class PlatformStoreOrderService : ApplicationService var (hasCustomerFilter, customerIdValue) = WarehouseCustomerHelper.ToCustomerFilter(customerId); var fulfillStatus = input.FulfillStatus?.Trim(); var platformOrderNo = input.PlatformOrderNo?.Trim(); + var hasStoreFilter = input.StoreId.HasValue; + var storeIdValue = input.StoreId.GetValueOrDefault(); + var hasFulfillStatusFilter = !string.IsNullOrWhiteSpace(fulfillStatus); + var hasPlatformOrderNoFilter = !string.IsNullOrWhiteSpace(platformOrderNo); + var hasSuspendedFilter = input.IsSuspended.HasValue; + var isSuspendedValue = input.IsSuspended.GetValueOrDefault(); return x => (!hasCustomerFilter || x.CustomerId == customerIdValue) - && (!input.StoreId.HasValue || x.StoreId == input.StoreId.Value) - && (string.IsNullOrWhiteSpace(fulfillStatus) || x.FulfillStatus == fulfillStatus) - && (!input.IsSuspended.HasValue || x.IsSuspended == input.IsSuspended.Value) - && (string.IsNullOrWhiteSpace(platformOrderNo) || x.PlatformOrderNo.Contains(platformOrderNo)); + && (!hasStoreFilter || x.StoreId == storeIdValue) + && (!hasFulfillStatusFilter || x.FulfillStatus == fulfillStatus) + && (!hasSuspendedFilter || x.IsSuspended == isSuspendedValue) + && (!hasPlatformOrderNoFilter || x.PlatformOrderNo.Contains(platformOrderNo!)); } private static PlatformStoreOrderOutput MapOrderOutput( diff --git a/src/Oms.Application/Services/Warehouse/WarehouseService.BinLocation.cs b/src/Oms.Application/Services/Warehouse/WarehouseService.BinLocation.cs index aa7676e..0c1327e 100644 --- a/src/Oms.Application/Services/Warehouse/WarehouseService.BinLocation.cs +++ b/src/Oms.Application/Services/Warehouse/WarehouseService.BinLocation.cs @@ -23,9 +23,11 @@ public partial class WarehouseService var keyword = input.Keyword?.Trim(); var hasKeyword = !string.IsNullOrWhiteSpace(keyword); + var hasEnabledFilter = input.IsEnabled.HasValue; + var isEnabledValue = input.IsEnabled.GetValueOrDefault(); var items = await BinLocationRepository.GetListAsync(x => x.WarehouseId == input.WarehouseId - && (!input.IsEnabled.HasValue || x.IsEnabled == input.IsEnabled.Value) + && (!hasEnabledFilter || x.IsEnabled == isEnabledValue) && (!hasKeyword || x.BinCode.Contains(keyword!) || (x.BinName != null && x.BinName.Contains(keyword!)))); items = items.OrderBy(x => x.BinCode).ThenBy(x => x.Id).ToList(); diff --git a/src/Oms.Application/Services/Warehouse/WarehouseService.Inbound.cs b/src/Oms.Application/Services/Warehouse/WarehouseService.Inbound.cs index 3e5b40b..5039bcb 100644 --- a/src/Oms.Application/Services/Warehouse/WarehouseService.Inbound.cs +++ b/src/Oms.Application/Services/Warehouse/WarehouseService.Inbound.cs @@ -24,11 +24,14 @@ public partial class WarehouseService var keyword = input.Keyword?.Trim(); var hasKeyword = !string.IsNullOrWhiteSpace(keyword); var receiptStatus = input.ReceiptStatus?.Trim(); + var hasWarehouseFilter = input.WarehouseId.HasValue; + var warehouseIdValue = input.WarehouseId.GetValueOrDefault(); + var hasReceiptStatusFilter = !string.IsNullOrWhiteSpace(receiptStatus); Expression> predicate = x => (!hasCustomerFilter || x.CustomerId == customerIdValue) - && (!input.WarehouseId.HasValue || x.WarehouseId == input.WarehouseId.Value) - && (string.IsNullOrWhiteSpace(receiptStatus) || x.ReceiptStatus == receiptStatus) + && (!hasWarehouseFilter || x.WarehouseId == warehouseIdValue) + && (!hasReceiptStatusFilter || x.ReceiptStatus == receiptStatus) && (!hasKeyword || x.NoticeNo.Contains(keyword!) || (x.MarkReference != null && x.MarkReference.Contains(keyword!))); var pageIndex = OmsDocHelper.NormalizePage(input.Page); @@ -302,9 +305,11 @@ public partial class WarehouseService { var resolvedCustomerId = await ResolveListCustomerIdAsync(customerId); var (hasCustomerFilter, customerIdValue) = CustomerFilter(resolvedCustomerId); + var hasWarehouseFilter = warehouseId.HasValue; + var warehouseIdValue = warehouseId.GetValueOrDefault(); var notices = await InboundNoticeRepository.GetListAsync(x => (!hasCustomerFilter || x.CustomerId == customerIdValue) - && (!warehouseId.HasValue || x.WarehouseId == warehouseId.Value)); + && (!hasWarehouseFilter || x.WarehouseId == warehouseIdValue)); return new WarehouseInboundSummaryOutput { diff --git a/src/Oms.Application/Services/Warehouse/WarehouseService.Inventory.cs b/src/Oms.Application/Services/Warehouse/WarehouseService.Inventory.cs index 74476a2..b79bf54 100644 --- a/src/Oms.Application/Services/Warehouse/WarehouseService.Inventory.cs +++ b/src/Oms.Application/Services/Warehouse/WarehouseService.Inventory.cs @@ -18,10 +18,12 @@ public partial class WarehouseService { var customerId = await ResolveListCustomerIdAsync(input.CustomerId); var (hasCustomerFilter, customerIdValue) = CustomerFilter(customerId); + var hasWarehouseFilter = input.WarehouseId.HasValue; + var warehouseIdValue = input.WarehouseId.GetValueOrDefault(); var inventories = await InventoryRepository.GetListAsync(x => (!hasCustomerFilter || x.CustomerId == customerIdValue) && x.Qty > 0 - && (!input.WarehouseId.HasValue || x.WarehouseId == input.WarehouseId.Value)); + && (!hasWarehouseFilter || x.WarehouseId == warehouseIdValue)); var skuIds = inventories.Select(x => x.SkuId).Distinct().ToArray(); var skus = skuIds.Length == 0 diff --git a/src/Oms.Application/Services/Warehouse/WarehouseService.Parcel.cs b/src/Oms.Application/Services/Warehouse/WarehouseService.Parcel.cs index 954d207..c555c98 100644 --- a/src/Oms.Application/Services/Warehouse/WarehouseService.Parcel.cs +++ b/src/Oms.Application/Services/Warehouse/WarehouseService.Parcel.cs @@ -24,11 +24,14 @@ public partial class WarehouseService var keyword = input.Keyword?.Trim(); var hasKeyword = !string.IsNullOrWhiteSpace(keyword); var lifecycleStatus = input.LifecycleStatus?.Trim(); + var hasWarehouseFilter = input.WarehouseId.HasValue; + var warehouseIdValue = input.WarehouseId.GetValueOrDefault(); + var hasLifecycleStatusFilter = !string.IsNullOrWhiteSpace(lifecycleStatus); Expression> predicate = x => (!hasCustomerFilter || x.CustomerId == customerIdValue) - && (!input.WarehouseId.HasValue || x.WarehouseId == input.WarehouseId.Value) - && (string.IsNullOrWhiteSpace(lifecycleStatus) || x.LifecycleStatus == lifecycleStatus) + && (!hasWarehouseFilter || x.WarehouseId == warehouseIdValue) + && (!hasLifecycleStatusFilter || x.LifecycleStatus == lifecycleStatus) && (!hasKeyword || x.TrackingNo.Contains(keyword!) || (x.CarrierName != null && x.CarrierName.Contains(keyword!))); var pageIndex = OmsDocHelper.NormalizePage(input.Page);