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