From d57a4d61a81e2e27b09c4c9560358efb668f349d Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周一, 19 5月 2025 09:12:37 +0800
Subject: [PATCH] 增加 扩展查询方法

---
 HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterialStocks/IWmsMaterialStockRepository.cs |   71 ++++++++++++++++++++++++++++++++++-
 1 files changed, 69 insertions(+), 2 deletions(-)

diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterialStocks/IWmsMaterialStockRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterialStocks/IWmsMaterialStockRepository.cs
index 7ae3c6a..559ebd9 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterialStocks/IWmsMaterialStockRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterialStocks/IWmsMaterialStockRepository.cs
@@ -1,3 +1,6 @@
+using CmsQueryExtensions.Extension;
+using System.Linq.Expressions;
+using Volo.Abp;
 using Volo.Abp.Domain.Repositories;
 using Volo.Abp.Specifications;
 
@@ -15,6 +18,14 @@
     /// <param name="cancellationToken">The cancellation token.</param>
     /// <returns></returns>
     Task<WmsMaterialStock> FindByNameAsync(string name, CancellationToken cancellationToken = default);
+
+    /// <summary>
+    /// 鏍规嵁鍨嬪彿鏌ユ壘搴撳瓨
+    /// </summary>
+    /// <param name="materiaModel"></param>
+    /// <param name="cancellationToken"></param>
+    /// <returns></returns>
+    Task<WmsMaterialStock> FindByModelAsync(string materiaModel, CancellationToken cancellationToken = default);
 
     /// <summary>
     /// Names the exist asynchronous.
@@ -41,7 +52,7 @@
     /// <param name="includeDetails">if set to <c>true</c> [include details].</param>
     /// <param name="cancellationToken">The cancellation token.</param>
     /// <returns></returns>
-    Task<List<WmsMaterialStock>> GetListAsync(WmsMaterialStock? stock, DateTime? startTime = null, DateTime? endTime = null, string sorting = null, int maxResultCount = int.MaxValue,  int skipCount = 0, string filter = null, Specification<WmsMaterialStock> specification = null, bool includeDetails = false, CancellationToken cancellationToken = default);
+    Task<List<WmsMaterialStock>> GetListAsync(FunReturnResultModel<Expression<Func<WmsMaterialStock, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default);
 
     /// <summary>
     /// 鑾峰彇鎵�鏈夌殑搴撳瓨淇℃伅
@@ -49,6 +60,27 @@
     /// <param name="stock"></param>
     /// <returns></returns>
     Task<List<WmsMaterialStock>> GetStockListAsync(WmsMaterialStock? stock);
+
+    /// <summary>
+    /// 鏌ヨ搴撳瓨鏄庣粏
+    /// </summary>
+    /// <param name="whereConditions"></param>
+    /// <param name="sorting"></param>
+    /// <param name="maxResultCount"></param>
+    /// <param name="skipCount"></param>
+    /// <param name="includeDetails"></param>
+    /// <param name="cancellationToken"></param>
+    /// <returns></returns>
+    Task<List<WmsMaterialStock>> GetStockDetailListAsync(FunReturnResultModel<Expression<Func<WmsMaterialStock, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default);
+
+    /// <summary>
+    /// 鑾峰彇搴撳瓨鎬绘暟
+    /// </summary>
+    /// <param name="whereConditions"></param>
+    /// <param name="cancellationToken"></param>
+    /// <returns></returns>
+    Task<long> GetDetailCountAsync(FunReturnResultModel<Expression<Func<WmsMaterialStock, bool>>> whereConditions, CancellationToken cancellationToken = default);
+
     /// <summary>
     /// Gets the count asynchronous.
     /// </summary>
@@ -56,5 +88,40 @@
     /// <param name="specification">The specification.</param>
     /// <param name="cancellationToken">The cancellation token.</param>
     /// <returns></returns>
-    Task<long> GetCountAsync(WmsMaterialStock? stock, DateTime? startTime = null, DateTime? endTime = null, string filter = null, Specification<WmsMaterialStock> specification = null, CancellationToken cancellationToken = default);
+    Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsMaterialStock, bool>>> whereConditions, CancellationToken cancellationToken = default);
+
+    /// <summary> 
+    /// 鐗╃悊鍒犻櫎鍑哄叆搴撳崟鎹鎯� 
+    /// </summary> 
+    /// <param name="id">涓婚敭ID</param> 
+    /// <param name="cancellationToken"></param> 
+    /// <returns></returns> 
+    Task DeletePermanentlyAsync(Guid id, CancellationToken cancellationToken = default);
+
+
+    /// <summary> 
+    /// 鎵归噺鐗╃悊鍒犻櫎鍑哄叆搴撳崟鎹鎯咃紙鐩存帴鍒犻櫎锛屼笉杞垹闄わ級 
+    /// </summary> 
+    /// <param name="ids">瑕佸垹闄ょ殑涓婚敭ID鍒楄〃</param> 
+    /// <param name="cancellationToken"></param> 
+    /// <returns></returns> 
+    Task BatchDeletePermanentlyAsync(IEnumerable<Guid> ids, CancellationToken cancellationToken = default);
+
+    /// <summary> 
+    /// 鏍规嵁鏉′欢鑾峰彇鍑哄叆搴撳崟鎹鎯呭垪琛� 
+    /// </summary> 
+    /// <param name="whereConditions"></param> 
+    /// <param name="cancellationToken"></param> 
+    /// <returns></returns> 
+    Task<List<WmsMaterialStock>> GetListByFilterAsync(Expression<Func<WmsMaterialStock, bool>> whereConditions, CancellationToken cancellationToken = default);
+
+    /// <summary> 
+    ///  鏍规嵁鏉′欢鑾峰彇鍗曚釜鍑哄叆搴撳崟鎹鎯� 
+    /// </summary> 
+    /// <param name="whereConditions"></param> 
+    /// <param name="isMultipleThrowException">鏄惁鏌ヨ鍑哄鏉″氨鎶ラ敊</param> 
+    /// <param name="cancellationToken"></param> 
+    /// <returns></returns> 
+    /// <exception cref="UserFriendlyException"></exception> 
+    Task<WmsMaterialStock> GetSingleByFilterAsync(Expression<Func<WmsMaterialStock, bool>> whereConditions, bool is鈥婱ultipleThrowException = false, CancellationToken cancellationToken = default);
 }

--
Gitblit v1.9.3