From a8331b706b8678af9b907bf68971ce10eeb41c36 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周一, 12 5月 2025 21:56:25 +0800 Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo --- HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs | 23 +++++++++++++++++++---- 1 files changed, 19 insertions(+), 4 deletions(-) diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs index f7ad367..117a125 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs @@ -32,6 +32,21 @@ .FirstOrDefaultAsync(t => t.MaterialNo == materialNo, GetCancellationToken(cancellationToken)); } + /// <summary> + /// 查找型号 + /// </summary> + /// <param name="materiaModel"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public virtual async Task<WmsMaterialStock> FindByModelAsync(string materiaModel, CancellationToken cancellationToken = default) + { + return await (await GetDbSetAsync()) + .IncludeDetails() + .Where(u => !u.IsDeleted) + .OrderBy(t => t.Sort) + .FirstOrDefaultAsync(t => t.MaterialModel == materiaModel, GetCancellationToken(cancellationToken)); + } + /// <inheritdoc /> public async Task<bool> NameExistAsync(string materialNo, Guid? id = null) { @@ -73,7 +88,7 @@ .WhereIf(stock?.ContainerType > 0, u => u.ContainerType == stock.ContainerType) .WhereIf(!string.IsNullOrEmpty(stock?.MaterialBatch), u => u.MaterialBatch == stock.MaterialBatch) .WhereIf(!string.IsNullOrEmpty(stock?.SupplierCode), u => u.SupplierCode == stock.SupplierCode) - .WhereIf(!string.IsNullOrEmpty(stock?.MaterialModel), u => u.MaterialModel.Contains(stock.MaterialModel)) + .WhereIf(!string.IsNullOrEmpty(stock?.MaterialModel), u => u.MaterialModel==stock.MaterialModel) .WhereIf(!string.IsNullOrEmpty(stock?.PlaceNo), u => u.PlaceNo == stock.PlaceNo) .WhereIf(stock.PlaceStatus > 0, u => u.PlaceStatus == stock.PlaceStatus) .WhereIf(stock?.StorageTypeNo > 0, u => u.StorageTypeNo == stock.StorageTypeNo) @@ -108,7 +123,7 @@ .ToListAsync(GetCancellationToken(cancellationToken)); var groupedData = materialList - .GroupBy(x => new { x.MaterialNo, x.PlaceNo, x.ContainerNo}) + .GroupBy(x => new { x.MaterialNo, x.PlaceNo, x.ContainerNo,x.MaterialModel}) .Select(g => new WmsMaterialStock { MaterialNo = g.Key.MaterialNo, @@ -119,7 +134,7 @@ PlaceStatus = g.First().PlaceStatus, StorageTypeNo = g.First().StorageTypeNo, MaterialBatch = g.First().MaterialBatch, - MaterialModel = g.First().MaterialModel, + MaterialModel = g.Key.MaterialModel, AreaCode = g.First().AreaCode, AreaName = g.First().AreaName, CheckStatus = g.First().CheckStatus, @@ -131,7 +146,7 @@ .AsQueryable(); // 转换回IQueryable以支持后续操作 var result = groupedData - .OrderBy(sorting.IsNullOrEmpty() ? nameof(WmsMaterialStock.Sort) : sorting) + .OrderBy(x=>x.StockNumber) .PageBy(skipCount, maxResultCount) .ToList(); -- Gitblit v1.9.3