From 6fe443c4d26f0ec5cbcc2864a0dd9ab781c59761 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 20 5月 2025 14:30:39 +0800
Subject: [PATCH] 222

---
 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsTaskRepository.cs |   36 +++++++++++++++++++++++++++++++++++-
 1 files changed, 35 insertions(+), 1 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 d4dee6d..a0ebc7b 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsTaskRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsTaskRepository.cs
@@ -84,7 +84,7 @@
             .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)); 
     } 
@@ -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