From 44709668c91a392dd0c346d6a15b07144ebf41ea Mon Sep 17 00:00:00 2001
From: zs <zhousong@weben-smart.com>
Date: 周三, 30 4月 2025 19:55:29 +0800
Subject: [PATCH] 库位条件查询
---
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsStores/GetWmsStoresInput.cs | 10 ++++++++++
HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsStores/IWmsStoreRepository.cs | 4 ++--
HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsStoreRepository.cs | 8 ++++++--
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsStoreAppService.cs | 13 ++++++++-----
4 files changed, 26 insertions(+), 9 deletions(-)
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsStores/GetWmsStoresInput.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsStores/GetWmsStoresInput.cs
index 37f3e7e..0d3d180 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsStores/GetWmsStoresInput.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsStores/GetWmsStoresInput.cs
@@ -16,4 +16,14 @@
/// Gets or sets the name.
/// </summary>
public string Name { get; set; }
+
+ /// <summary>
+ /// 浠撳簱浠g爜
+ /// </summary>
+ public string? StoreCode { get; set; }
+
+ /// <summary>
+ /// 浠撳簱鍚嶇О
+ /// </summary>
+ public string? StoreName { get; set; }
}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsStoreAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsStoreAppService.cs
index ae4d559..522c3b5 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsStoreAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsStoreAppService.cs
@@ -7,6 +7,7 @@
using Volo.Abp.Application.Dtos;
using Volo.Abp.Data;
using Volo.Abp.ObjectExtending;
+using CMS.Plugin.HIAWms.Domain.Shared.Util;
namespace CMS.Plugin.HIAWms.Application.Implements;
@@ -41,8 +42,9 @@
}
var specification = new WmsStoreSpecification(input.Name);
- var count = await _wmsstoreRepository.GetCountAsync(input.Filter, specification);
- var list = await _wmsstoreRepository.GetListAsync(input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification);
+ var store = ObjectMapper.Map<GetWmsStoresInput, WmsStore>(input);
+ var count = await _wmsstoreRepository.GetCountAsync(store,input.Filter, specification);
+ var list = await _wmsstoreRepository.GetListAsync(store,input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification);
return new PagedResultDto<WmsStoreDto>(count, ObjectMapper.Map<List<WmsStore>, List<WmsStoreDto>>(list));
}
@@ -150,7 +152,7 @@
/// <inheritdoc />
public virtual async Task AdjustSortAsync(Guid id, int sort)
{
- var list = await _wmsstoreRepository.GetListAsync(nameof(WmsStore.Sort));
+ var list = await _wmsstoreRepository.GetListAsync(null,nameof(WmsStore.Sort));
if (list != null && list.Any())
{
var initSort = 1;
@@ -283,12 +285,13 @@
}
var specification = new WmsStoreSpecification(input.Name);
- var list = await _wmsstoreRepository.GetListAsync(input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification, includeDetails: true);
+ var store = ObjectMapper.Map<GetWmsStoresInput, WmsStore>(input);
+ var list = await _wmsstoreRepository.GetListAsync(store, input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification, includeDetails: true);
var result = ObjectMapper.Map<List<WmsStore>, List<WmsStoreDto>>(list);
var sheets = new Dictionary<string, object>
{
- ["閰嶇疆"] = result.Select(x => x.GetExportData()).ToList(),
+ ["閰嶇疆"] = ExportHelper.ConvertListToExportData(result),
};
var fileName = result.Count > 1 ? "WmsStore鍒楄〃" : result.Count == 1 ? result.First()?.StoreCode : "WmsStore妯$増";
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsStores/IWmsStoreRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsStores/IWmsStoreRepository.cs
index ca8f8d6..8796ec5 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsStores/IWmsStoreRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsStores/IWmsStoreRepository.cs
@@ -41,7 +41,7 @@
/// <param name="includeDetails">if set to <c>true</c> [include details].</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns></returns>
- Task<List<WmsStore>> GetListAsync(string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, string filter = null, Specification<WmsStore> specification = null, bool includeDetails = false, CancellationToken cancellationToken = default);
+ Task<List<WmsStore>> GetListAsync(WmsStore? store, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, string filter = null, Specification<WmsStore> specification = null, bool includeDetails = false, CancellationToken cancellationToken = default);
/// <summary>
/// Gets the count asynchronous.
@@ -50,5 +50,5 @@
/// <param name="specification">The specification.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns></returns>
- Task<long> GetCountAsync(string filter = null, Specification<WmsStore> specification = null, CancellationToken cancellationToken = default);
+ Task<long> GetCountAsync(WmsStore? store, string filter = null, Specification<WmsStore> specification = null, CancellationToken cancellationToken = default);
}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsStoreRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsStoreRepository.cs
index e08ffe5..cbfdde4 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsStoreRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsStoreRepository.cs
@@ -52,7 +52,7 @@
}
/// <inheritdoc />
- public async Task<List<WmsStore>> GetListAsync(string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, string filter = null, Specification<WmsStore> specification = null, bool includeDetails = false, CancellationToken cancellationToken = default)
+ public async Task<List<WmsStore>> GetListAsync(WmsStore? store, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, string filter = null, Specification<WmsStore> specification = null, bool includeDetails = false, CancellationToken cancellationToken = default)
{
specification ??= new WmsStoreSpecification();
return await (await GetDbSetAsync())
@@ -60,19 +60,23 @@
.Where(specification.ToExpression())
.Where(x => !x.IsDeleted)
.WhereIf(!filter.IsNullOrWhiteSpace(), u => u.StoreCode.Contains(filter))
+ .WhereIf(!string.IsNullOrEmpty(store.StoreCode),u=>u.StoreCode.Contains(store.StoreCode))
+ .WhereIf(!string.IsNullOrEmpty(store.StoreName),u=>u.StoreName.Contains(store.StoreName))
.OrderBy(sorting.IsNullOrEmpty() ? nameof(WmsStore.Sort) : sorting)
.PageBy(skipCount, maxResultCount)
.ToListAsync(GetCancellationToken(cancellationToken));
}
/// <inheritdoc />
- public async Task<long> GetCountAsync(string filter = null, Specification<WmsStore> specification = null, CancellationToken cancellationToken = default)
+ public async Task<long> GetCountAsync(WmsStore? store, string filter = null, Specification<WmsStore> specification = null, CancellationToken cancellationToken = default)
{
specification ??= new WmsStoreSpecification();
return await (await GetQueryableAsync())
.Where(specification.ToExpression())
.Where(x => !x.IsDeleted)
.WhereIf(!filter.IsNullOrWhiteSpace(), u => u.StoreCode.Contains(filter))
+ .WhereIf(!string.IsNullOrEmpty(store.StoreCode), u => u.StoreCode.Contains(store.StoreCode))
+ .WhereIf(!string.IsNullOrEmpty(store.StoreName), u => u.StoreName.Contains(store.StoreName))
.CountAsync(cancellationToken: GetCancellationToken(cancellationToken));
}
--
Gitblit v1.9.3