From 1225fbcf6dd197c39853e2cb0f70c7318836abcb Mon Sep 17 00:00:00 2001
From: zs <zhousong@weben-smart.com>
Date: 周一, 19 5月 2025 16:53:12 +0800
Subject: [PATCH] 仓库信息高级查询

---
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs |   25 ++++++++++++++++++++++++-
 1 files changed, 24 insertions(+), 1 deletions(-)

diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs
index dcd579c..1545536 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs
@@ -45,6 +45,27 @@
             _wmsInOutStockRecordRepository = wmsInOutStockRecordRepository;
         }
 
+        /// 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+        /// </summary>  
+        /// <param name="input">杈撳叆鍙傛暟</param>  
+        /// <returns></returns>  
+        private FunReturnResultModel<Expression<Func<WmsPlace, bool>>> DynamicGetQueryPlaceParams(GetWmsPlaceInput input)
+        {
+            // 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+            var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsPlace, GetWmsPlaceInput>(input);
+            if (!whereConditions.IsSuccess)
+            {
+                throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg);
+            }
+
+            //涔熷彲鍐嶆鑷畾涔夋瀯寤烘煡璇㈡潯浠�  
+            Expression<Func<WmsPlace, bool>> extendExpression = a => a.IsDeleted == false;
+            // 浣跨敤 System.Linq.PredicateBuilder 鐨� And 
+            var pres = (System.Linq.Expressions.Expression<Func<WmsPlace, bool>>)(whereConditions.data);
+            whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression);
+
+            return whereConditions;
+        }
 
         /// <summary>
         /// 鏌ユ壘绌哄簱浣�
@@ -61,7 +82,9 @@
             // 1. 鑾峰彇鎵�鏈夊簱瀛樺拰搴撲綅淇℃伅
             var stockList = await _wmsMaterialStockRepository.GetListAsync(whereConditions);
 
-            var placeList = await _wmsPlaceRepository.GetListAsync(new WmsPlace { StorageTypeNo = Domain.Shared.Enums.PlaceTypeEnum.YUANLIAOKUWEI });
+            var placeConditions = DynamicGetQueryPlaceParams(new GetWmsPlaceInput { StorageTypeNo = (int)PlaceTypeEnum.YUANLIAOKUWEI });
+
+            var placeList = await _wmsPlaceRepository.GetListByFilterAsync(placeConditions.data);
             var allPlaceList = ObjectMapper.Map<List<WmsPlace>, List<WmsPlaceDto>>(placeList.Where(x => !x.IsDisabled).ToList());
 
             // 2. 鏌ユ壘鐩稿悓鐗╂枡鍨嬪彿鍜岀紪鍙风殑搴撳瓨锛堟寜搴撳瓨閲忛檷搴忥級

--
Gitblit v1.9.3