From 25246d39da4b74b54a844b36d8a50752917b81cc Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 13 5月 2025 16:59:24 +0800
Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo

---
 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs                  |   53 --
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs                                  |   64 ++
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStockDto.cs                   |  146 +++++--
 HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialStockController.cs                                              |    6 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsMaterialStockAppService.cs                         |    6 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStockExportModel.cs           |  175 ++++++++
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStockUpdateDto.cs             |   27 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStocksImportModel.cs          |   67 +-
 CommonDLL/CmsQueryExtensions.dll                                                                                          |    0 
 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/WmsMaterialStock.tsx                          |   10 
 /dev/null                                                                                                                 |  114 -----
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStockCreateOrUpdateDtoBase.cs |   91 +++-
 Weben_CMS专用代码生成器/queryExtensions/CmsQueryExtensions/Utils/GetEnumDescriptionUtil.cs                                       |    2 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/GetWmsMaterialStockInput.cs              |  360 ++++++++++++++++++
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStockCreateDto.cs             |   34 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialStockAutoMapperProfile.cs                       |    2 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs                                         |   27 +
 HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterialStocks/IWmsMaterialStockRepository.cs                               |    4 
 18 files changed, 859 insertions(+), 329 deletions(-)

diff --git a/CommonDLL/CmsQueryExtensions.dll b/CommonDLL/CmsQueryExtensions.dll
index fb7ab04..c64db13 100644
--- a/CommonDLL/CmsQueryExtensions.dll
+++ b/CommonDLL/CmsQueryExtensions.dll
Binary files differ
diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/WmsMaterialStock.tsx b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/WmsMaterialStock.tsx
index 977dd17..9e583a7 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/WmsMaterialStock.tsx
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/WmsMaterialStock.tsx
@@ -145,7 +145,7 @@
       tableRef.value = {
         dataSource: [],
       }
-      handleQueryForMain()
+      // handleQueryForMain()
     })
 
     // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹�
@@ -158,10 +158,10 @@
       _curHighQueryData.value.searchVal = queryForm.value.searchVal
       _curHighQueryData.value.str_searchFormInputAttrs =
         _searchFormInputAttrs.value
-      if (!_curHighQueryData.value?.storageTypeNo) {
-        _curHighQueryData.value.storageTypeNo = 1
-      }
-      tableRef.value.getList(_curHighQueryData.value)
+      // if (!_curHighQueryData.value?.storageTypeNo) {
+      //   _curHighQueryData.value.storageTypeNo = 1
+      // }
+      tableRef.value?.getList(_curHighQueryData.value)
     }
     // 鏂扮増鐨勬煡璇㈡柟娉曪紙楂樼骇鏌ヨ涓殑鎸夐挳銆愭煡璇€�戯級
     const handleQuery = async (extraParams = {}) => {
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/GetWmsMaterialStockInput.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/GetWmsMaterialStockInput.cs
new file mode 100644
index 0000000..0221eb9
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/GetWmsMaterialStockInput.cs
@@ -0,0 +1,360 @@
+using CMS.Plugin.HIAWms.Domain.Shared.Enums;
+using CmsQueryExtensions.Extension;
+using Volo.Abp.Application.Dtos;
+
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks;
+
+/// <summary> 
+/// 鍑哄叆搴撳崟鎹鎯呮煡璇㈠弬鏁� 
+/// </summary> 
+public class GetWmsMaterialStockInput : ExtensiblePagedAndSortedResultRequestDto
+{
+
+    #region 鍏抽敭瀛楁煡璇� 
+
+    /// <summary> 
+    /// 鍏抽敭瀛楁ā绯婃煡璇紙娉ㄦ剰鏄皬鍐欙紒锛� 
+    /// </summary> 
+    public string searchVal { get; set; }
+
+    /// <summary> 
+    /// 閫氱敤鏌ヨ閰嶇疆 (1:妯$硦鏌ヨ , 2:绮惧噯鏌ヨ)锛堟敞鎰忔槸灏忓啓锛侊級 
+    /// </summary> 
+    public SearchFilterModeEnum searchVal_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary> 
+    /// 瀛愭悳绱㈢粍浠朵紶閫掔殑閫氱敤鏌ヨ閰嶇疆鐨勫睘鎬у悕锛堟敞鎰忔槸灏忓啓锛侊級 
+    /// </summary> 
+    [NoAutoQuery]
+    public string str_searchFormInputAttrs { get; set; }
+    /// <summary> 
+    /// 瀛愭悳绱㈢粍浠朵紶閫掔殑閫氱敤鏌ヨ閰嶇疆鐨勫睘鎬у悕锛堟敞鎰忔槸灏忓啓锛侊級 
+    /// </summary> 
+    public List<string> searchFormInputAttrs
+    {
+        get
+        {
+            if (!string.IsNullOrEmpty(str_searchFormInputAttrs))
+            {
+                return str_searchFormInputAttrs.Split(',').ToList();
+            }
+            return new List<string>();
+        }
+    }
+
+    #endregion
+
+    /// <summary>
+    /// 鐗╂枡ID
+    /// </summary>
+    public string MaterialId { get; set; }
+
+    /// <summary>
+    /// 鐗╂枡ID-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum MaterialId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 鐗╂枡鍚嶇О
+    /// </summary>
+    public string MaterialName { get; set; }
+
+    /// <summary>
+    /// 鐗╂枡鍚嶇О-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum MaterialName_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 瀹瑰櫒缂栧彿
+    /// </summary>
+    public string ContainerNo { get; set; }
+
+    /// <summary>
+    /// 瀹瑰櫒缂栧彿-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum ContainerNo_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 瀹瑰櫒鐘舵��
+    /// </summary>
+    public ContainerStatusEnum? ContainerStatus { get; set; }
+
+    /// <summary>
+    /// 瀹瑰櫒鐘舵��-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum ContainerStatus_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+    /// <summary>
+    /// 瀹瑰櫒绫诲瀷
+    /// </summary>
+    public ContainerTypeEnum? ContainerType { get; set; }
+
+    /// <summary>
+    /// 瀹瑰櫒绫诲瀷-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum ContainerType_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+    /// <summary>
+    /// 鐗╂枡缂栧彿
+    /// </summary>
+    public string MaterialNo { get; set; }
+
+    /// <summary>
+    /// 鐗╂枡缂栧彿-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum MaterialNo_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 搴撳瓨鏁伴噺
+    /// </summary>
+    public int? StockNumber { get; set; }
+
+    /// <summary>
+    /// 搴撳瓨鏁伴噺-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum StockNumber_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+    /// <summary>
+    /// 鐗╂枡鎵规
+    /// </summary>
+    public string MaterialBatch { get; set; }
+
+    /// <summary>
+    /// 鐗╂枡鎵规-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum MaterialBatch_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 渚涘簲鍟嗙紪鍙�
+    /// </summary>
+    public string SupplierCode { get; set; }
+
+    /// <summary>
+    /// 渚涘簲鍟嗙紪鍙�-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum SupplierCode_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 鏈哄瀷/瑙勬牸
+    /// </summary>
+    public string MaterialModel { get; set; }
+
+    /// <summary>
+    /// 鏈哄瀷/瑙勬牸-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum MaterialModel_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 搴撲綅缂栧彿
+    /// </summary>
+    public string PlaceNo { get; set; }
+
+    /// <summary>
+    /// 搴撲綅缂栧彿-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum PlaceNo_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 搴撲綅鐘舵��;
+    /// </summary>
+    public PlaceStatusEnum? PlaceStatus { get; set; }
+
+    /// <summary>
+    /// 搴撲綅鐘舵��;-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum PlaceStatus_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+    /// <summary>
+    /// 搴撲綅绫诲瀷
+    /// </summary>
+    public PlaceTypeEnum? StorageTypeNo { get; set; } = PlaceTypeEnum.YUANLIAOKUWEI;
+
+    /// <summary>
+    /// 搴撲綅绫诲瀷-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum StorageTypeNo_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+    /// <summary>
+    /// 鍖哄煙缂栧彿
+    /// </summary>
+    public string AreaCode { get; set; }
+
+    /// <summary>
+    /// 鍖哄煙缂栧彿-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum AreaCode_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 搴撳尯鍚嶇О
+    /// </summary>
+    public string AreaName { get; set; }
+
+    /// <summary>
+    /// 搴撳尯鍚嶇О-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum AreaName_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 妫�楠岀姸鎬�(1:鏈楠�,2:妫�楠岄�氳繃,3:妫�楠屼笉閫氳繃)
+    /// </summary>
+    public MaterialCheckStatusEnum? CheckStatus { get; set; }
+
+    /// <summary>
+    /// 妫�楠岀姸鎬�(1:鏈楠�,2:妫�楠岄�氳繃,3:妫�楠屼笉閫氳繃)-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum CheckStatus_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+    /// <summary>
+    /// 鏄惁閿佸畾(2:鏈攣瀹�,1:宸查攣瀹�)
+    /// </summary>
+    public YesNoEnum? IsLock { get; set; }
+
+    /// <summary>
+    /// 鏄惁閿佸畾(2:鏈攣瀹�,1:宸查攣瀹�)-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum IsLock_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+    /// <summary>
+    /// 鏄惁绌烘墭(2:鍚�,1:鏄�)
+    /// </summary>
+    public YesNoEnum? EmptyContainer { get; set; }
+
+    /// <summary>
+    /// 鏄惁绌烘墭(2:鍚�,1:鏄�)-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum EmptyContainer_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+    /// <summary>
+    /// 鍏ュ簱鏃堕棿
+    /// </summary>
+    //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
+    [HighSearchRangeAttribute]
+    public List<string> InStockTime { get; set; }
+
+
+    /// <summary>
+    /// 鎺掑簭
+    /// </summary>
+    public int? Sort { get; set; }
+
+    /// <summary>
+    /// 鎺掑簭-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum Sort_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    public string Remark { get; set; }
+
+    /// <summary>
+    /// 澶囨敞-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum Remark_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��
+    /// </summary>
+    public string RedundantField1 { get; set; }
+
+    /// <summary>
+    /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum RedundantField1_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��
+    /// </summary>
+    public string RedundantField2 { get; set; }
+
+    /// <summary>
+    /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum RedundantField2_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��
+    /// </summary>
+    public string RedundantField3 { get; set; }
+
+    /// <summary>
+    /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum RedundantField3_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 鏄惁绂佺敤
+    /// </summary>
+    public bool? IsDisabled { get; set; }
+
+    /// <summary>
+    /// 鏄惁绂佺敤-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum IsDisabled_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+    /// <summary>
+    /// 
+    /// </summary>
+    //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
+    [HighSearchRangeAttribute]
+    public List<string> CreationTime { get; set; }
+
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public string CreatorId { get; set; }
+
+    /// <summary>
+    /// -鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum CreatorId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 
+    /// </summary>
+    //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
+    [HighSearchRangeAttribute]
+    public List<string> LastModificationTime { get; set; }
+
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public string LastModifierId { get; set; }
+
+    /// <summary>
+    /// -鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum LastModifierId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public bool? IsDeleted { get; set; }
+
+    /// <summary>
+    /// -鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum IsDeleted_FilterMode { get; set; } = SearchFilterModeEnum.绮惧噯鏌ヨ;
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public string DeleterId { get; set; }
+
+    /// <summary>
+    /// -鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum DeleterId_FilterMode { get; set; } = SearchFilterModeEnum.妯$硦鏌ヨ;
+
+    /// <summary>
+    /// 
+    /// </summary>
+    //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规��
+    [HighSearchRangeAttribute]
+    public List<string> DeletionTime { get; set; }
+
+
+
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/GetWmsMaterialStocksInput.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/GetWmsMaterialStocksInput.cs
deleted file mode 100644
index 37f3ca4..0000000
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/GetWmsMaterialStocksInput.cs
+++ /dev/null
@@ -1,114 +0,0 @@
-using CMS.Plugin.HIAWms.Domain.Shared.Enums;
-using Volo.Abp.Application.Dtos;
-
-namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks;
-
-/// <summary>
-/// WmsMaterialStock鏌ヨ鍙傛暟瀵硅薄
-/// </summary>
-public class GetWmsMaterialStocksInput : ExtensiblePagedAndSortedResultRequestDto
-{
-    /// <summary>
-    /// Gets or sets the filter.
-    /// </summary>
-    public string Filter { get; set; }
-
-    /// <summary>
-    /// Gets or sets the name.
-    /// </summary>
-    public string Name { get; set; }
-
-    /// <summary>
-    /// 寮�濮嬫椂闂�
-    /// </summary>
-    public DateTime? StartTime { get; set; }
-
-    /// <summary>
-    /// 缁撴潫鏃堕棿
-    /// </summary>
-    public DateTime? EndTime { get; set; }
-
-    /// <summary>
-    /// 缂栧彿
-    /// </summary>
-    public virtual string MaterialId { get; set; }
-
-    /// <summary>
-    /// 妫�楠岀姸鎬�
-    /// </summary>
-    public MaterialCheckStatusEnum? CheckStatus { get; set; }
-    /// <summary>
-    /// 鍚嶇О
-    /// </summary>
-    public virtual string MaterialName { get; set; }
-
-    /// <summary>
-    /// 瀹瑰櫒缂栧彿
-    /// </summary>
-    public string ContainerNo { get; set; }
-
-    /// <summary>
-    /// 瀹瑰櫒鐘舵��
-    /// </summary>
-    public ContainerStatusEnum? ContainerStatus { get; set; }
-
-    /// <summary>
-    /// 瀹瑰櫒绫诲瀷
-    /// </summary>
-    public ContainerTypeEnum? ContainerType { get; set; }
-
-    /// <summary>
-    /// 鐗╂枡缂栧彿
-    /// </summary>
-    public string MaterialNo { get; set; }
-
-    /// <summary>
-    /// 鐗╂枡鎵规
-    /// </summary>
-    public string MaterialBatch { get; set; }
-
-    /// <summary>
-    /// 渚涘簲鍟嗙紪鍙�
-    /// </summary>
-    public string SupplierCode { get; set; }
-
-    /// <summary>
-    /// 鏈哄瀷
-    /// </summary>
-    public string MaterialModel { get; set; }
-
-    /// <summary>
-    /// 搴撲綅缂栧彿
-    /// </summary>
-    public string PlaceNo { get; set; }
-
-    /// <summary>
-    /// 搴撲綅鐘舵��
-    /// </summary>
-    public PlaceStatusEnum? PlaceStatus { get; set; }
-
-    /// <summary>
-    /// 搴撲綅绫诲瀷缂栧彿
-    /// </summary>
-    public PlaceTypeEnum? StorageTypeNo { get; set; } = PlaceTypeEnum.YUANLIAOKUWEI;
-
-    /// <summary>
-    /// 鍖哄煙缂栧彿
-    /// </summary>
-    public string AreaCode { get; set; }
-
-    /// <summary>
-    /// 搴撳尯鍚嶇О
-    /// </summary>
-    public string AreaName { get; set; }
-
-    /// <summary>
-    /// 鏄惁閿佸畾
-    /// </summary>
-    public YesNoEnum? IsLock { get; set; }
-
-    /// <summary>
-    /// 鍏ュ簱鏃堕棿
-    /// </summary>
-    public DateTime? InStockTime { get; set; }
-}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStockCreateDto.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStockCreateDto.cs
index 16d40b0..2f89dc8 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStockCreateDto.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStockCreateDto.cs
@@ -1,17 +1,19 @@
-namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks;
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks;
 
-/// <summary>
-/// WmsMaterialStock鍒涘缓鍙傛暟瀵硅薄
-/// </summary>
-public class WmsMaterialStockCreateDto : WmsMaterialStockCreateOrUpdateDtoBase
-{
-    /// <summary>
-    /// 鎺掑簭
-    /// </summary>
-    public virtual int? Sort { get; set; }
-
-    /// <summary>
-    /// 鏄惁绂佺敤
-    /// </summary>
-    public bool? IsDisabled { get; set; } = false;
-}
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks; 
+ 
+/// <summary> 
+/// 鍑哄叆搴撳崟鎹鎯呭垱寤哄弬鏁板璞� 
+/// </summary> 
+public class WmsMaterialStockCreateDto : WmsMaterialStockCreateOrUpdateDtoBase 
+{ 
+    /// <summary> 
+    /// 鎺掑簭 
+    /// </summary> 
+    public virtual int? Sort { get; set; } 
+ 
+    /// <summary> 
+    /// 鏄惁绂佺敤 
+    /// </summary> 
+    public bool? IsDisabled { get; set; } = false; 
+} 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStockCreateOrUpdateDtoBase.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStockCreateOrUpdateDtoBase.cs
index fd3e1ed..a7ec0d1 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStockCreateOrUpdateDtoBase.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStockCreateOrUpdateDtoBase.cs
@@ -1,27 +1,28 @@
 using CMS.Plugin.HIAWms.Domain.Shared.Enums;
+using System;
 using Volo.Abp.Application.Dtos;
 
 namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks;
 
-/// <summary>
-/// WmsMaterialStock鍒涘缓鎴栨洿鏂板熀绫�
-/// </summary>
+/// <summary> 
+/// 鍑哄叆搴撳崟鎹鎯呭垱寤烘垨鏇存柊鍩虹被 
+/// </summary> 
 public abstract class WmsMaterialStockCreateOrUpdateDtoBase : ExtensibleEntityDto
 {
     /// <summary>
-    /// 缂栧彿
+    /// 鐗╂枡ID
     /// </summary>
-    public virtual string MaterialId { get; set; }
+    public string MaterialId { get; set; }
 
     /// <summary>
-    /// 鍚嶇О
+    /// 鐗╂枡鍚嶇О
     /// </summary>
-    public virtual string MaterialName { get; set; }
+    public string MaterialName { get; set; }
 
     /// <summary>
     /// 瀹瑰櫒缂栧彿
     /// </summary>
-    public string ContainerNo { get; set; }
+    public string? ContainerNo { get; set; }
 
     /// <summary>
     /// 瀹瑰櫒鐘舵��
@@ -46,55 +47,55 @@
     /// <summary>
     /// 鐗╂枡鎵规
     /// </summary>
-    public string MaterialBatch { get; set; }
+    public string? MaterialBatch { get; set; }
 
     /// <summary>
     /// 渚涘簲鍟嗙紪鍙�
     /// </summary>
-    public string SupplierCode { get; set; }
+    public string? SupplierCode { get; set; }
 
     /// <summary>
-    /// 鏈哄瀷
+    /// 鏈哄瀷/瑙勬牸
     /// </summary>
-    public string MaterialModel { get; set; }
+    public string? MaterialModel { get; set; }
 
     /// <summary>
     /// 搴撲綅缂栧彿
     /// </summary>
-    public string PlaceNo { get; set; }
+    public string? PlaceNo { get; set; }
 
     /// <summary>
-    /// 搴撲綅鐘舵��
+    /// 搴撲綅鐘舵��;
     /// </summary>
     public PlaceStatusEnum PlaceStatus { get; set; }
 
     /// <summary>
-    /// 搴撲綅绫诲瀷缂栧彿
+    /// 搴撲綅绫诲瀷
     /// </summary>
     public PlaceTypeEnum StorageTypeNo { get; set; }
 
     /// <summary>
     /// 鍖哄煙缂栧彿
     /// </summary>
-    public string AreaCode { get; set; }
+    public string? AreaCode { get; set; }
 
     /// <summary>
     /// 搴撳尯鍚嶇О
     /// </summary>
-    public string AreaName { get; set; }
+    public string? AreaName { get; set; }
 
     /// <summary>
-    /// 妫�楠岀姸鎬�
+    /// 妫�楠岀姸鎬�(1:鏈楠�,2:妫�楠岄�氳繃,3:妫�楠屼笉閫氳繃)
     /// </summary>
-    public MaterialCheckStatusEnum? CheckStatus { get; set; }
+    public MaterialCheckStatusEnum? CheckStatus { get; set; } = MaterialCheckStatusEnum.HEGE;
 
     /// <summary>
-    /// 鏄惁閿佸畾
+    /// 鏄惁閿佸畾(2:鏈攣瀹�,1:宸查攣瀹�)
     /// </summary>
     public YesNoEnum IsLock { get; set; }
 
     /// <summary>
-    /// 鏄惁绌烘墭
+    /// 鏄惁绌烘墭(2:鍚�,1:鏄�)
     /// </summary>
     public YesNoEnum EmptyContainer { get; set; }
 
@@ -104,13 +105,55 @@
     public DateTime? InStockTime { get; set; }
 
     /// <summary>
-    /// 澶囨敞
+    /// 鎺掑簭
     /// </summary>
-    public virtual string Remark { get; set; }
+    public int Sort { get; set; }
 
     /// <summary>
-    /// Initializes a new instance of the <see cref="WmsMaterialStockCreateOrUpdateDtoBase"/> class.
+    /// 澶囨敞
     /// </summary>
+    public string? Remark { get; set; }
+
+    /// <summary>
+    /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��
+    /// </summary>
+    public string? RedundantField1 { get; set; }
+
+    /// <summary>
+    /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��
+    /// </summary>
+    public string? RedundantField2 { get; set; }
+
+    /// <summary>
+    /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��
+    /// </summary>
+    public string? RedundantField3 { get; set; }
+
+    /// <summary>
+    /// 鏄惁绂佺敤
+    /// </summary>
+    public bool? IsDisabled { get; set; }
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public string? CreatorId { get; set; }
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public string? LastModifierId { get; set; }
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public DateTime? DeletionTime { get; set; }
+
+
+
+    /// <summary> 
+    /// Initializes a new instance of the <see cref="WmsMaterialStockCreateOrUpdateDtoBase"/> class. 
+    /// </summary> 
     public WmsMaterialStockCreateOrUpdateDtoBase() : base(false)
     {
     }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStockDto.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStockDto.cs
index 6694562..0f61b6a 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStockDto.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStockDto.cs
@@ -1,30 +1,31 @@
 using CMS.Plugin.HIAWms.Domain.Shared.Enums;
 using CmsQueryExtensions;
-using System.Runtime.CompilerServices;
 using Volo.Abp.Application.Dtos;
+using Volo.Abp.Data;
 using Volo.Abp.Domain.Entities;
+
 
 namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks;
 
-/// <summary>
-/// WmsMaterialStock鏁版嵁鍙傛暟瀵硅薄
-/// </summary>
+/// <summary> 
+/// 鍑哄叆搴撳崟鎹鎯呮暟鎹弬鏁板璞� 
+/// </summary> 
 public class WmsMaterialStockDto : ExtensibleEntityDto<Guid>, IHasConcurrencyStamp
 {
     /// <summary>
-    /// 缂栧彿
+    /// 鐗╂枡ID
     /// </summary>
-    public virtual string MaterialId { get; set; }
+    public string MaterialId { get; set; }
 
     /// <summary>
-    /// 鍚嶇О
+    /// 鐗╂枡鍚嶇О
     /// </summary>
-    public virtual string MaterialName { get; set; }
+    public string MaterialName { get; set; }
 
     /// <summary>
     /// 瀹瑰櫒缂栧彿
     /// </summary>
-    public string ContainerNo { get; set; }
+    public string? ContainerNo { get; set; }
 
     /// <summary>
     /// 瀹瑰櫒鐘舵��
@@ -32,7 +33,7 @@
     public ContainerStatusEnum ContainerStatus { get; set; }
 
     /// <summary>
-    /// 鎵樼洏鐘舵��
+    /// 瀹瑰櫒鐘舵��
     /// </summary>
     public string ContainerStatusDesc
     {
@@ -41,14 +42,13 @@
             return GetEnumDescriptionUtil.GetEnumDescription(ContainerStatus);
         }
     }
-
     /// <summary>
     /// 瀹瑰櫒绫诲瀷
     /// </summary>
     public ContainerTypeEnum ContainerType { get; set; }
 
     /// <summary>
-    /// 鎵樼洏绫诲瀷
+    /// 瀹瑰櫒绫诲瀷
     /// </summary>
     public string ContainerTypeDesc
     {
@@ -57,8 +57,6 @@
             return GetEnumDescriptionUtil.GetEnumDescription(ContainerType);
         }
     }
-
-
     /// <summary>
     /// 鐗╂枡缂栧彿
     /// </summary>
@@ -72,30 +70,30 @@
     /// <summary>
     /// 鐗╂枡鎵规
     /// </summary>
-    public string MaterialBatch { get; set; }
+    public string? MaterialBatch { get; set; }
 
     /// <summary>
     /// 渚涘簲鍟嗙紪鍙�
     /// </summary>
-    public string SupplierCode { get; set; }
+    public string? SupplierCode { get; set; }
 
     /// <summary>
-    /// 鏈哄瀷
+    /// 鏈哄瀷/瑙勬牸
     /// </summary>
-    public string MaterialModel { get; set; }
+    public string? MaterialModel { get; set; }
 
     /// <summary>
     /// 搴撲綅缂栧彿
     /// </summary>
-    public string PlaceNo { get; set; }
+    public string? PlaceNo { get; set; }
 
     /// <summary>
-    /// 搴撲綅鐘舵��
+    /// 搴撲綅鐘舵��;
     /// </summary>
     public PlaceStatusEnum PlaceStatus { get; set; }
 
     /// <summary>
-    /// 璐т綅鐘舵��
+    /// 搴撲綅鐘舵��;
     /// </summary>
     public string PlaceStatusDesc
     {
@@ -104,15 +102,13 @@
             return GetEnumDescriptionUtil.GetEnumDescription(PlaceStatus);
         }
     }
-
-
     /// <summary>
-    /// 搴撲綅绫诲瀷缂栧彿
+    /// 搴撲綅绫诲瀷
     /// </summary>
     public PlaceTypeEnum StorageTypeNo { get; set; }
 
     /// <summary>
-    /// 璐т綅绫诲瀷
+    /// 搴撲綅绫诲瀷
     /// </summary>
     public string StorageTypeNoDesc
     {
@@ -121,40 +117,39 @@
             return GetEnumDescriptionUtil.GetEnumDescription(StorageTypeNo);
         }
     }
-
     /// <summary>
     /// 鍖哄煙缂栧彿
     /// </summary>
-    public string AreaCode { get; set; }
+    public string? AreaCode { get; set; }
 
     /// <summary>
     /// 搴撳尯鍚嶇О
     /// </summary>
-    public string AreaName { get; set; }
+    public string? AreaName { get; set; }
 
     /// <summary>
-    /// 妫�楠岀姸鎬�
+    /// 妫�楠岀姸鎬�(1:鏈楠�,2:妫�楠岄�氳繃,3:妫�楠屼笉閫氳繃)
     /// </summary>
     public MaterialCheckStatusEnum? CheckStatus { get; set; }
 
     /// <summary>
-    /// 妫�楠岀姸鎬�
+    /// 妫�楠岀姸鎬�(1:鏈楠�,2:妫�楠岄�氳繃,3:妫�楠屼笉閫氳繃)
     /// </summary>
-    public string CheckStatusDesc
+    public string? CheckStatusDesc
     {
         get
         {
+            if (!CheckStatus.HasValue) { return "鏈楠�"; }
             return GetEnumDescriptionUtil.GetEnumDescription(CheckStatus);
         }
     }
-
     /// <summary>
-    /// 鏄惁閿佸畾
+    /// 鏄惁閿佸畾(2:鏈攣瀹�,1:宸查攣瀹�)
     /// </summary>
     public YesNoEnum IsLock { get; set; }
 
     /// <summary>
-    /// 鏄惁閿佸畾
+    /// 鏄惁閿佸畾(2:鏈攣瀹�,1:宸查攣瀹�)
     /// </summary>
     public string IsLockDesc
     {
@@ -163,14 +158,13 @@
             return GetEnumDescriptionUtil.GetEnumDescription(IsLock);
         }
     }
-
     /// <summary>
-    /// 鏄惁绌烘墭
+    /// 鏄惁绌烘墭(2:鍚�,1:鏄�)
     /// </summary>
-    public YesNoEnum EmptyContainer { get; protected set; }
+    public YesNoEnum EmptyContainer { get; set; }
 
     /// <summary>
-    /// 鏄惁绌烘墭
+    /// 鏄惁绌烘墭(2:鍚�,1:鏄�)
     /// </summary>
     public string EmptyContainerDesc
     {
@@ -179,7 +173,6 @@
             return GetEnumDescriptionUtil.GetEnumDescription(EmptyContainer);
         }
     }
-
     /// <summary>
     /// 鍏ュ簱鏃堕棿
     /// </summary>
@@ -188,27 +181,88 @@
     /// <summary>
     /// 鎺掑簭
     /// </summary>
-    public virtual int Sort { get; set; }
+    public int Sort { get; set; }
 
+    /// <summary>
+    /// 搴撳瓨娆″簭
+    /// </summary>
+    public int OrderInPlace { get; set; }
     /// <summary>
     /// 澶囨敞
     /// </summary>
-    public virtual string Remark { get; set; }
+    public string? Remark { get; set; }
+
+    /// <summary>
+    /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��
+    /// </summary>
+    public string? RedundantField1 { get; set; }
+
+    /// <summary>
+    /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��
+    /// </summary>
+    public string? RedundantField2 { get; set; }
+
+    /// <summary>
+    /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��
+    /// </summary>
+    public string? RedundantField3 { get; set; }
 
     /// <summary>
     /// 鏄惁绂佺敤
     /// </summary>
-    public virtual bool? IsDisabled { get; set; }
+    public bool? IsDisabled { get; set; }
 
     /// <summary>
-    /// 骞跺彂鎴�
+    /// 
     /// </summary>
-    public string ConcurrencyStamp { get; set; }
+    public ExtraPropertyDictionary? ExtraProperties { get; set; }
 
     /// <summary>
-    /// Gets the export data.
+    /// 
     /// </summary>
-    /// <returns></returns>
+    public string? ConcurrencyStamp { get; set; }
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public DateTime CreationTime { get; set; }
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public string? CreatorId { get; set; }
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public DateTime? LastModificationTime { get; set; }
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public string? LastModifierId { get; set; }
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public bool IsDeleted { get; set; }
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public string? DeleterId { get; set; }
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public DateTime? DeletionTime { get; set; }
+
+
+
+    /// <summary> 
+    /// Gets the export data. 
+    /// </summary> 
+    /// <returns></returns> 
     public Dictionary<string, object> GetExportData()
     {
         var exportData = new Dictionary<string, object>();
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStockExportModel.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStockExportModel.cs
new file mode 100644
index 0000000..439399a
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStockExportModel.cs
@@ -0,0 +1,175 @@
+using MiniExcelLibs.Attributes; 
+using System.ComponentModel.DataAnnotations; 
+using System; 
+using System.ComponentModel; 
+using CMS.Plugin.HIAWms.Domain.Shared.Enums; 
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks; 
+ 
+/// <summary> 
+/// 鍑哄叆搴撳崟鎹鎯呭鍑烘ā鍨� 
+/// </summary> 
+public  class WmsMaterialStockExportModel 
+{ 
+            /// <summary>
+        /// 鐗╂枡ID
+        /// </summary>
+        [ExcelColumn(Name = "鐗╂枡ID", Width = 25)]
+        public string MaterialId { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡鍚嶇О
+        /// </summary>
+        [ExcelColumn(Name = "鐗╂枡鍚嶇О", Width = 25)]
+        public string MaterialName { get; set; }
+
+        /// <summary>
+        /// 瀹瑰櫒缂栧彿
+        /// </summary>
+        [ExcelColumn(Name = "瀹瑰櫒缂栧彿", Width = 25)]
+        public string ContainerNo { get; set; }
+
+        /// <summary>
+        /// 瀹瑰櫒鐘舵��
+        /// </summary>
+        [ExcelColumn(Name = "瀹瑰櫒鐘舵��", Width = 25)]
+        public ContainerStatusEnum ContainerStatus { get; set; }
+
+        /// <summary>
+        /// 瀹瑰櫒绫诲瀷
+        /// </summary>
+        [ExcelColumn(Name = "瀹瑰櫒绫诲瀷", Width = 25)]
+        public ContainerTypeEnum ContainerType { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡缂栧彿
+        /// </summary>
+        [ExcelColumn(Name = "鐗╂枡缂栧彿", Width = 25)]
+        public string MaterialNo { get; set; }
+
+        /// <summary>
+        /// 搴撳瓨鏁伴噺
+        /// </summary>
+        [ExcelColumn(Name = "搴撳瓨鏁伴噺", Width = 25)]
+        public int StockNumber { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡鎵规
+        /// </summary>
+        [ExcelColumn(Name = "鐗╂枡鎵规", Width = 25)]
+        public string MaterialBatch { get; set; }
+
+        /// <summary>
+        /// 渚涘簲鍟嗙紪鍙�
+        /// </summary>
+        [ExcelColumn(Name = "渚涘簲鍟嗙紪鍙�", Width = 25)]
+        public string SupplierCode { get; set; }
+
+        /// <summary>
+        /// 鏈哄瀷/瑙勬牸
+        /// </summary>
+        [ExcelColumn(Name = "鏈哄瀷/瑙勬牸", Width = 25)]
+        public string MaterialModel { get; set; }
+
+        /// <summary>
+        /// 搴撲綅缂栧彿
+        /// </summary>
+        [ExcelColumn(Name = "搴撲綅缂栧彿", Width = 25)]
+        public string PlaceNo { get; set; }
+
+        /// <summary>
+        /// 搴撲綅鐘舵��;
+        /// </summary>
+        [ExcelColumn(Name = "搴撲綅鐘舵��;", Width = 25)]
+        public PlaceStatusEnum PlaceStatus { get; set; }
+
+        /// <summary>
+        /// 搴撲綅绫诲瀷
+        /// </summary>
+        [ExcelColumn(Name = "搴撲綅绫诲瀷", Width = 25)]
+        public PlaceTypeEnum StorageTypeNo { get; set; }
+
+        /// <summary>
+        /// 鍖哄煙缂栧彿
+        /// </summary>
+        [ExcelColumn(Name = "鍖哄煙缂栧彿", Width = 25)]
+        public string AreaCode { get; set; }
+
+        /// <summary>
+        /// 搴撳尯鍚嶇О
+        /// </summary>
+        [ExcelColumn(Name = "搴撳尯鍚嶇О", Width = 25)]
+        public string AreaName { get; set; }
+
+        /// <summary>
+        /// 妫�楠岀姸鎬�(1:鏈楠�,2:妫�楠岄�氳繃,3:妫�楠屼笉閫氳繃)
+        /// </summary>
+        [ExcelColumn(Name = "妫�楠岀姸鎬�(1:鏈楠�,2:妫�楠岄�氳繃,3:妫�楠屼笉閫氳繃)", Width = 25)]
+        public MaterialCheckStatusEnum? CheckStatus { get; set; }
+
+        /// <summary>
+        /// 鏄惁閿佸畾(2:鏈攣瀹�,1:宸查攣瀹�)
+        /// </summary>
+        [ExcelColumn(Name = "鏄惁閿佸畾(2:鏈攣瀹�,1:宸查攣瀹�)", Width = 25)]
+        public YesNoEnum IsLock { get; set; }
+
+        /// <summary>
+        /// 鏄惁绌烘墭(2:鍚�,1:鏄�)
+        /// </summary>
+        [ExcelColumn(Name = "鏄惁绌烘墭(2:鍚�,1:鏄�)", Width = 25)]
+        public YesNoEnum EmptyContainer { get; set; }
+
+        /// <summary>
+        /// 鍏ュ簱鏃堕棿
+        /// </summary>
+        [ExcelColumn(Name = "鍏ュ簱鏃堕棿", Width = 25)]
+        public DateTime InStockTime { get; set; }
+
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        [ExcelColumn(Name = "澶囨敞", Width = 25)]
+        public string Remark { get; set; }
+
+        /// <summary>
+        /// 鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��
+        /// </summary>
+        [ExcelColumn(Name = "鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��", Width = 25)]
+        public string RedundantField1 { get; set; }
+
+        /// <summary>
+        /// 鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��
+        /// </summary>
+        [ExcelColumn(Name = "鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��", Width = 25)]
+        public string RedundantField2 { get; set; }
+
+        /// <summary>
+        /// 鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��
+        /// </summary>
+        [ExcelColumn(Name = "鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��", Width = 25)]
+        public string RedundantField3 { get; set; }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        [ExcelColumn(Name = "", Width = 25)]
+        public DateTime CreationTime { get; set; }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        [ExcelColumn(Name = "", Width = 25)]
+        public DateTime LastModificationTime { get; set; }
+
+ 
+ 
+    public Dictionary<string, object> GetExportData() 
+        { 
+            var exportData = new Dictionary<string, object>(); 
+            foreach (var property in this.GetType().GetProperties()) 
+            { 
+                exportData.Add(property.Name, property.GetValue(this)); 
+            } 
+ 
+            return exportData; 
+        } 
+} 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStockUpdateDto.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStockUpdateDto.cs
index 0578e9f..f61a51c 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStockUpdateDto.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStockUpdateDto.cs
@@ -1,14 +1,13 @@
-using Volo.Abp.Domain.Entities;
-
-namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks;
-
-/// <summary>
-/// WmsMaterialStock鏇存柊鍙傛暟瀵硅薄
-/// </summary>
-public class WmsMaterialStockUpdateDto : WmsMaterialStockCreateOrUpdateDtoBase, IHasConcurrencyStamp
-{
-    /// <summary>
-    /// 骞跺彂鎴�
-    /// </summary>
-    public string ConcurrencyStamp { get; set; }
-}
+using Volo.Abp.Domain.Entities; 
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks; 
+ 
+/// <summary> 
+/// 鍑哄叆搴撳崟鎹鎯呮洿鏂板弬鏁板璞� 
+/// </summary> 
+public class WmsMaterialStockUpdateDto : WmsMaterialStockCreateOrUpdateDtoBase, IHasConcurrencyStamp 
+{ 
+   /// <summary> 
+    /// 骞跺彂鎴� 
+    /// </summary> 
+    public string ConcurrencyStamp { get; set; } 
+} 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStocksImportModel.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStocksImportModel.cs
index 0b363ab..345f303 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStocksImportModel.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsMaterialStocks/WmsMaterialStocksImportModel.cs
@@ -1,34 +1,33 @@
-using static CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks.WmsMaterialStocksExportModel;
-
-namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks
-{
-    /// <summary>
-    /// WmsMaterialStocks瀵煎叆妯″瀷
-    /// </summary>
-    public class WmsMaterialStocksImportModel
-    {
-        private List<WmsMaterialStockImportModel> _wmsmaterialstocks = new();
-
-        public List<WmsMaterialStockImportModel> WmsMaterialStocks
-        {
-            get => _wmsmaterialstocks;
-            set
-            {
-                _wmsmaterialstocks = value;
-                var rowIndex = 2;
-                _wmsmaterialstocks?.ForEach(x => x.RowIndex = rowIndex++);
-            }
-        }
-
-        /// <summary>
-        /// WmsMaterialStock瀵煎叆妯″瀷
-        /// </summary>
-        public class WmsMaterialStockImportModel : WorkSectionExportModel
-        {
-            /// <summary>
-            /// 琛屽彿
-            /// </summary>
-            public int RowIndex { get; set; }
-        }
-    }
-}
+ 
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks 
+{ 
+    /// <summary> 
+    /// 鍑哄叆搴撳崟鎹鎯呭鍏ユā鍨� 
+    /// </summary> 
+    public class WmsMaterialStocksImportModel 
+    { 
+        private List<WmsMaterialStockImportModel> _WmsMaterialStocks = new(); 
+ 
+        public List<WmsMaterialStockImportModel> WmsMaterialStocks 
+        { 
+            get => _WmsMaterialStocks; 
+            set 
+            { 
+                _WmsMaterialStocks = value; 
+                var rowIndex = 2; 
+                _WmsMaterialStocks?.ForEach(x => x.RowIndex = rowIndex++); 
+            } 
+        } 
+ 
+        /// <summary> 
+        /// 鍑哄叆搴撳崟鎹鎯呭鍏ユā鍨� 
+        /// </summary> 
+        public class WmsMaterialStockImportModel : WmsMaterialStockExportModel 
+        { 
+            /// <summary> 
+            /// 琛屽彿 
+            /// </summary> 
+            public int RowIndex { get; set; } 
+        } 
+    } 
+} 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsMaterialStockAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsMaterialStockAppService.cs
index d297289..b4f1bee 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsMaterialStockAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsMaterialStockAppService.cs
@@ -7,7 +7,7 @@
 /// <summary>
 /// WmsMaterialStock搴旂敤鏈嶅姟
 /// </summary>
-public interface IWmsMaterialStockAppService : ICrudAppService<WmsMaterialStockDto, Guid, GetWmsMaterialStocksInput, WmsMaterialStockCreateDto, WmsMaterialStockUpdateDto>
+public interface IWmsMaterialStockAppService : ICrudAppService<WmsMaterialStockDto, Guid, GetWmsMaterialStockInput, WmsMaterialStockCreateDto, WmsMaterialStockUpdateDto>
 {
     /// <summary>
     /// Clones the asynchronous.
@@ -21,7 +21,7 @@
     /// </summary>
     /// <param name="input"></param>
     /// <returns></returns>
-    Task<PagedResultDto<WmsMaterialStockDto>> GetStockDetailAsync(GetWmsMaterialStocksInput input);
+    Task<PagedResultDto<WmsMaterialStockDto>> GetStockDetailAsync(GetWmsMaterialStockInput input);
 
     /// <summary>
     /// Deletes the many asynchronous.
@@ -57,5 +57,5 @@
     /// </summary>
     /// <param name="input">The input.</param>
     /// <returns></returns>
-    Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsMaterialStocksInput input);
+    Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsMaterialStockInput input);
 }
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 890f1c6..904fd93 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs
@@ -5,9 +5,11 @@
 using CMS.Plugin.HIAWms.Domain.WmsMaterials;
 using CMS.Plugin.HIAWms.Domain.WmsMaterialStocks;
 using CMS.Plugin.HIAWms.Domain.WmsPlaces;
+using CmsQueryExtensions.Extension;
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Linq.Expressions;
 using System.Text;
 using System.Threading.Tasks;
 using Volo.Abp;
@@ -44,8 +46,10 @@
         /// <exception cref="UserFriendlyException"></exception>
         public async Task<Dictionary<WmsPlaceDto, int>> FindAvailablePlacesAsync(string materialModel,int requiredNum, string materialNo="" )
         {
+
+            var whereConditions = DynamicGetQueryParams(new GetWmsMaterialStockInput { StorageTypeNo = Domain.Shared.Enums.PlaceTypeEnum.YUANLIAOKUWEI });
             // 1. 鑾峰彇鎵�鏈夊簱瀛樺拰搴撲綅淇℃伅
-            var stockList = await _wmsMaterialStockRepository.GetListAsync(new WmsMaterialStock { StorageTypeNo = Domain.Shared.Enums.PlaceTypeEnum.YUANLIAOKUWEI});
+            var stockList = await _wmsMaterialStockRepository.GetListAsync(whereConditions);
 
             var placeList = await _wmsPlaceRepository.GetListAsync(new WmsPlace { StorageTypeNo = Domain.Shared.Enums.PlaceTypeEnum.YUANLIAOKUWEI});
             var allPlaceList = ObjectMapper.Map<List<WmsPlace>, List<WmsPlaceDto>>(placeList);
@@ -113,7 +117,8 @@
         public async Task<Dictionary<WmsMaterialStockDto, int>> FindStockAsync(string materialModel, int requiredNum, string materialNo = "")
         {
             // 1. 鑾峰彇鎵�鏈夊簱瀛橈紙鎺掗櫎閿佸畾搴撳瓨锛�
-            var stockList = (await _wmsMaterialStockRepository.GetListAsync(new WmsMaterialStock()))
+            var whereConditions = DynamicGetQueryParams(new GetWmsMaterialStockInput());
+            var stockList = (await _wmsMaterialStockRepository.GetListAsync(whereConditions))
                 .Where(x => x.IsLock == Domain.Shared.Enums.YesNoEnum.N)
                 .Where(x=>x.StorageTypeNo == Domain.Shared.Enums.PlaceTypeEnum.YUANLIAOKUWEI)
                 .ToList();
@@ -150,5 +155,23 @@
 
             return allocation;
         }
+
+        private FunReturnResultModel<Expression<Func<WmsMaterialStock, bool>>> DynamicGetQueryParams(GetWmsMaterialStockInput input)
+        {
+            //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+            var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsMaterialStock, GetWmsMaterialStockInput>(input);
+            if (!whereConditions.IsSuccess)
+            {
+                throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg);
+            }
+
+            //涔熷彲鍐嶆鑷畾涔夋瀯寤烘煡璇㈡潯浠�  
+            Expression<Func<WmsMaterialStock, bool>> extendExpression = a => a.IsDeleted == false;
+            // 浣跨敤 System.Linq.PredicateBuilder 鐨� And 
+            var pres = (System.Linq.Expressions.Expression<Func<WmsMaterialStock, bool>>)(whereConditions.data);
+            whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression);
+
+            return whereConditions;
+        }
     }
 }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs
index 334b107..6cb1570 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs
@@ -58,7 +58,7 @@
     }
 
     /// <inheritdoc />
-    public virtual async Task<PagedResultDto<WmsMaterialStockDto>> GetListAsync(GetWmsMaterialStocksInput input)
+    public virtual async Task<PagedResultDto<WmsMaterialStockDto>> GetListAsync(GetWmsMaterialStockInput input)
     {
         Check.NotNull(input, nameof(input));
 
@@ -67,15 +67,17 @@
             input.Sorting = nameof(WmsMaterialStock.Sort);
         }
 
-        var specification = new WmsMaterialStockSpecification(input.Name);
-        var stock = ObjectMapper.Map<GetWmsMaterialStocksInput, WmsMaterialStock>(input);
-        var count = await _wmsmaterialstockRepository.GetCountAsync(stock, input.StartTime, input.EndTime, input.Filter, specification);
-        var list = await _wmsmaterialstockRepository.GetListAsync(stock, input.StartTime, input.EndTime, input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification);
+        //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
+        var whereConditions = DynamicGetQueryParams(input);
+
+        var stock = ObjectMapper.Map<GetWmsMaterialStockInput, WmsMaterialStock>(input);
+        var count = await _wmsmaterialstockRepository.GetCountAsync(whereConditions);
+        var list = await _wmsmaterialstockRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount);
 
         return new PagedResultDto<WmsMaterialStockDto>(count, ObjectMapper.Map<List<WmsMaterialStock>, List<WmsMaterialStockDto>>(list));
     }
 
-    public async Task<PagedResultDto<WmsMaterialStockDto>> GetStockDetailAsync(GetWmsMaterialStocksInput input)
+    public async Task<PagedResultDto<WmsMaterialStockDto>> GetStockDetailAsync(GetWmsMaterialStockInput input)
     {
         Check.NotNull(input, nameof(input));
 
@@ -93,8 +95,40 @@
 
         var count = await _wmsmaterialstockRepository.GetDetailCountAsync(whereConditions);
         var list = await _wmsmaterialstockRepository.GetStockDetailListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount);
+        var result = list
+        .GroupBy(x => x.PlaceNo)  // 鎸夊簱浣嶅彿鍒嗙粍
+        .SelectMany(g => g
+            .OrderBy(x => x.InStockTime)  // 鎸夊叆搴撴椂闂存帓搴�
+            .Select((x, index) => new WmsMaterialStockDto
+            {
+                MaterialId = x.MaterialId,
+                MaterialBatch = x.MaterialBatch,
+                MaterialModel = x.MaterialModel,
+                MaterialName = x.MaterialName,
+                MaterialNo = x.MaterialNo,
+                CheckStatus = x.CheckStatus,
+                ContainerNo = x.ContainerNo,
+                ContainerType = x.ContainerType,
+                StockNumber = x.StockNumber,
+                SupplierCode = x.SupplierCode,
+                PlaceNo = x.PlaceNo,
+                PlaceStatus = x.PlaceStatus,
+                StorageTypeNo = x.StorageTypeNo,
+                AreaCode = x.AreaCode,
+                AreaName = x.AreaName,
+                IsLock = x.IsLock,
+                Id = x.Id,
+                EmptyContainer = x.EmptyContainer,
+                InStockTime = x.InStockTime,
+                RedundantField1 = x.RedundantField1,
+                RedundantField2 = x.RedundantField2,
+                RedundantField3 = x.RedundantField3,
+                Remark = x.Remark,
+                OrderInPlace = index+1
 
-        return new PagedResultDto<WmsMaterialStockDto>(count, ObjectMapper.Map<List<WmsMaterialStock>, List<WmsMaterialStockDto>>(list));
+            })).ToList();
+            
+        return new PagedResultDto<WmsMaterialStockDto>(count, result);
     }
 
     /// <summary>  
@@ -102,17 +136,17 @@
     /// </summary>  
     /// <param name="input">杈撳叆鍙傛暟</param>  
     /// <returns></returns>  
-    private FunReturnResultModel<Expression<Func<WmsMaterialStock, bool>>> DynamicGetQueryParams(GetWmsMaterialStocksInput input)
+    private FunReturnResultModel<Expression<Func<WmsMaterialStock, bool>>> DynamicGetQueryParams(GetWmsMaterialStockInput input)
     {
         //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
-        var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsMaterialStock, GetWmsMaterialStocksInput>(input);
+        var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsMaterialStock, GetWmsMaterialStockInput>(input);
         if (!whereConditions.IsSuccess)
         {
             throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg);
         }
 
         //涔熷彲鍐嶆鑷畾涔夋瀯寤烘煡璇㈡潯浠�  
-        Expression<Func<WmsMaterialStock, bool>> extendExpression = a => a.IsDeleted == false ;
+        Expression<Func<WmsMaterialStock, bool>> extendExpression = a => a.IsDeleted == false;
         // 浣跨敤 System.Linq.PredicateBuilder 鐨� And 
         var pres = (System.Linq.Expressions.Expression<Func<WmsMaterialStock, bool>>)(whereConditions.data);
         whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression);
@@ -415,7 +449,7 @@
     /// <inheritdoc />
     public virtual async Task AdjustSortAsync(Guid id, int sort)
     {
-        var list = await _wmsmaterialstockRepository.GetListAsync(null, null, null, nameof(WmsMaterialStock.Sort));
+        var list = await _wmsmaterialstockRepository.GetListAsync(null, "", 0, 999);
         if (list != null && list.Any())
         {
             var initSort = 1;
@@ -595,7 +629,7 @@
     }
 
     /// <inheritdoc />
-    public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsMaterialStocksInput input)
+    public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsMaterialStockInput input)
     {
         Check.NotNull(input, nameof(input));
 
@@ -604,9 +638,9 @@
             input.Sorting = nameof(WmsMaterialStock.Sort);
         }
 
-        var specification = new WmsMaterialStockSpecification(input.Name);
-        var stock = ObjectMapper.Map<GetWmsMaterialStocksInput, WmsMaterialStock>(input);
-        var list = await _wmsmaterialstockRepository.GetListAsync(stock, input.StartTime, input.EndTime, input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter, specification, includeDetails: true);
+        var whereConditions = DynamicGetQueryParams(input);
+        var stock = ObjectMapper.Map<GetWmsMaterialStockInput, WmsMaterialStock>(input);
+        var list = await _wmsmaterialstockRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount);
         var result = ObjectMapper.Map<List<WmsMaterialStock>, List<WmsMaterialStockDto>>(list);
 
         var sheets = new Dictionary<string, object>
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialStockAutoMapperProfile.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialStockAutoMapperProfile.cs
index 8973ba8..dfea33f 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialStockAutoMapperProfile.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsMaterialStockAutoMapperProfile.cs
@@ -23,6 +23,6 @@
          * into multiple profile classes for a better organization. */
         CreateMap<WmsMaterialStock, WmsMaterialStockDto>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
         CreateMap<WmsMaterialStockCreateDto, WmsMaterialStock>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
-        CreateMap<GetWmsMaterialStocksInput, WmsMaterialStock>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
+        CreateMap<GetWmsMaterialStockInput, WmsMaterialStock>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
     }
 }
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 a8ab1c7..a56a849 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterialStocks/IWmsMaterialStockRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterialStocks/IWmsMaterialStockRepository.cs
@@ -51,7 +51,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>
     /// 鑾峰彇鎵�鏈夌殑搴撳瓨淇℃伅
@@ -87,5 +87,5 @@
     /// <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);
 }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs
index 202ee99..e50badd 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs
@@ -73,33 +73,10 @@
     }
 
     /// <inheritdoc />
-    public async 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)
+    public async 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)
     {
-        specification ??= new WmsMaterialStockSpecification();
         var baseQuery = (await GetDbSetAsync())
-        .IncludeDetails(includeDetails)
-        .WhereIf(!filter.IsNullOrWhiteSpace(),
-            u => u.MaterialNo.Contains(filter) ||
-                 u.MaterialName.Contains(filter) ||
-                 u.MaterialBatch.Contains(filter) ||
-                 u.PlaceNo.Contains(filter) ||
-                 u.AreaName.Contains(filter))
-        .WhereIf(!string.IsNullOrEmpty(stock?.MaterialNo), u => u.MaterialNo.Contains(stock.MaterialNo))
-        .WhereIf(!string.IsNullOrEmpty(stock?.MaterialName), u => u.MaterialName.Contains(stock.MaterialName))
-        .WhereIf(!string.IsNullOrEmpty(stock?.ContainerNo), u => u.ContainerNo == stock.ContainerNo)
-        .WhereIf(stock?.ContainerStatus > 0, u => u.ContainerStatus == stock.ContainerStatus)
-        .WhereIf(stock?.ContainerType > 0, u => u.ContainerType == stock.ContainerType)
-        .WhereIf(!string.IsNullOrEmpty(stock?.MaterialBatch), u => u.MaterialBatch == stock.MaterialBatch)
-        .WhereIf(!string.IsNullOrEmpty(stock?.SupplierCode), u => u.SupplierCode == stock.SupplierCode)
-        .WhereIf(!string.IsNullOrEmpty(stock?.MaterialModel), u => u.MaterialModel==stock.MaterialModel)
-        .WhereIf(!string.IsNullOrEmpty(stock?.PlaceNo), u => u.PlaceNo == stock.PlaceNo)
-        .WhereIf(stock.PlaceStatus > 0, u => u.PlaceStatus == stock.PlaceStatus)
-        .WhereIf(stock?.StorageTypeNo > 0, u => u.StorageTypeNo == stock.StorageTypeNo)
-        .WhereIf(!string.IsNullOrEmpty(stock?.AreaCode), u => u.AreaCode == stock.AreaCode)
-        .WhereIf(!string.IsNullOrEmpty(stock?.AreaName), u => u.AreaName.Contains(stock.AreaName))
-        .WhereIf(stock.IsLock > 0, u => u.IsLock == stock.IsLock)
-        .WhereIf(startTime.HasValue, u => u.InStockTime >= startTime.Value)
-        .WhereIf(endTime.HasValue, u => u.InStockTime <= endTime.Value)
+        .IncludeDetails(includeDetails).WhereIf(whereConditions != null, whereConditions.data)
         .Where(u => !u.IsDeleted)
         .AsQueryable();
 
@@ -157,32 +134,10 @@
     }
 
     /// <inheritdoc />
-    public async Task<long> GetCountAsync(WmsMaterialStock? stock, DateTime? startTime = null, DateTime? endTime = null, string filter = null, Specification<WmsMaterialStock> specification = null, CancellationToken cancellationToken = default)
+    public async Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsMaterialStock, bool>>> whereConditions, CancellationToken cancellationToken = default)
     {
-        specification ??= new WmsMaterialStockSpecification();
         var baseQuery = (await GetQueryableAsync())
-            .WhereIf(!filter.IsNullOrWhiteSpace(),
-            u => u.MaterialNo.Contains(filter) ||
-                 u.MaterialName.Contains(filter) ||
-                 u.MaterialBatch.Contains(filter) ||
-                 u.PlaceNo.Contains(filter) ||
-                 u.AreaName.Contains(filter))
-            .WhereIf(!string.IsNullOrEmpty(stock?.MaterialNo), u => u.MaterialNo.Contains(stock.MaterialNo))
-            .WhereIf(!string.IsNullOrEmpty(stock?.MaterialName), u => u.MaterialName.Contains(stock.MaterialName))
-            .WhereIf(!string.IsNullOrEmpty(stock?.ContainerNo), u => u.ContainerNo == stock.ContainerNo)
-            .WhereIf(stock?.ContainerStatus > 0, u => u.ContainerStatus == stock.ContainerStatus)
-            .WhereIf(stock?.ContainerType > 0, u => u.ContainerType == stock.ContainerType)
-            .WhereIf(!string.IsNullOrEmpty(stock?.MaterialBatch), u => u.MaterialBatch == stock.MaterialBatch)
-            .WhereIf(!string.IsNullOrEmpty(stock?.SupplierCode), u => u.SupplierCode == stock.SupplierCode)
-            .WhereIf(!string.IsNullOrEmpty(stock?.MaterialModel), u => u.MaterialModel.Contains(stock.MaterialModel))
-            .WhereIf(!string.IsNullOrEmpty(stock?.PlaceNo), u => u.PlaceNo == stock.PlaceNo)
-            .WhereIf(stock.PlaceStatus > 0, u => u.PlaceStatus == stock.PlaceStatus)
-            .WhereIf(stock?.StorageTypeNo > 0, u => u.StorageTypeNo == stock.StorageTypeNo)
-            .WhereIf(!string.IsNullOrEmpty(stock?.AreaCode), u => u.AreaCode == stock.AreaCode)
-            .WhereIf(!string.IsNullOrEmpty(stock?.AreaName), u => u.AreaName.Contains(stock.AreaName))
-            .WhereIf(stock.IsLock > 0, u => u.IsLock == stock.IsLock)
-            .WhereIf(startTime.HasValue, u => u.InStockTime >= startTime.Value)
-            .WhereIf(endTime.HasValue, u => u.InStockTime <= endTime.Value)
+           .WhereIf(whereConditions != null, whereConditions.data)
             .Where(u => !u.IsDeleted)
             .AsQueryable();
 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialStockController.cs b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialStockController.cs
index 6944397..c84b892 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialStockController.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsMaterialStockController.cs
@@ -52,7 +52,7 @@
         /// <param name="input">杈撳叆.</param>
         /// <returns></returns>
         [HttpGet]
-        public virtual Task<PagedResultDto<WmsMaterialStockDto>> GetListAsync([FromQuery] GetWmsMaterialStocksInput input)
+        public virtual Task<PagedResultDto<WmsMaterialStockDto>> GetListAsync([FromQuery] GetWmsMaterialStockInput input)
         {
             return _wmsmaterialstockAppService.GetListAsync(input);
         }
@@ -64,7 +64,7 @@
         /// <returns></returns>
         [HttpGet]
         [Route("StockDetail")]
-        public async Task<PagedResultDto<WmsMaterialStockDto>> GetStockDetailAsync([FromQuery]GetWmsMaterialStocksInput input)
+        public async Task<PagedResultDto<WmsMaterialStockDto>> GetStockDetailAsync([FromQuery]GetWmsMaterialStockInput input)
         {
             return await _wmsmaterialstockAppService.GetStockDetailAsync(input);
         }
@@ -186,7 +186,7 @@
         /// <returns></returns>
         [HttpGet]
         [Route("Export")]
-        public virtual async Task<IActionResult> ExportAsync([FromQuery] GetWmsMaterialStocksInput input)
+        public virtual async Task<IActionResult> ExportAsync([FromQuery] GetWmsMaterialStockInput input)
         {
             input.MaxResultCount = int.MaxValue;
             var exportData = await _wmsmaterialstockAppService.ExportAsync(input);
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/queryExtensions/CmsQueryExtensions/Utils/GetEnumDescriptionUtil.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/queryExtensions/CmsQueryExtensions/Utils/GetEnumDescriptionUtil.cs"
index bcf3c5b..5facb9e 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/queryExtensions/CmsQueryExtensions/Utils/GetEnumDescriptionUtil.cs"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/queryExtensions/CmsQueryExtensions/Utils/GetEnumDescriptionUtil.cs"
@@ -18,7 +18,7 @@
         public static string GetEnumDescription(Enum enumValue)
         {
             string value = enumValue.ToString();
-            if (string.IsNullOrWhiteSpace(value) || value == "0") return "";
+            if (string.IsNullOrEmpty(value) || value == "0") return "";
             FieldInfo field = enumValue.GetType().GetField(value);
             object[] objs = field.GetCustomAttributes(typeof(DescriptionAttribute), false);  //鑾峰彇鎻忚堪灞炴��
             if (objs == null || objs.Length == 0)  //褰撴弿杩板睘鎬ф病鏈夋椂锛岀洿鎺ヨ繑鍥炲悕绉�

--
Gitblit v1.9.3