From edba4ede85a3d82a7f0a0a7dccddbc8281862888 Mon Sep 17 00:00:00 2001 From: zs <zhousong@weben-smart.com> Date: 周四, 15 5月 2025 13:12:10 +0800 Subject: [PATCH] 添加物料类型 --- HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsTaskRepository.cs | 60 +++++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 47 insertions(+), 13 deletions(-) diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsTaskRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsTaskRepository.cs index 673d314..a0ebc7b 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsTaskRepository.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsTaskRepository.cs @@ -11,7 +11,7 @@ namespace CMS.Plugin.HIAWms.EntityFrameworkCore.Repositories; /// <summary> -/// Wms浠诲姟绠$悊琛ㄤ粨鍌ㄥ疄鐜� +/// Wms浠诲姟绠$悊浠撳偍瀹炵幇 /// </summary> public class EfCoreWmsTaskRepository : EfCoreRepository<ICMSPluginDbContext, WmsTask, Guid>, IWmsTaskRepository { @@ -25,33 +25,33 @@ } /// <summary> - /// 鎸夌収鍚嶇О鏌ユ壘Wms浠诲姟绠$悊琛� + /// 鎸夌収鍚嶇О鏌ユ壘Wms浠诲姟绠$悊 /// </summary> - /// <param name="name"></param> + /// <param name="taskNo"></param> /// <param name="cancellationToken"></param> /// <returns></returns> - public virtual async Task<WmsTask> FindByNameAsync(string name, CancellationToken cancellationToken = default) + public virtual async Task<WmsTask> FindByNameAsync(string taskNo, CancellationToken cancellationToken = default) { return await (await GetDbSetAsync()) .IncludeDetails() .Where(x => !x.IsDeleted) .OrderBy(t => t.Sort) - .FirstOrDefaultAsync(t => t.TaskNo == name, GetCancellationToken(cancellationToken)); + .FirstOrDefaultAsync(t => t.TaskNo == taskNo, GetCancellationToken(cancellationToken)); } /// <summary> - /// 楠岃瘉鍚嶇О鏄惁瀛樺湪Wms浠诲姟绠$悊琛� + /// 楠岃瘉鍚嶇О鏄惁瀛樺湪Wms浠诲姟绠$悊 /// </summary> - /// <param name="name">鏍¢獙鍊�</param> + /// <param name="taskNo">鏍¢獙鍊�</param> /// <param name="id"></param> /// <returns></returns> - public async Task<bool> NameExistAsync(string name, Guid? id = null) + public async Task<bool> NameExistAsync(string taskNo, Guid? id = null) { - return await (await GetDbSetAsync()).WhereIf(id.HasValue, p => p.Id != id).Where(x => !x.IsDeleted).AnyAsync(x => x.TaskNo == name); + return await (await GetDbSetAsync()).WhereIf(id.HasValue, p => p.Id != id).Where(x => !x.IsDeleted).AnyAsync(x => x.TaskNo == taskNo); } /// <summary> - /// 鑾峰彇鏈�澶ф帓搴廤ms浠诲姟绠$悊琛� + /// 鑾峰彇鏈�澶ф帓搴廤ms浠诲姟绠$悊 /// </summary> /// <returns></returns> public async Task<int> GetMaxSortAsync() @@ -69,7 +69,7 @@ } /// <summary> - /// 鑾峰彇鍒嗛〉鍒楄〃Wms浠诲姟绠$悊琛� + /// 鑾峰彇鍒嗛〉鍒楄〃Wms浠诲姟绠$悊 /// </summary> /// <param name="whereConditions"></param> /// <param name="sorting"></param> @@ -84,13 +84,13 @@ .IncludeDetails(includeDetails) .WhereIf(whereConditions != null, whereConditions.data) .Where(x => !x.IsDeleted) - .OrderBy(sorting.IsNullOrEmpty() ? nameof(WmsTask.Sort) : sorting) + .OrderByDescending(x=>x.CreationTime) .PageBy(skipCount, maxResultCount) .ToListAsync(GetCancellationToken(cancellationToken)); } /// <summary> - /// 鑾峰彇鎬绘暟Wms浠诲姟绠$悊琛� + /// 鑾峰彇鎬绘暟Wms浠诲姟绠$悊 /// </summary> /// <param name="whereConditions"></param> /// <param name="cancellationToken"></param> @@ -110,4 +110,38 @@ return (await GetQueryableAsync()) .Where(x => !x.IsDeleted).IncludeDetails(); } + + /// <summary> + /// 鏍规嵁鍘熸枡鏍囪瘑鏌ヨ浠诲姟 + /// </summary> + /// <param name="dataIdentifier"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<WmsTask> QueryWmsTaskByDataIdentifierAasync(string dataIdentifier, CancellationToken cancellationToken = default) + { + return await (await GetDbSetAsync()) + .IncludeDetails() + .Where(x => !x.IsDeleted) + .OrderByDescending(x=>x.CreationTime) + .FirstOrDefaultAsync(t => t.MutableParam2 == dataIdentifier, GetCancellationToken(cancellationToken)); + } + + /// <summary> + /// 鑾峰彇浠诲姟鍒楄〃 + /// </summary> + /// <param name="whereConditions"></param> + /// <param name="sorting"></param> + /// <param name="includeDetails"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<List<WmsTask>> GetTaskListAsync(FunReturnResultModel<Expression<Func<WmsTask, bool>>> whereConditions, string sorting = null, bool includeDetails = false, CancellationToken cancellationToken = default) + { + return await (await GetDbSetAsync()) + .IncludeDetails(includeDetails) + .WhereIf(whereConditions != null, whereConditions.data) + .Where(x => !x.IsDeleted) + .OrderBy(x => x.TaskType) + .ThenBy(x=>x.TaskLevel) + .ToListAsync(GetCancellationToken(cancellationToken)); + } } -- Gitblit v1.9.3