From 086e8d457fb6480f126aedbd2677c7e97bdac193 Mon Sep 17 00:00:00 2001
From: zs <zhousong@weben-smart.com>
Date: 周三, 07 5月 2025 15:49:09 +0800
Subject: [PATCH] 任务管理修改

---
 HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx                                                                  |    8 
 HIAWms/web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/WmsInOutStockRecord.tsx                              |  633 ++++---
 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsInOutStockRecordRepository.cs                     |    4 
 HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskQueryDrawer.tsx                                                               |    2 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs                                                 |  666 ++++----
 HIAWms/project/Wms.cmsproj                                                                                                      |    0 
 HIAWms/web/src/widgets/WmsTask/Views/Pages/Dialog/WmsTaskQueryDrawer/WmsTaskQueryDrawer.tsx                                     |  142 
 HIAWms/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordDrawer/WmsInOutStockRecordDrawer.tsx           |    2 
 HIAWms/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordQueryDrawer.tsx                                       |  618 ++++----
 HIAWms/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordQueryDrawer/WmsInOutStockRecordQueryDrawer.tsx |  142 
 HIAWms/web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/Config.ts                                            |  132 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordDto.cs                    |  252 +-
 HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx                                                                    |  837 +++++-----
 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsTaskRepository.cs                                 |   12 
 HIAWms/web/src/widgets/WmsTask/Views/Pages/Dialog/WmsTaskDrawer/WmsTaskDrawer.tsx                                               |  122 
 HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/Config.ts                                                                    |   13 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskDto.cs                                            |  362 ++--
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsInOutStockRecordAppService.cs                                     |  616 ++++----
 HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsTask/IWmsTaskRepository.cs                                                        |    8 
 19 files changed, 2,327 insertions(+), 2,244 deletions(-)

diff --git a/HIAWms/project/Wms.cmsproj b/HIAWms/project/Wms.cmsproj
index f0c3434..ef5ad2d 100644
--- a/HIAWms/project/Wms.cmsproj
+++ b/HIAWms/project/Wms.cmsproj
Binary files differ
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordDto.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordDto.cs
index e0cb33a..afbb825 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordDto.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordDto.cs
@@ -1,156 +1,156 @@
-using CMS.Plugin.HIAWms.Domain.Shared.Enums; 
-using CmsQueryExtensions; 
-using Volo.Abp.Application.Dtos; 
-using Volo.Abp.Data; 
-using Volo.Abp.Domain.Entities; 
- 
- 
-namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord; 
- 
+using CMS.Plugin.HIAWms.Domain.Shared.Enums;
+using CmsQueryExtensions;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Data;
+using Volo.Abp.Domain.Entities;
+
+
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord;
+
 /// <summary> 
 /// 鍑哄叆搴撹褰曟暟鎹弬鏁板璞� 
 /// </summary> 
-public  class WmsInOutStockRecordDto:  ExtensibleEntityDto<Guid>, IHasConcurrencyStamp 
-{ 
-            /// <summary>
-        /// 鍗曟嵁缂栧彿
-        /// </summary>
-        public string OrderNo { get; set; }
+public class WmsInOutStockRecordDto : ExtensibleEntityDto<Guid>, IHasConcurrencyStamp
+{
+    /// <summary>
+    /// 鍗曟嵁缂栧彿
+    /// </summary>
+    public string OrderNo { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡鍚嶇О
-        /// </summary>
-        public string? MaterialName { get; set; }
+    /// <summary>
+    /// 鐗╂枡鍚嶇О
+    /// </summary>
+    public string? MaterialName { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡浠跺彿
-        /// </summary>
-        public string MaterialNo { get; set; }
+    /// <summary>
+    /// 鐗╂枡浠跺彿
+    /// </summary>
+    public string MaterialNo { get; set; }
 
-        /// <summary>
-        /// 鎿嶄綔绫诲瀷
-        /// </summary>
-        public StockTypeEnum StockType { get; set; }
+    /// <summary>
+    /// 鎿嶄綔绫诲瀷
+    /// </summary>
+    public StockTypeEnum StockType { get; set; }
 
-        /// <summary>
-        /// 鎿嶄綔绫诲瀷
-        /// </summary>
-        public string StockTypeDesc
-        { 
-            get 
-            { 
-                return GetEnumDescriptionUtil.GetEnumDescription(StockType); 
-            } 
-        } 
-        /// <summary>
-        /// 瀹瑰櫒缂栧彿
-        /// </summary>
-        public string? ContainerNo { get; set; }
+    /// <summary>
+    /// 鎿嶄綔绫诲瀷
+    /// </summary>
+    public string StockTypeDesc
+    {
+        get
+        {
+            return GetEnumDescriptionUtil.GetEnumDescription(StockType);
+        }
+    }
+    /// <summary>
+    /// 瀹瑰櫒缂栧彿
+    /// </summary>
+    public string? ContainerNo { get; set; }
 
-        /// <summary>
-        /// 鏈哄瀷
-        /// </summary>
-        public string? MaterialModel { get; set; }
+    /// <summary>
+    /// 鏈哄瀷
+    /// </summary>
+    public string? MaterialModel { get; set; }
 
-        /// <summary>
-        /// 鎿嶄綔鏃堕棿
-        /// </summary>
-        public DateTime? OperateTime { get; set; }
+    /// <summary>
+    /// 鎿嶄綔鏃堕棿
+    /// </summary>
+    public DateTime? OperateTime { get; set; }
 
-        /// <summary>
-        /// 澶囨敞
-        /// </summary>
-        public string? Remark { get; set; }
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    public string? Remark { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡ID
-        /// </summary>
-        public string MaterialId { get; set; }
+    /// <summary>
+    /// 鐗╂枡ID
+    /// </summary>
+    public string MaterialId { get; set; }
 
-        /// <summary>
-        /// 浠诲姟鍙�
-        /// </summary>
-        public string TaskNo { get; set; }
+    /// <summary>
+    /// 浠诲姟鍙�
+    /// </summary>
+    public string TaskNo { get; set; }
 
-        /// <summary>
-        /// 璧峰搴撲綅
-        /// </summary>
-        public string? SourcePlace { get; set; }
+    /// <summary>
+    /// 璧峰搴撲綅
+    /// </summary>
+    public string? SourcePlace { get; set; }
 
-        /// <summary>
-        /// 鐩爣搴撲綅
-        /// </summary>
-        public string? ToPlace { get; set; }
+    /// <summary>
+    /// 鐩爣搴撲綅
+    /// </summary>
+    public string? ToPlace { get; set; }
 
-        /// <summary>
-        /// 鎺掑簭
-        /// </summary>
-        public int Sort { get; set; }
+    /// <summary>
+    /// 鎺掑簭
+    /// </summary>
+    public int Sort { get; set; }
 
-        /// <summary>
-        /// 鏄惁绂佺敤
-        /// </summary>
-        public bool? IsDisabled { get; set; }
+    /// <summary>
+    /// 鏄惁绂佺敤
+    /// </summary>
+    public bool? IsDisabled { get; set; }
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public ExtraPropertyDictionary? ExtraProperties { get; set; }
+    /// <summary>
+    /// 
+    /// </summary>
+    public ExtraPropertyDictionary? ExtraProperties { get; set; }
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public string? ConcurrencyStamp { get; set; }
+    /// <summary>
+    /// 
+    /// </summary>
+    public string? ConcurrencyStamp { get; set; }
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public DateTime CreationTime { get; set; }
+    /// <summary>
+    /// 
+    /// </summary>
+    public DateTime CreationTime { get; set; }
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public string? CreatorId { get; set; }
+    /// <summary>
+    /// 
+    /// </summary>
+    public string? CreatorId { get; set; }
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public DateTime? LastModificationTime { get; set; }
+    /// <summary>
+    /// 
+    /// </summary>
+    public DateTime? LastModificationTime { get; set; }
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public string? LastModifierId { get; set; }
+    /// <summary>
+    /// 
+    /// </summary>
+    public string? LastModifierId { get; set; }
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public bool IsDeleted { get; set; }
+    /// <summary>
+    /// 
+    /// </summary>
+    public bool IsDeleted { get; set; }
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public string? DeleterId { get; set; }
+    /// <summary>
+    /// 
+    /// </summary>
+    public string? DeleterId { get; set; }
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public DateTime? DeletionTime { 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>(); 
-        foreach (var property in this.GetType().GetProperties()) 
-        { 
-            exportData.Add(property.Name, property.GetValue(this)); 
-        } 
- 
-        return exportData; 
-    } 
-} 
+    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/WmsTask/WmsTaskDto.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskDto.cs
index e532081..4e0f858 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskDto.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskDto.cs
@@ -1,206 +1,228 @@
-using CMS.Plugin.HIAWms.Domain.Shared.Enums; 
-using CmsQueryExtensions; 
-using Volo.Abp.Application.Dtos; 
-using Volo.Abp.Data; 
-using Volo.Abp.Domain.Entities; 
- 
- 
-namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsTask; 
- 
+using CMS.Plugin.HIAWms.Domain.Shared.Enums;
+using CmsQueryExtensions;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Data;
+using Volo.Abp.Domain.Entities;
+
+
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsTask;
+
 /// <summary> 
 /// Wms浠诲姟绠$悊鏁版嵁鍙傛暟瀵硅薄 
 /// </summary> 
-public  class WmsTaskDto:  ExtensibleEntityDto<Guid>, IHasConcurrencyStamp 
-{ 
-            /// <summary>
-        /// 浠诲姟鍙�
-        /// </summary>
-        public string TaskNo { get; set; }
+public class WmsTaskDto : ExtensibleEntityDto<Guid>, IHasConcurrencyStamp
+{
+    /// <summary>
+    /// 浠诲姟鍙�
+    /// </summary>
+    public string TaskNo { get; set; }
 
-        /// <summary>
-        /// 浠诲姟绫诲瀷
-        /// </summary>
-        public TaskTypeEnum TaskType { get; set; }
+    /// <summary>
+    /// 浠诲姟绫诲瀷
+    /// </summary>
+    public TaskTypeEnum TaskType { get; set; }
 
-        /// <summary>
-        /// 浠诲姟绫诲瀷
-        /// </summary>
-        public string TaskTypeDesc
-        { 
-            get 
-            { 
-                return GetEnumDescriptionUtil.GetEnumDescription(TaskType); 
-            } 
-        } 
-        /// <summary>
-        /// 浠诲姟绛夌骇
-        /// </summary>
-        public int TaskLevel { get; set; }
+    /// <summary>
+    /// 浠诲姟绫诲瀷
+    /// </summary>
+    public string TaskTypeDesc
+    {
+        get
+        {
+            return GetEnumDescriptionUtil.GetEnumDescription(TaskType);
+        }
+    }
+    /// <summary>
+    /// 浠诲姟绛夌骇
+    /// </summary>
+    public int TaskLevel { get; set; }
 
-        /// <summary>
-        /// 浠诲姟鐘舵��
-        /// </summary>
-        public WmsTaskStatus TaskStatus { get; set; }
+    /// <summary>
+    /// 浠诲姟鐘舵��
+    /// </summary>
+    public WmsTaskStatus TaskStatus { get; set; }
 
-        /// <summary>
-        /// 浠诲姟鐘舵��
-        /// </summary>
-        public string TaskStatusDesc
-        { 
-            get 
-            { 
-                return GetEnumDescriptionUtil.GetEnumDescription(TaskStatus); 
-            } 
-        } 
-        /// <summary>
-        /// 鎵樼洏缂栧彿
-        /// </summary>
-        public string? ContainerNo { get; set; }
+    /// <summary>
+    /// 浠诲姟鐘舵��
+    /// </summary>
+    public string TaskStatusDesc
+    {
+        get
+        {
+            return GetEnumDescriptionUtil.GetEnumDescription(TaskStatus);
+        }
+    }
+    /// <summary>
+    /// 鎵樼洏缂栧彿
+    /// </summary>
+    public string? ContainerNo { get; set; }
 
-        /// <summary>
-        /// 璧峰搴撲綅
-        /// </summary>
-        public string? SourcePlace { get; set; }
+    /// <summary>
+    /// 璧峰搴撲綅
+    /// </summary>
+    public string? SourcePlace { get; set; }
 
-        /// <summary>
-        /// 鐩爣搴撲綅
-        /// </summary>
-        public string? ToPlace { get; set; }
+    /// <summary>
+    /// 鐩爣搴撲綅
+    /// </summary>
+    public string? ToPlace { get; set; }
 
-        /// <summary>
-        /// 宸烽亾
-        /// </summary>
-        public int? Aisle { get; set; }
+    /// <summary>
+    /// 宸烽亾
+    /// </summary>
+    public int? Aisle { get; set; }
 
-        /// <summary>
-        /// 鍫嗗灈鏈篒D
-        /// </summary>
-        public int? DodeviceId { get; set; }
+    /// <summary>
+    /// 鍫嗗灈鏈篒D
+    /// </summary>
+    public int? DodeviceId { get; set; }
 
-        /// <summary>
-        /// 璁惧绫诲瀷
-        /// </summary>
-        public int Dodevicetype { get; set; }
+    /// <summary>
+    /// 璁惧绫诲瀷
+    /// </summary>
+    public DodevicetypeEnum Dodevicetype { get; set; }
 
-        /// <summary>
-        /// 璁惧浠诲姟鐘舵��
-        /// </summary>
-        public int TaskDodeviceStatus { get; set; }
+    /// <summary>
+    /// 璁惧绫诲瀷Desc
+    /// </summary>
+    public string DodevicetypeDesc
+    {
+        get
+        {
+            return GetEnumDescriptionUtil.GetEnumDescription(Dodevicetype);
+        }
+    }
 
-        /// <summary>
-        /// WCS鏄惁鍙互璇诲彇
-        /// </summary>
-        public bool IsRead { get; set; }
+    /// <summary>
+    /// 璁惧浠诲姟鐘舵��
+    /// </summary>
+    public TaskDodeviceStatus TaskDodeviceStatus { get; set; }
 
-        /// <summary>
-        /// 瀛愪换鍔$被鍨�
-        /// </summary>
-        public SonTaskTypeEnum? SonTaskType { get; set; }
+    /// <summary>
+    /// 璁惧绫诲瀷Desc
+    /// </summary>
+    public string TaskDodeviceStatusDesc
+    {
+        get
+        {
+            return GetEnumDescriptionUtil.GetEnumDescription(TaskDodeviceStatus);
+        }
+    }
 
-        /// <summary>
-        /// 瀛愪换鍔$被鍨�
-        /// </summary>
-        public string? SonTaskTypeDesc
-        { 
-            get 
-            { 
-                return GetEnumDescriptionUtil.GetEnumDescription(SonTaskType); 
-            } 
-        } 
-        /// <summary>
-        /// 鏉ユ簮鍗曟嵁鍙�
-        /// </summary>
-        public string? SourceOrderNo { get; set; }
+    /// <summary>
+    /// WCS鏄惁鍙互璇诲彇
+    /// </summary>
+    public bool IsRead { get; set; }
 
-        /// <summary>
-        /// 涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛
-        /// </summary>
-        public int? IsNextTask { get; set; }
+    /// <summary>
+    /// 瀛愪换鍔$被鍨�
+    /// </summary>
+    public SonTaskTypeEnum? SonTaskType { get; set; }
 
-        /// <summary>
-        /// 鍙彉鍙橀噺1
-        /// </summary>
-        public string? MutableParam1 { get; set; }
+    /// <summary>
+    /// 瀛愪换鍔$被鍨�
+    /// </summary>
+    public string? SonTaskTypeDesc
+    {
+        get
+        {
+            return GetEnumDescriptionUtil.GetEnumDescription(SonTaskType);
+        }
+    }
+    /// <summary>
+    /// 鏉ユ簮鍗曟嵁鍙�
+    /// </summary>
+    public string? SourceOrderNo { get; set; }
 
-        /// <summary>
-        /// 鍙彉鍙橀噺2
-        /// </summary>
-        public string? MutableParam2 { get; set; }
+    /// <summary>
+    /// 涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛
+    /// </summary>
+    public int? IsNextTask { get; set; }
 
-        /// <summary>
-        /// 鍙彉鍙橀噺3
-        /// </summary>
-        public string? MutableParam3 { get; set; }
+    /// <summary>
+    /// 鍙彉鍙橀噺1
+    /// </summary>
+    public string? MutableParam1 { get; set; }
 
-        /// <summary>
-        /// 鎺掑簭
-        /// </summary>
-        public int Sort { get; set; }
+    /// <summary>
+    /// 鍙彉鍙橀噺2
+    /// </summary>
+    public string? MutableParam2 { get; set; }
 
-        /// <summary>
-        /// 鏄惁绂佺敤
-        /// </summary>
-        public bool? IsDisabled { get; set; }
+    /// <summary>
+    /// 鍙彉鍙橀噺3
+    /// </summary>
+    public string? MutableParam3 { get; set; }
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public ExtraPropertyDictionary? ExtraProperties { get; set; }
+    /// <summary>
+    /// 鎺掑簭
+    /// </summary>
+    public int Sort { get; set; }
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public string? ConcurrencyStamp { get; set; }
+    /// <summary>
+    /// 鏄惁绂佺敤
+    /// </summary>
+    public bool? IsDisabled { get; set; }
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public DateTime CreationTime { get; set; }
+    /// <summary>
+    /// 
+    /// </summary>
+    public ExtraPropertyDictionary? ExtraProperties { get; set; }
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public string? CreatorId { get; set; }
+    /// <summary>
+    /// 
+    /// </summary>
+    public string? ConcurrencyStamp { get; set; }
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public DateTime? LastModificationTime { get; set; }
+    /// <summary>
+    /// 
+    /// </summary>
+    public DateTime CreationTime { get; set; }
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public string? LastModifierId { get; set; }
+    /// <summary>
+    /// 
+    /// </summary>
+    public string? CreatorId { get; set; }
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public bool IsDeleted { get; set; }
+    /// <summary>
+    /// 
+    /// </summary>
+    public DateTime? LastModificationTime { get; set; }
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public string? DeleterId { get; set; }
+    /// <summary>
+    /// 
+    /// </summary>
+    public string? LastModifierId { get; set; }
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public DateTime? DeletionTime { 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>(); 
-        foreach (var property in this.GetType().GetProperties()) 
-        { 
-            exportData.Add(property.Name, property.GetValue(this)); 
-        } 
- 
-        return exportData; 
-    } 
-} 
+    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/Implements/WmsInOutStockRecordAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsInOutStockRecordAppService.cs
index cb54fa7..44af241 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsInOutStockRecordAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsInOutStockRecordAppService.cs
@@ -1,127 +1,127 @@
-using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord; 
-using CMS.Plugin.HIAWms.Application.Contracts.Services; 
-using CMS.Plugin.HIAWms.Domain.Shared; 
-using CmsQueryExtensions; 
-using CMS.Plugin.HIAWms.Domain.WmsInOutStockRecord; 
-using CmsQueryExtensions.Extension; 
-using System.Linq.Expressions; 
-using Volo.Abp; 
-using Volo.Abp.Application.Dtos; 
-using Volo.Abp.Data; 
-using Volo.Abp.ObjectExtending; 
-using Volo.Abp.ObjectMapping; 
- 
-namespace CMS.Plugin.HIAWms.Application.Implements; 
- 
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord;
+using CMS.Plugin.HIAWms.Application.Contracts.Services;
+using CMS.Plugin.HIAWms.Domain.Shared;
+using CmsQueryExtensions;
+using CMS.Plugin.HIAWms.Domain.WmsInOutStockRecord;
+using CmsQueryExtensions.Extension;
+using System.Linq.Expressions;
+using Volo.Abp;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Data;
+using Volo.Abp.ObjectExtending;
+using Volo.Abp.ObjectMapping;
+
+namespace CMS.Plugin.HIAWms.Application.Implements;
+
 /// <summary> 
 /// 鍑哄叆搴撹褰曞簲鐢ㄦ湇鍔� 
 /// </summary> 
-public class WmsInOutStockRecordAppService : CMSPluginAppService, IWmsInOutStockRecordAppService 
-{ 
-    private readonly IWmsInOutStockRecordRepository wmsInOutStockRecordRepository; 
- 
+public class WmsInOutStockRecordAppService : CMSPluginAppService, IWmsInOutStockRecordAppService
+{
+    private readonly IWmsInOutStockRecordRepository wmsInOutStockRecordRepository;
+
     /// <summary> 
     /// Initializes a new instance of the <see cref="WmsInOutStockRecordAppService"/> class. 
     /// </summary> 
     /// <param name="WmsInOutStockRecordRepository">The task job repository.</param> 
-    public WmsInOutStockRecordAppService(IWmsInOutStockRecordRepository _WmsInOutStockRecordRepository) 
-    { 
-        wmsInOutStockRecordRepository = _WmsInOutStockRecordRepository; 
-    } 
- 
+    public WmsInOutStockRecordAppService(IWmsInOutStockRecordRepository _WmsInOutStockRecordRepository)
+    {
+        wmsInOutStockRecordRepository = _WmsInOutStockRecordRepository;
+    }
+
     /// <summary> 
     /// 鑾峰彇鎸囧畾鍑哄叆搴撹褰� 
     /// </summary> 
     /// <param name="id"></param> 
     /// <returns></returns> 
-    public virtual async Task<WmsInOutStockRecordDto> GetAsync(Guid id) 
-    { 
-        return ObjectMapper.Map<WmsInOutStockRecord, WmsInOutStockRecordDto>(await wmsInOutStockRecordRepository.GetAsync(id)); 
-    } 
- 
+    public virtual async Task<WmsInOutStockRecordDto> GetAsync(Guid id)
+    {
+        return ObjectMapper.Map<WmsInOutStockRecord, WmsInOutStockRecordDto>(await wmsInOutStockRecordRepository.GetAsync(id));
+    }
+
     /// <summary> 
     /// 鍒嗛〉鑾峰彇鍑哄叆搴撹褰� 
     /// </summary> 
     /// <param name="input"></param> 
     /// <returns></returns> 
-    public virtual async Task<PagedResultDto<WmsInOutStockRecordDto>> GetListAsync(GetWmsInOutStockRecordInput input) 
-    { 
-        Check.NotNull(input, nameof(input)); 
- 
-        if (input.Sorting.IsNullOrWhiteSpace()) 
-        { 
-            input.Sorting = nameof(WmsInOutStockRecord.Sort); 
-        } 
- 
+    public virtual async Task<PagedResultDto<WmsInOutStockRecordDto>> GetListAsync(GetWmsInOutStockRecordInput input)
+    {
+        Check.NotNull(input, nameof(input));
+
+        if (input.Sorting.IsNullOrWhiteSpace())
+        {
+            input.Sorting = nameof(WmsInOutStockRecord.Sort);
+        }
+
         #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
- 
+
         //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
-        var whereConditions = DynamicGetQueryParams(input); 
- 
-        #endregion 
- 
-        var count = await wmsInOutStockRecordRepository.GetCountAsync(whereConditions); 
-        var list = await wmsInOutStockRecordRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount); 
- 
-        return new PagedResultDto<WmsInOutStockRecordDto>(count, ObjectMapper.Map<List<WmsInOutStockRecord>, List<WmsInOutStockRecordDto>>(list)); 
-    } 
- 
+        var whereConditions = DynamicGetQueryParams(input);
+
+        #endregion
+
+        var count = await wmsInOutStockRecordRepository.GetCountAsync(whereConditions);
+        var list = await wmsInOutStockRecordRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount);
+
+        return new PagedResultDto<WmsInOutStockRecordDto>(count, ObjectMapper.Map<List<WmsInOutStockRecord>, List<WmsInOutStockRecordDto>>(list));
+    }
+
     /// <summary>  
     /// 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
     /// </summary>  
     /// <param name="input">杈撳叆鍙傛暟</param>  
     /// <returns></returns>  
-    private FunReturnResultModel<Expression<Func<WmsInOutStockRecord, bool>>> DynamicGetQueryParams(GetWmsInOutStockRecordInput input) 
-    { 
+    private FunReturnResultModel<Expression<Func<WmsInOutStockRecord, bool>>> DynamicGetQueryParams(GetWmsInOutStockRecordInput input)
+    {
         //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
-        var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsInOutStockRecord, GetWmsInOutStockRecordInput>(input); 
-        if (!whereConditions.IsSuccess) 
-        { 
-            throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg); 
-        } 
- 
+        var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsInOutStockRecord, GetWmsInOutStockRecordInput>(input);
+        if (!whereConditions.IsSuccess)
+        {
+            throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg);
+        }
+
         //涔熷彲鍐嶆鑷畾涔夋瀯寤烘煡璇㈡潯浠�  
-        Expression<Func<WmsInOutStockRecord, bool>> extendExpression = a => a.IsDeleted == false; 
+        Expression<Func<WmsInOutStockRecord, bool>> extendExpression = a => a.IsDeleted == false;
         // 浣跨敤 System.Linq.PredicateBuilder 鐨� And 
-        var pres = (System.Linq.Expressions.Expression<Func<WmsInOutStockRecord, bool>>)(whereConditions.data); 
-        whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression); 
- 
-        return whereConditions; 
-    } 
- 
+        var pres = (System.Linq.Expressions.Expression<Func<WmsInOutStockRecord, bool>>)(whereConditions.data);
+        whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression);
+
+        return whereConditions;
+    }
+
     /// <summary> 
     /// 鏂板缓鍑哄叆搴撹褰� 
     /// </summary> 
     /// <param name="input"></param> 
     /// <returns></returns> 
     /// <exception cref="UserFriendlyException"></exception> 
-    public virtual async Task<WmsInOutStockRecordDto> CreateAsync(WmsInOutStockRecordCreateDto input) 
-    { 
-        await CheckCreateOrUpdateDtoAsync(input); 
- 
-        var exist = await wmsInOutStockRecordRepository.NameExistAsync(input.Id); 
-        if (exist) 
-        { 
-            throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.Id]); 
-        } 
- 
-        var maxSort = await wmsInOutStockRecordRepository.GetMaxSortAsync(); 
-        var sort = input.Sort ?? maxSort; 
- 
-        var insertObj = ObjectMapper.Map<WmsInOutStockRecordCreateDto, WmsInOutStockRecord>(input); 
-        insertObj.Sort = sort; 
-        input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None); 
- 
-        await wmsInOutStockRecordRepository.InsertAsync(insertObj); 
- 
-        if (input.Sort.HasValue && insertObj.Sort != maxSort) 
-        { 
-            await AdjustSortAsync(insertObj.Id, insertObj.Sort); 
-        } 
- 
-        return ObjectMapper.Map<WmsInOutStockRecord, WmsInOutStockRecordDto>(insertObj); 
-    } 
- 
+    public virtual async Task<WmsInOutStockRecordDto> CreateAsync(WmsInOutStockRecordCreateDto input)
+    {
+        await CheckCreateOrUpdateDtoAsync(input);
+
+        //var exist = await wmsInOutStockRecordRepository.NameExistAsync(input.MaterialId); 
+        //if (exist) 
+        //{ 
+        //    throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.MaterialId]); 
+        //} 
+
+        var maxSort = await wmsInOutStockRecordRepository.GetMaxSortAsync();
+        var sort = input.Sort ?? maxSort;
+
+        var insertObj = ObjectMapper.Map<WmsInOutStockRecordCreateDto, WmsInOutStockRecord>(input);
+        insertObj.Sort = sort;
+        input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None);
+
+        await wmsInOutStockRecordRepository.InsertAsync(insertObj);
+
+        if (input.Sort.HasValue && insertObj.Sort != maxSort)
+        {
+            await AdjustSortAsync(insertObj.Id, insertObj.Sort);
+        }
+
+        return ObjectMapper.Map<WmsInOutStockRecord, WmsInOutStockRecordDto>(insertObj);
+    }
+
     /// <summary> 
     /// 鏇存柊鍑哄叆搴撹褰� 
     /// </summary> 
@@ -129,21 +129,21 @@
     /// <param name="input"></param> 
     /// <returns></returns> 
     /// <exception cref="UserFriendlyException"></exception> 
-    public virtual async Task<WmsInOutStockRecordDto> UpdateAsync(Guid id, WmsInOutStockRecordUpdateDto input) 
-    { 
-        await CheckCreateOrUpdateDtoAsync(input); 
- 
-        var updateObj = await wmsInOutStockRecordRepository.GetAsync(id); 
-        var exist = await wmsInOutStockRecordRepository.NameExistAsync(input.Id, updateObj.Id); 
-        if (exist) 
-        { 
-            throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.Id]); 
-        } 
- 
-        updateObj.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp); 
-        input.MapExtraPropertiesTo(updateObj, MappingPropertyDefinitionChecks.None); 
- 
-                updateObj.OrderNo = input.OrderNo;
+    public virtual async Task<WmsInOutStockRecordDto> UpdateAsync(Guid id, WmsInOutStockRecordUpdateDto input)
+    {
+        await CheckCreateOrUpdateDtoAsync(input);
+
+        var updateObj = await wmsInOutStockRecordRepository.GetAsync(id);
+        //var exist = await wmsInOutStockRecordRepository.NameExistAsync(input.Id, updateObj.Id); 
+        //if (exist) 
+        //{ 
+        //    throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.Id]); 
+        //} 
+
+        updateObj.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp);
+        input.MapExtraPropertiesTo(updateObj, MappingPropertyDefinitionChecks.None);
+
+        updateObj.OrderNo = input.OrderNo;
         updateObj.MaterialName = input.MaterialName;
         updateObj.MaterialNo = input.MaterialNo;
         updateObj.StockType = input.StockType;
@@ -156,20 +156,20 @@
         updateObj.SourcePlace = input.SourcePlace;
         updateObj.ToPlace = input.ToPlace;
         updateObj.IsDisabled = input.IsDisabled;
- 
- 
-        await wmsInOutStockRecordRepository.UpdateAsync(updateObj); 
- 
-        return ObjectMapper.Map<WmsInOutStockRecord, WmsInOutStockRecordDto>(updateObj); 
-    } 
- 
+
+
+        await wmsInOutStockRecordRepository.UpdateAsync(updateObj);
+
+        return ObjectMapper.Map<WmsInOutStockRecord, WmsInOutStockRecordDto>(updateObj);
+    }
+
     /// <summary> 
     /// 鍏嬮殕鍑哄叆搴撹褰� 
     /// </summary> 
     /// <param name="ids"></param> 
     /// <returns></returns> 
-    public async Task<List<WmsInOutStockRecordDto>> CloneAsync(IEnumerable<Guid> ids) 
-    { 
+    public async Task<List<WmsInOutStockRecordDto>> CloneAsync(IEnumerable<Guid> ids)
+    {
         //var wmsInOutStockRecords = new List<WmsInOutStockRecord>(); 
         //if (ids != null) 
         //{ 
@@ -189,248 +189,248 @@
         //                    name += WmsInOutStockRecordConsts.CloneTag; 
         //                    continue; 
         //                } 
- 
+
         //                notExist = true; 
         //            } 
- 
+
         //            //WmsInOutStockRecord = await wmsInOutStockRecordRepository.InsertAsync(WmsInOutStockRecord.Clone(GuidGenerator.Create(), name, sort++)); 
         //            wmsInOutStockRecords.Add(WmsInOutStockRecord); 
         //        } 
         //    } 
         //} 
- 
+
         //return ObjectMapper.Map<List<WmsInOutStockRecord>, List<WmsInOutStockRecordDto>>(wmsInOutStockRecords); 
-        return new List<WmsInOutStockRecordDto>(); 
-    } 
- 
+        return new List<WmsInOutStockRecordDto>();
+    }
+
     /// <summary> 
     /// 鍒犻櫎鍗曚釜鍑哄叆搴撹褰� 
     /// </summary> 
     /// <param name="id"></param> 
     /// <returns></returns> 
-    public virtual Task DeleteAsync(Guid id) 
-    { 
-        return wmsInOutStockRecordRepository.DeleteAsync(id); 
-    } 
- 
+    public virtual Task DeleteAsync(Guid id)
+    {
+        return wmsInOutStockRecordRepository.DeleteAsync(id);
+    }
+
     /// <summary> 
     /// 鍒犻櫎澶氫釜鍑哄叆搴撹褰� 
     /// </summary> 
     /// <param name="ids"></param> 
     /// <returns></returns> 
-    public async Task DeleteManyAsync(IEnumerable<Guid> ids) 
-    { 
-        foreach (var id in ids) 
-        { 
-            await DeleteAsync(id); 
-        } 
-    } 
- 
+    public async Task DeleteManyAsync(IEnumerable<Guid> ids)
+    {
+        foreach (var id in ids)
+        {
+            await DeleteAsync(id);
+        }
+    }
+
     /// <summary> 
     /// 璋冩暣鎺掑簭鍑哄叆搴撹褰� 
     /// </summary> 
     /// <param name="id"></param> 
     /// <param name="sort"></param> 
     /// <returns></returns> 
-    public virtual async Task AdjustSortAsync(Guid id, int sort) 
-    { 
-        var list = await wmsInOutStockRecordRepository.GetListAsync(null, nameof(WmsInOutStockRecord.Sort)); 
-        if (list != null && list.Any()) 
-        { 
-            var initSort = 1; 
-            list.ForEach(x => x.AdjustSort(initSort++)); 
-            var entity = list.FirstOrDefault(x => x.Id == id); 
-            if (entity != null) 
-            { 
-                if (sort == 1) 
-                { 
-                    list.Where(x => x.Id != id).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1)); 
-                } 
-                else if (entity.Sort > sort) 
-                { 
-                    list.Where(x => x.Id != id && x.Sort >= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1)); 
-                    list.Where(x => x.Id != id && x.Sort < sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1)); 
-                } 
-                else if (entity.Sort < sort) 
-                { 
-                    list.Where(x => x.Id != id && x.Sort > sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1)); 
-                    list.Where(x => x.Id != id && x.Sort <= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1)); 
-                } 
- 
-                entity.AdjustSort(sort); 
-            } 
-        } 
- 
-        await wmsInOutStockRecordRepository.UpdateManyAsync(list); 
-    } 
- 
+    public virtual async Task AdjustSortAsync(Guid id, int sort)
+    {
+        var list = await wmsInOutStockRecordRepository.GetListAsync(null, nameof(WmsInOutStockRecord.Sort));
+        if (list != null && list.Any())
+        {
+            var initSort = 1;
+            list.ForEach(x => x.AdjustSort(initSort++));
+            var entity = list.FirstOrDefault(x => x.Id == id);
+            if (entity != null)
+            {
+                if (sort == 1)
+                {
+                    list.Where(x => x.Id != id).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1));
+                }
+                else if (entity.Sort > sort)
+                {
+                    list.Where(x => x.Id != id && x.Sort >= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1));
+                    list.Where(x => x.Id != id && x.Sort < sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1));
+                }
+                else if (entity.Sort < sort)
+                {
+                    list.Where(x => x.Id != id && x.Sort > sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1));
+                    list.Where(x => x.Id != id && x.Sort <= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1));
+                }
+
+                entity.AdjustSort(sort);
+            }
+        }
+
+        await wmsInOutStockRecordRepository.UpdateManyAsync(list);
+    }
+
     /// <summary> 
     /// 瀵煎叆鍑哄叆搴撹褰� 
     /// </summary> 
     /// <param name="input"></param> 
     /// <returns></returns> 
     /// <exception cref="UserFriendlyException"></exception> 
-    public async Task ImportAsync(WmsInOutStockRecordsImportModel input) 
-    { 
-        Check.NotNull(input, nameof(input)); 
- 
-        var wmsInOutStockRecordCreateDtos = new List<(int RowIndex, WmsInOutStockRecordCreateDto Item)>(); 
-        var wmsInOutStockRecordUpdateDtos = new List<(int RowIndex, Guid Id, WmsInOutStockRecordUpdateDto Item)>(); 
-        var importItems = input.WmsInOutStockRecords; 
- 
-        if (importItems != null && importItems.Any()) 
-        { 
+    public async Task ImportAsync(WmsInOutStockRecordsImportModel input)
+    {
+        Check.NotNull(input, nameof(input));
+
+        var wmsInOutStockRecordCreateDtos = new List<(int RowIndex, WmsInOutStockRecordCreateDto Item)>();
+        var wmsInOutStockRecordUpdateDtos = new List<(int RowIndex, Guid Id, WmsInOutStockRecordUpdateDto Item)>();
+        var importItems = input.WmsInOutStockRecords;
+
+        if (importItems != null && importItems.Any())
+        {
             #region 瀵煎叆鏍¢獙 
- 
+
             // 鍒ゆ柇鍚嶇О鏄惁閲嶅锛屽苟杈撳嚭绗嚑琛岄噸澶� 
-            var duplicateWmsInOutStockRecords = importItems.GroupBy(x => x.Id).Where(x => x.Count() > 1).ToList(); 
-            if (duplicateWmsInOutStockRecords?.Any() == true) 
-            { 
-                var duplicateWmsInOutStockRecordMsgs = duplicateWmsInOutStockRecords.Select(x => $"绗� {string.Join(",", x.Select(x => x.RowIndex))} 琛岋細{x.Key}  鍚嶇О閲嶅"); 
-                var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝 {string.Join(",", duplicateWmsInOutStockRecordMsgs)}锛岀粓姝㈠鍏�"; 
-                throw new UserFriendlyException(errorMsg); 
-            } 
- 
-            #endregion 
- 
-            foreach (var impItem in importItems) 
-            { 
-                if (impItem.Id.IsNullOrWhiteSpace()) 
-                { 
-                    continue; 
-                } 
- 
-                if (impItem.Id.IsNullOrWhiteSpace()) 
-                { 
-                    var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊impItem.RowIndex}琛岋細WmsInOutStockRecord鍚嶇О涓嶈兘涓虹┖"; 
-                    throw new UserFriendlyException(errorMsg); 
-                } 
- 
-                var oldWmsInOutStockRecord = await wmsInOutStockRecordRepository.FindByNameAsync(impItem.Id); 
-                if (oldWmsInOutStockRecord != null) 
-                { 
-                    var wmsInOutStockRecordUpdateDto = new WmsInOutStockRecordUpdateDto 
-                    { 
+            var duplicateWmsInOutStockRecords = importItems.GroupBy(x => x.MaterialNo).Where(x => x.Count() > 1).ToList();
+            if (duplicateWmsInOutStockRecords?.Any() == true)
+            {
+                var duplicateWmsInOutStockRecordMsgs = duplicateWmsInOutStockRecords.Select(x => $"绗� {string.Join(",", x.Select(x => x.RowIndex))} 琛岋細{x.Key}  鍚嶇О閲嶅");
+                var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝 {string.Join(",", duplicateWmsInOutStockRecordMsgs)}锛岀粓姝㈠鍏�";
+                throw new UserFriendlyException(errorMsg);
+            }
+
+            #endregion
+
+            foreach (var impItem in importItems)
+            {
+                if (impItem.MaterialNo.IsNullOrWhiteSpace())
+                {
+                    continue;
+                }
+
+                if (impItem.MaterialNo.IsNullOrWhiteSpace())
+                {
+                    var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊impItem.RowIndex}琛岋細WmsInOutStockRecord鍚嶇О涓嶈兘涓虹┖";
+                    throw new UserFriendlyException(errorMsg);
+                }
+
+                var oldWmsInOutStockRecord = await wmsInOutStockRecordRepository.FindByNameAsync(impItem.MaterialNo);
+                if (oldWmsInOutStockRecord != null)
+                {
+                    var wmsInOutStockRecordUpdateDto = new WmsInOutStockRecordUpdateDto
+                    {
                         OrderNo = impItem.OrderNo,
-MaterialName = impItem.MaterialName,
-MaterialNo = impItem.MaterialNo,
-StockType = impItem.StockType,
-ContainerNo = impItem.ContainerNo,
-MaterialModel = impItem.MaterialModel,
-OperateTime = impItem.OperateTime,
-Remark = impItem.Remark,
-MaterialId = impItem.MaterialId,
-TaskNo = impItem.TaskNo,
-SourcePlace = impItem.SourcePlace,
-ToPlace = impItem.ToPlace,
-IsDisabled = impItem.IsDisabled,
- 
-                    }; 
- 
-                    wmsInOutStockRecordUpdateDtos.Add((impItem.RowIndex, oldWmsInOutStockRecord.Id, wmsInOutStockRecordUpdateDto)); 
-                } 
-                else 
-                { 
-                    var wmsInOutStockRecordCreateDto = new WmsInOutStockRecordCreateDto 
-                    { 
+                        MaterialName = impItem.MaterialName,
+                        MaterialNo = impItem.MaterialNo,
+                        StockType = impItem.StockType,
+                        ContainerNo = impItem.ContainerNo,
+                        MaterialModel = impItem.MaterialModel,
+                        OperateTime = impItem.OperateTime,
+                        Remark = impItem.Remark,
+                        MaterialId = impItem.MaterialId,
+                        TaskNo = impItem.TaskNo,
+                        SourcePlace = impItem.SourcePlace,
+                        ToPlace = impItem.ToPlace,
+                        IsDisabled = impItem.IsDisabled,
+
+                    };
+
+                    wmsInOutStockRecordUpdateDtos.Add((impItem.RowIndex, oldWmsInOutStockRecord.Id, wmsInOutStockRecordUpdateDto));
+                }
+                else
+                {
+                    var wmsInOutStockRecordCreateDto = new WmsInOutStockRecordCreateDto
+                    {
                         OrderNo = impItem.OrderNo,
-MaterialName = impItem.MaterialName,
-MaterialNo = impItem.MaterialNo,
-StockType = impItem.StockType,
-ContainerNo = impItem.ContainerNo,
-MaterialModel = impItem.MaterialModel,
-OperateTime = impItem.OperateTime,
-Remark = impItem.Remark,
-MaterialId = impItem.MaterialId,
-TaskNo = impItem.TaskNo,
-SourcePlace = impItem.SourcePlace,
-ToPlace = impItem.ToPlace,
-IsDisabled = impItem.IsDisabled,
- 
-                    }; 
- 
-                    wmsInOutStockRecordCreateDtos.Add((impItem.RowIndex, wmsInOutStockRecordCreateDto)); 
-                } 
-            } 
-        } 
- 
+                        MaterialName = impItem.MaterialName,
+                        MaterialNo = impItem.MaterialNo,
+                        StockType = impItem.StockType,
+                        ContainerNo = impItem.ContainerNo,
+                        MaterialModel = impItem.MaterialModel,
+                        OperateTime = impItem.OperateTime,
+                        Remark = impItem.Remark,
+                        MaterialId = impItem.MaterialId,
+                        TaskNo = impItem.TaskNo,
+                        SourcePlace = impItem.SourcePlace,
+                        ToPlace = impItem.ToPlace,
+                        IsDisabled = impItem.IsDisabled,
+
+                    };
+
+                    wmsInOutStockRecordCreateDtos.Add((impItem.RowIndex, wmsInOutStockRecordCreateDto));
+                }
+            }
+        }
+
         // 鏂板 
-        foreach (var wmsInOutStockRecordDto in wmsInOutStockRecordCreateDtos) 
-        { 
-            try 
-            { 
-                await CreateAsync(wmsInOutStockRecordDto.Item); 
-            } 
-            catch (Exception e) 
-            { 
-                var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsInOutStockRecordDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�"; 
-                throw new UserFriendlyException(errorMsg); 
-            } 
-        } 
- 
+        foreach (var wmsInOutStockRecordDto in wmsInOutStockRecordCreateDtos)
+        {
+            try
+            {
+                await CreateAsync(wmsInOutStockRecordDto.Item);
+            }
+            catch (Exception e)
+            {
+                var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsInOutStockRecordDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�";
+                throw new UserFriendlyException(errorMsg);
+            }
+        }
+
         // 鏇存柊 
-        foreach (var wmsInOutStockRecordDto in wmsInOutStockRecordUpdateDtos) 
-        { 
-            try 
-            { 
-                await UpdateAsync(wmsInOutStockRecordDto.Id, wmsInOutStockRecordDto.Item); 
-            } 
-            catch (Exception e) 
-            { 
-                var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsInOutStockRecordDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�"; 
-                throw new UserFriendlyException(errorMsg); 
-            } 
-        } 
-    } 
- 
+        foreach (var wmsInOutStockRecordDto in wmsInOutStockRecordUpdateDtos)
+        {
+            try
+            {
+                await UpdateAsync(wmsInOutStockRecordDto.Id, wmsInOutStockRecordDto.Item);
+            }
+            catch (Exception e)
+            {
+                var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsInOutStockRecordDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�";
+                throw new UserFriendlyException(errorMsg);
+            }
+        }
+    }
+
     /// <summary> 
     /// 瀵煎嚭鍑哄叆搴撹褰� 
     /// </summary> 
     /// <param name="input"></param> 
     /// <returns></returns> 
-    public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsInOutStockRecordInput input) 
-    { 
-        Check.NotNull(input, nameof(input)); 
- 
-        if (input.Sorting.IsNullOrWhiteSpace()) 
-        { 
-            input.Sorting = nameof(WmsInOutStockRecord.Sort); 
-        } 
- 
+    public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsInOutStockRecordInput input)
+    {
+        Check.NotNull(input, nameof(input));
+
+        if (input.Sorting.IsNullOrWhiteSpace())
+        {
+            input.Sorting = nameof(WmsInOutStockRecord.Sort);
+        }
+
         #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
- 
+
         //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
-        var whereConditions = DynamicGetQueryParams(input); 
- 
-        #endregion 
- 
- 
-        var list = await wmsInOutStockRecordRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true); 
-        var result = ObjectMapper.Map<List<WmsInOutStockRecord>, List<WmsInOutStockRecordDto>>(list); 
- 
-        var sheets = new Dictionary<string, object> 
-        { 
-            ["閰嶇疆"] = ExportHelper.ConvertListToExportData(result), 
-        }; 
- 
-        var fileName = result.Count > 1 ? "鍑哄叆搴撹褰曞垪琛�" : result.Count == 1 ? result[0]?.Id : "WmsInOutStockRecord妯$増"; 
-        return (sheets, fileName); 
-    } 
- 
+        var whereConditions = DynamicGetQueryParams(input);
+
+        #endregion
+
+
+        var list = await wmsInOutStockRecordRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true);
+        var result = ObjectMapper.Map<List<WmsInOutStockRecord>, List<WmsInOutStockRecordDto>>(list);
+
+        var sheets = new Dictionary<string, object>
+        {
+            ["閰嶇疆"] = ExportHelper.ConvertListToExportData(result),
+        };
+
+        var fileName = result.Count > 1 ? "鍑哄叆搴撹褰曞垪琛�" : result.Count == 1 ? result[0]?.MaterialNo : "WmsInOutStockRecord妯$増";
+        return (sheets, fileName);
+    }
+
     /// <summary> 
     /// 鏍¢獙鍑哄叆搴撹褰曪紝褰撴柊寤烘垨鏇存柊鏃� 
     /// </summary> 
     /// <param name="input"></param> 
     /// <returns></returns> 
-    protected Task CheckCreateOrUpdateDtoAsync(WmsInOutStockRecordCreateOrUpdateDtoBase input) 
-    { 
-        Check.NotNull(input, nameof(input)); 
-                Check.NotNullOrWhiteSpace(input.OrderNo, "鍗曟嵁缂栧彿", 50);
+    protected Task CheckCreateOrUpdateDtoAsync(WmsInOutStockRecordCreateOrUpdateDtoBase input)
+    {
+        Check.NotNull(input, nameof(input));
+        Check.NotNullOrWhiteSpace(input.OrderNo, "鍗曟嵁缂栧彿", 50);
         Check.NotNullOrWhiteSpace(input.MaterialNo, "鐗╂枡浠跺彿", 50);
         Check.NotNull(input.StockType, "鎿嶄綔绫诲瀷");
         Check.NotNullOrWhiteSpace(input.MaterialId, "鐗╂枡ID", 50);
         Check.NotNullOrWhiteSpace(input.TaskNo, "浠诲姟鍙�", 50);
- 
-        return Task.CompletedTask; 
-    } 
-} 
+
+        return Task.CompletedTask;
+    }
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs
index 60c2611..5faca56 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs
@@ -1,127 +1,151 @@
-using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsTask; 
-using CMS.Plugin.HIAWms.Application.Contracts.Services; 
-using CMS.Plugin.HIAWms.Domain.Shared; 
-using CmsQueryExtensions; 
-using CMS.Plugin.HIAWms.Domain.WmsTask; 
-using CmsQueryExtensions.Extension; 
-using System.Linq.Expressions; 
-using Volo.Abp; 
-using Volo.Abp.Application.Dtos; 
-using Volo.Abp.Data; 
-using Volo.Abp.ObjectExtending; 
-using Volo.Abp.ObjectMapping; 
- 
-namespace CMS.Plugin.HIAWms.Application.Implements; 
- 
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsTask;
+using CMS.Plugin.HIAWms.Application.Contracts.Services;
+using CMS.Plugin.HIAWms.Domain.Shared;
+using CmsQueryExtensions;
+using CMS.Plugin.HIAWms.Domain.WmsTask;
+using CmsQueryExtensions.Extension;
+using System.Linq.Expressions;
+using Volo.Abp;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Data;
+using Volo.Abp.ObjectExtending;
+using Volo.Abp.ObjectMapping;
+using CMS.Plugin.HIAWms.Domain.WmsContainers;
+using CMS.Plugin.HIAWms.Domain.WmsPlaces;
+
+namespace CMS.Plugin.HIAWms.Application.Implements;
+
 /// <summary> 
 /// Wms浠诲姟绠$悊搴旂敤鏈嶅姟 
 /// </summary> 
-public class WmsTaskAppService : CMSPluginAppService, IWmsTaskAppService 
-{ 
-    private readonly IWmsTaskRepository wmsTaskRepository; 
- 
+public class WmsTaskAppService : CMSPluginAppService, IWmsTaskAppService
+{
+    private readonly IWmsTaskRepository wmsTaskRepository;
+    private readonly IWmsContainerRepository _wmsContainerRepository;
+    private readonly IWmsPlaceRepository _wmsPlaceRepository;
+
     /// <summary> 
     /// Initializes a new instance of the <see cref="WmsTaskAppService"/> class. 
     /// </summary> 
     /// <param name="WmsTaskRepository">The task job repository.</param> 
-    public WmsTaskAppService(IWmsTaskRepository _WmsTaskRepository) 
-    { 
-        wmsTaskRepository = _WmsTaskRepository; 
-    } 
- 
+    public WmsTaskAppService(IWmsTaskRepository _WmsTaskRepository, IWmsContainerRepository wmsContainerRepository, IWmsPlaceRepository wmsPlaceRepository)
+    {
+        wmsTaskRepository = _WmsTaskRepository;
+        _wmsContainerRepository = wmsContainerRepository;
+        _wmsPlaceRepository = wmsPlaceRepository;
+    }
+
     /// <summary> 
     /// 鑾峰彇鎸囧畾Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="id"></param> 
     /// <returns></returns> 
-    public virtual async Task<WmsTaskDto> GetAsync(Guid id) 
-    { 
-        return ObjectMapper.Map<WmsTask, WmsTaskDto>(await wmsTaskRepository.GetAsync(id)); 
-    } 
- 
+    public virtual async Task<WmsTaskDto> GetAsync(Guid id)
+    {
+        return ObjectMapper.Map<WmsTask, WmsTaskDto>(await wmsTaskRepository.GetAsync(id));
+    }
+
     /// <summary> 
     /// 鍒嗛〉鑾峰彇Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="input"></param> 
     /// <returns></returns> 
-    public virtual async Task<PagedResultDto<WmsTaskDto>> GetListAsync(GetWmsTaskInput input) 
-    { 
-        Check.NotNull(input, nameof(input)); 
- 
-        if (input.Sorting.IsNullOrWhiteSpace()) 
-        { 
-            input.Sorting = nameof(WmsTask.Sort); 
-        } 
- 
+    public virtual async Task<PagedResultDto<WmsTaskDto>> GetListAsync(GetWmsTaskInput input)
+    {
+        Check.NotNull(input, nameof(input));
+
+        if (input.Sorting.IsNullOrWhiteSpace())
+        {
+            input.Sorting = nameof(WmsTask.Sort);
+        }
+
         #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
- 
+
         //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
-        var whereConditions = DynamicGetQueryParams(input); 
- 
-        #endregion 
- 
-        var count = await wmsTaskRepository.GetCountAsync(whereConditions); 
-        var list = await wmsTaskRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount); 
- 
-        return new PagedResultDto<WmsTaskDto>(count, ObjectMapper.Map<List<WmsTask>, List<WmsTaskDto>>(list)); 
-    } 
- 
+        var whereConditions = DynamicGetQueryParams(input);
+
+        #endregion
+
+        var count = await wmsTaskRepository.GetCountAsync(whereConditions);
+        var list = await wmsTaskRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount);
+
+        return new PagedResultDto<WmsTaskDto>(count, ObjectMapper.Map<List<WmsTask>, List<WmsTaskDto>>(list));
+    }
+
     /// <summary>  
     /// 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
     /// </summary>  
     /// <param name="input">杈撳叆鍙傛暟</param>  
     /// <returns></returns>  
-    private FunReturnResultModel<Expression<Func<WmsTask, bool>>> DynamicGetQueryParams(GetWmsTaskInput input) 
-    { 
+    private FunReturnResultModel<Expression<Func<WmsTask, bool>>> DynamicGetQueryParams(GetWmsTaskInput input)
+    {
         //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
-        var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsTask, GetWmsTaskInput>(input); 
-        if (!whereConditions.IsSuccess) 
-        { 
-            throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg); 
-        } 
- 
+        var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsTask, GetWmsTaskInput>(input);
+        if (!whereConditions.IsSuccess)
+        {
+            throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg);
+        }
+
         //涔熷彲鍐嶆鑷畾涔夋瀯寤烘煡璇㈡潯浠�  
-        Expression<Func<WmsTask, bool>> extendExpression = a => a.IsDeleted == false; 
+        Expression<Func<WmsTask, bool>> extendExpression = a => a.IsDeleted == false;
         // 浣跨敤 System.Linq.PredicateBuilder 鐨� And 
-        var pres = (System.Linq.Expressions.Expression<Func<WmsTask, bool>>)(whereConditions.data); 
-        whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression); 
- 
-        return whereConditions; 
-    } 
- 
+        var pres = (System.Linq.Expressions.Expression<Func<WmsTask, bool>>)(whereConditions.data);
+        whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression);
+
+        return whereConditions;
+    }
+
     /// <summary> 
     /// 鏂板缓Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="input"></param> 
     /// <returns></returns> 
     /// <exception cref="UserFriendlyException"></exception> 
-    public virtual async Task<WmsTaskDto> CreateAsync(WmsTaskCreateDto input) 
-    { 
-        await CheckCreateOrUpdateDtoAsync(input); 
- 
-        var exist = await wmsTaskRepository.NameExistAsync(input.TaskNo); 
-        if (exist) 
-        { 
-            throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.TaskNo]); 
-        } 
- 
-        var maxSort = await wmsTaskRepository.GetMaxSortAsync(); 
-        var sort = input.Sort ?? maxSort; 
- 
-        var insertObj = ObjectMapper.Map<WmsTaskCreateDto, WmsTask>(input); 
-        insertObj.Sort = sort; 
-        input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None); 
- 
-        await wmsTaskRepository.InsertAsync(insertObj); 
- 
-        if (input.Sort.HasValue && insertObj.Sort != maxSort) 
-        { 
-            await AdjustSortAsync(insertObj.Id, insertObj.Sort); 
-        } 
- 
-        return ObjectMapper.Map<WmsTask, WmsTaskDto>(insertObj); 
-    } 
- 
+    public virtual async Task<WmsTaskDto> CreateAsync(WmsTaskCreateDto input)
+    {
+        await CheckCreateOrUpdateDtoAsync(input);
+
+        var exist = await wmsTaskRepository.NameExistAsync(input.TaskNo);
+        if (exist)
+        {
+            throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.TaskNo]);
+        }
+        // 鏍¢獙鎵樼洏鏄惁瀛樺湪
+        var existContainer = await _wmsContainerRepository.NameExistAsync(input.ContainerNo);
+        if (existContainer)
+        {
+            throw new UserFriendlyException("鎵樼洏涓嶅瓨鍦紝璇峰厛娣诲姞鎵樼洏");
+        }
+        // 鏍¢獙鐗╂枡鏄惁瀛樺湪
+        var existSourcePlace = await _wmsPlaceRepository.NameExistAsync(input.SourcePlace);
+        if (existSourcePlace)
+        {
+            throw new UserFriendlyException("璧峰搴撲綅涓嶅瓨鍦紝璇峰厛娣诲姞搴撲綅");
+        }
+        //鏍¢獙搴撲綅鏄惁瀛樺湪
+        var existToPlace = await _wmsPlaceRepository.NameExistAsync(input.ToPlace);
+        if (existToPlace)
+        {
+            throw new UserFriendlyException("鐩爣搴撲綅涓嶅瓨鍦紝璇峰厛娣诲姞搴撲綅");
+        }
+
+        var maxSort = await wmsTaskRepository.GetMaxSortAsync();
+        var sort = input.Sort ?? maxSort;
+
+        var insertObj = ObjectMapper.Map<WmsTaskCreateDto, WmsTask>(input);
+        insertObj.Sort = sort;
+        input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None);
+
+        await wmsTaskRepository.InsertAsync(insertObj);
+
+        if (input.Sort.HasValue && insertObj.Sort != maxSort)
+        {
+            await AdjustSortAsync(insertObj.Id, insertObj.Sort);
+        }
+
+        return ObjectMapper.Map<WmsTask, WmsTaskDto>(insertObj);
+    }
+
     /// <summary> 
     /// 鏇存柊Wms浠诲姟绠$悊 
     /// </summary> 
@@ -129,21 +153,21 @@
     /// <param name="input"></param> 
     /// <returns></returns> 
     /// <exception cref="UserFriendlyException"></exception> 
-    public virtual async Task<WmsTaskDto> UpdateAsync(Guid id, WmsTaskUpdateDto input) 
-    { 
-        await CheckCreateOrUpdateDtoAsync(input); 
- 
-        var updateObj = await wmsTaskRepository.GetAsync(id); 
-        var exist = await wmsTaskRepository.NameExistAsync(input.TaskNo, updateObj.Id); 
-        if (exist) 
-        { 
-            throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.TaskNo]); 
-        } 
- 
-        updateObj.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp); 
-        input.MapExtraPropertiesTo(updateObj, MappingPropertyDefinitionChecks.None); 
- 
-                updateObj.TaskNo = input.TaskNo;
+    public virtual async Task<WmsTaskDto> UpdateAsync(Guid id, WmsTaskUpdateDto input)
+    {
+        await CheckCreateOrUpdateDtoAsync(input);
+
+        var updateObj = await wmsTaskRepository.GetAsync(id);
+        var exist = await wmsTaskRepository.NameExistAsync(input.TaskNo, updateObj.Id);
+        if (exist)
+        {
+            throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.TaskNo]);
+        }
+
+        updateObj.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp);
+        input.MapExtraPropertiesTo(updateObj, MappingPropertyDefinitionChecks.None);
+
+        updateObj.TaskNo = input.TaskNo;
         updateObj.TaskType = input.TaskType;
         updateObj.TaskLevel = input.TaskLevel;
         updateObj.TaskStatus = input.TaskStatus;
@@ -162,20 +186,19 @@
         updateObj.MutableParam2 = input.MutableParam2;
         updateObj.MutableParam3 = input.MutableParam3;
         updateObj.IsDisabled = input.IsDisabled;
- 
- 
-        await wmsTaskRepository.UpdateAsync(updateObj); 
- 
-        return ObjectMapper.Map<WmsTask, WmsTaskDto>(updateObj); 
-    } 
- 
+
+        await wmsTaskRepository.UpdateAsync(updateObj);
+
+        return ObjectMapper.Map<WmsTask, WmsTaskDto>(updateObj);
+    }
+
     /// <summary> 
     /// 鍏嬮殕Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="ids"></param> 
     /// <returns></returns> 
-    public async Task<List<WmsTaskDto>> CloneAsync(IEnumerable<Guid> ids) 
-    { 
+    public async Task<List<WmsTaskDto>> CloneAsync(IEnumerable<Guid> ids)
+    {
         //var wmsTasks = new List<WmsTask>(); 
         //if (ids != null) 
         //{ 
@@ -195,262 +218,265 @@
         //                    name += WmsTaskConsts.CloneTag; 
         //                    continue; 
         //                } 
- 
+
         //                notExist = true; 
         //            } 
- 
+
         //            //WmsTask = await wmsTaskRepository.InsertAsync(WmsTask.Clone(GuidGenerator.Create(), name, sort++)); 
         //            wmsTasks.Add(WmsTask); 
         //        } 
         //    } 
         //} 
- 
+
         //return ObjectMapper.Map<List<WmsTask>, List<WmsTaskDto>>(wmsTasks); 
-        return new List<WmsTaskDto>(); 
-    } 
- 
+        return new List<WmsTaskDto>();
+    }
+
     /// <summary> 
     /// 鍒犻櫎鍗曚釜Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="id"></param> 
     /// <returns></returns> 
-    public virtual Task DeleteAsync(Guid id) 
-    { 
-        return wmsTaskRepository.DeleteAsync(id); 
-    } 
- 
+    public virtual Task DeleteAsync(Guid id)
+    {
+        return wmsTaskRepository.DeleteAsync(id);
+    }
+
     /// <summary> 
     /// 鍒犻櫎澶氫釜Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="ids"></param> 
     /// <returns></returns> 
-    public async Task DeleteManyAsync(IEnumerable<Guid> ids) 
-    { 
-        foreach (var id in ids) 
-        { 
-            await DeleteAsync(id); 
-        } 
-    } 
- 
+    public async Task DeleteManyAsync(IEnumerable<Guid> ids)
+    {
+        foreach (var id in ids)
+        {
+            await DeleteAsync(id);
+        }
+    }
+
     /// <summary> 
     /// 璋冩暣鎺掑簭Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="id"></param> 
     /// <param name="sort"></param> 
     /// <returns></returns> 
-    public virtual async Task AdjustSortAsync(Guid id, int sort) 
-    { 
-        var list = await wmsTaskRepository.GetListAsync(null, nameof(WmsTask.Sort)); 
-        if (list != null && list.Any()) 
-        { 
-            var initSort = 1; 
-            list.ForEach(x => x.AdjustSort(initSort++)); 
-            var entity = list.FirstOrDefault(x => x.Id == id); 
-            if (entity != null) 
-            { 
-                if (sort == 1) 
-                { 
-                    list.Where(x => x.Id != id).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1)); 
-                } 
-                else if (entity.Sort > sort) 
-                { 
-                    list.Where(x => x.Id != id && x.Sort >= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1)); 
-                    list.Where(x => x.Id != id && x.Sort < sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1)); 
-                } 
-                else if (entity.Sort < sort) 
-                { 
-                    list.Where(x => x.Id != id && x.Sort > sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1)); 
-                    list.Where(x => x.Id != id && x.Sort <= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1)); 
-                } 
- 
-                entity.AdjustSort(sort); 
-            } 
-        } 
- 
-        await wmsTaskRepository.UpdateManyAsync(list); 
-    } 
- 
+    public virtual async Task AdjustSortAsync(Guid id, int sort)
+    {
+        var list = await wmsTaskRepository.GetListAsync(null, nameof(WmsTask.Sort));
+        if (list != null && list.Any())
+        {
+            var initSort = 1;
+            list.ForEach(x => x.AdjustSort(initSort++));
+            var entity = list.FirstOrDefault(x => x.Id == id);
+            if (entity != null)
+            {
+                if (sort == 1)
+                {
+                    list.Where(x => x.Id != id).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1));
+                }
+                else if (entity.Sort > sort)
+                {
+                    list.Where(x => x.Id != id && x.Sort >= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1));
+                    list.Where(x => x.Id != id && x.Sort < sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1));
+                }
+                else if (entity.Sort < sort)
+                {
+                    list.Where(x => x.Id != id && x.Sort > sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1));
+                    list.Where(x => x.Id != id && x.Sort <= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1));
+                }
+
+                entity.AdjustSort(sort);
+            }
+        }
+
+        await wmsTaskRepository.UpdateManyAsync(list);
+    }
+
     /// <summary> 
     /// 瀵煎叆Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="input"></param> 
     /// <returns></returns> 
     /// <exception cref="UserFriendlyException"></exception> 
-    public async Task ImportAsync(WmsTasksImportModel input) 
-    { 
-        Check.NotNull(input, nameof(input)); 
- 
-        var wmsTaskCreateDtos = new List<(int RowIndex, WmsTaskCreateDto Item)>(); 
-        var wmsTaskUpdateDtos = new List<(int RowIndex, Guid Id, WmsTaskUpdateDto Item)>(); 
-        var importItems = input.WmsTasks; 
- 
-        if (importItems != null && importItems.Any()) 
-        { 
+    public async Task ImportAsync(WmsTasksImportModel input)
+    {
+        Check.NotNull(input, nameof(input));
+
+        var wmsTaskCreateDtos = new List<(int RowIndex, WmsTaskCreateDto Item)>();
+        var wmsTaskUpdateDtos = new List<(int RowIndex, Guid Id, WmsTaskUpdateDto Item)>();
+        var importItems = input.WmsTasks;
+
+        if (importItems != null && importItems.Any())
+        {
             #region 瀵煎叆鏍¢獙 
- 
+
             // 鍒ゆ柇鍚嶇О鏄惁閲嶅锛屽苟杈撳嚭绗嚑琛岄噸澶� 
-            var duplicateWmsTasks = importItems.GroupBy(x => x.TaskNo).Where(x => x.Count() > 1).ToList(); 
-            if (duplicateWmsTasks?.Any() == true) 
-            { 
-                var duplicateWmsTaskMsgs = duplicateWmsTasks.Select(x => $"绗� {string.Join(",", x.Select(x => x.RowIndex))} 琛岋細{x.Key}  鍚嶇О閲嶅"); 
-                var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝 {string.Join(",", duplicateWmsTaskMsgs)}锛岀粓姝㈠鍏�"; 
-                throw new UserFriendlyException(errorMsg); 
-            } 
- 
-            #endregion 
- 
-            foreach (var impItem in importItems) 
-            { 
-                if (impItem.TaskNo.IsNullOrWhiteSpace()) 
-                { 
-                    continue; 
-                } 
- 
-                if (impItem.TaskNo.IsNullOrWhiteSpace()) 
-                { 
-                    var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊impItem.RowIndex}琛岋細WmsTask鍚嶇О涓嶈兘涓虹┖"; 
-                    throw new UserFriendlyException(errorMsg); 
-                } 
- 
-                var oldWmsTask = await wmsTaskRepository.FindByNameAsync(impItem.TaskNo); 
-                if (oldWmsTask != null) 
-                { 
-                    var wmsTaskUpdateDto = new WmsTaskUpdateDto 
-                    { 
+            var duplicateWmsTasks = importItems.GroupBy(x => x.TaskNo).Where(x => x.Count() > 1).ToList();
+            if (duplicateWmsTasks?.Any() == true)
+            {
+                var duplicateWmsTaskMsgs = duplicateWmsTasks.Select(x => $"绗� {string.Join(",", x.Select(x => x.RowIndex))} 琛岋細{x.Key}  鍚嶇О閲嶅");
+                var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝 {string.Join(",", duplicateWmsTaskMsgs)}锛岀粓姝㈠鍏�";
+                throw new UserFriendlyException(errorMsg);
+            }
+
+            #endregion
+
+            foreach (var impItem in importItems)
+            {
+                if (impItem.TaskNo.IsNullOrWhiteSpace())
+                {
+                    continue;
+                }
+
+                if (impItem.TaskNo.IsNullOrWhiteSpace())
+                {
+                    var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊impItem.RowIndex}琛岋細WmsTask鍚嶇О涓嶈兘涓虹┖";
+                    throw new UserFriendlyException(errorMsg);
+                }
+
+                var oldWmsTask = await wmsTaskRepository.FindByNameAsync(impItem.TaskNo);
+                if (oldWmsTask != null)
+                {
+                    var wmsTaskUpdateDto = new WmsTaskUpdateDto
+                    {
                         TaskNo = impItem.TaskNo,
-TaskType = impItem.TaskType,
-TaskLevel = impItem.TaskLevel,
-TaskStatus = impItem.TaskStatus,
-ContainerNo = impItem.ContainerNo,
-SourcePlace = impItem.SourcePlace,
-ToPlace = impItem.ToPlace,
-Aisle = impItem.Aisle,
-DodeviceId = impItem.DodeviceId,
-Dodevicetype = impItem.Dodevicetype,
-TaskDodeviceStatus = impItem.TaskDodeviceStatus,
-IsRead = impItem.IsRead,
-SonTaskType = impItem.SonTaskType,
-SourceOrderNo = impItem.SourceOrderNo,
-IsNextTask = impItem.IsNextTask,
-MutableParam1 = impItem.MutableParam1,
-MutableParam2 = impItem.MutableParam2,
-MutableParam3 = impItem.MutableParam3,
-IsDisabled = impItem.IsDisabled,
- 
-                    }; 
- 
-                    wmsTaskUpdateDtos.Add((impItem.RowIndex, oldWmsTask.Id, wmsTaskUpdateDto)); 
-                } 
-                else 
-                { 
-                    var wmsTaskCreateDto = new WmsTaskCreateDto 
-                    { 
+                        TaskType = impItem.TaskType,
+                        TaskLevel = impItem.TaskLevel,
+                        TaskStatus = impItem.TaskStatus,
+                        ContainerNo = impItem.ContainerNo,
+                        SourcePlace = impItem.SourcePlace,
+                        ToPlace = impItem.ToPlace,
+                        Aisle = impItem.Aisle,
+                        DodeviceId = impItem.DodeviceId,
+                        Dodevicetype = impItem.Dodevicetype,
+                        TaskDodeviceStatus = impItem.TaskDodeviceStatus,
+                        IsRead = impItem.IsRead,
+                        SonTaskType = impItem.SonTaskType,
+                        SourceOrderNo = impItem.SourceOrderNo,
+                        IsNextTask = impItem.IsNextTask,
+                        MutableParam1 = impItem.MutableParam1,
+                        MutableParam2 = impItem.MutableParam2,
+                        MutableParam3 = impItem.MutableParam3,
+                        IsDisabled = impItem.IsDisabled,
+
+                    };
+
+                    wmsTaskUpdateDtos.Add((impItem.RowIndex, oldWmsTask.Id, wmsTaskUpdateDto));
+                }
+                else
+                {
+                    var wmsTaskCreateDto = new WmsTaskCreateDto
+                    {
                         TaskNo = impItem.TaskNo,
-TaskType = impItem.TaskType,
-TaskLevel = impItem.TaskLevel,
-TaskStatus = impItem.TaskStatus,
-ContainerNo = impItem.ContainerNo,
-SourcePlace = impItem.SourcePlace,
-ToPlace = impItem.ToPlace,
-Aisle = impItem.Aisle,
-DodeviceId = impItem.DodeviceId,
-Dodevicetype = impItem.Dodevicetype,
-TaskDodeviceStatus = impItem.TaskDodeviceStatus,
-IsRead = impItem.IsRead,
-SonTaskType = impItem.SonTaskType,
-SourceOrderNo = impItem.SourceOrderNo,
-IsNextTask = impItem.IsNextTask,
-MutableParam1 = impItem.MutableParam1,
-MutableParam2 = impItem.MutableParam2,
-MutableParam3 = impItem.MutableParam3,
-IsDisabled = impItem.IsDisabled,
- 
-                    }; 
- 
-                    wmsTaskCreateDtos.Add((impItem.RowIndex, wmsTaskCreateDto)); 
-                } 
-            } 
-        } 
- 
+                        TaskType = impItem.TaskType,
+                        TaskLevel = impItem.TaskLevel,
+                        TaskStatus = impItem.TaskStatus,
+                        ContainerNo = impItem.ContainerNo,
+                        SourcePlace = impItem.SourcePlace,
+                        ToPlace = impItem.ToPlace,
+                        Aisle = impItem.Aisle,
+                        DodeviceId = impItem.DodeviceId,
+                        Dodevicetype = impItem.Dodevicetype,
+                        TaskDodeviceStatus = impItem.TaskDodeviceStatus,
+                        IsRead = impItem.IsRead,
+                        SonTaskType = impItem.SonTaskType,
+                        SourceOrderNo = impItem.SourceOrderNo,
+                        IsNextTask = impItem.IsNextTask,
+                        MutableParam1 = impItem.MutableParam1,
+                        MutableParam2 = impItem.MutableParam2,
+                        MutableParam3 = impItem.MutableParam3,
+                        IsDisabled = impItem.IsDisabled,
+
+                    };
+
+                    wmsTaskCreateDtos.Add((impItem.RowIndex, wmsTaskCreateDto));
+                }
+            }
+        }
+
         // 鏂板 
-        foreach (var wmsTaskDto in wmsTaskCreateDtos) 
-        { 
-            try 
-            { 
-                await CreateAsync(wmsTaskDto.Item); 
-            } 
-            catch (Exception e) 
-            { 
-                var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsTaskDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�"; 
-                throw new UserFriendlyException(errorMsg); 
-            } 
-        } 
- 
+        foreach (var wmsTaskDto in wmsTaskCreateDtos)
+        {
+            try
+            {
+                await CreateAsync(wmsTaskDto.Item);
+            }
+            catch (Exception e)
+            {
+                var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsTaskDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�";
+                throw new UserFriendlyException(errorMsg);
+            }
+        }
+
         // 鏇存柊 
-        foreach (var wmsTaskDto in wmsTaskUpdateDtos) 
-        { 
-            try 
-            { 
-                await UpdateAsync(wmsTaskDto.Id, wmsTaskDto.Item); 
-            } 
-            catch (Exception e) 
-            { 
-                var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsTaskDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�"; 
-                throw new UserFriendlyException(errorMsg); 
-            } 
-        } 
-    } 
- 
+        foreach (var wmsTaskDto in wmsTaskUpdateDtos)
+        {
+            try
+            {
+                await UpdateAsync(wmsTaskDto.Id, wmsTaskDto.Item);
+            }
+            catch (Exception e)
+            {
+                var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsTaskDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�";
+                throw new UserFriendlyException(errorMsg);
+            }
+        }
+    }
+
     /// <summary> 
     /// 瀵煎嚭Wms浠诲姟绠$悊 
     /// </summary> 
     /// <param name="input"></param> 
     /// <returns></returns> 
-    public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsTaskInput input) 
-    { 
-        Check.NotNull(input, nameof(input)); 
- 
-        if (input.Sorting.IsNullOrWhiteSpace()) 
-        { 
-            input.Sorting = nameof(WmsTask.Sort); 
-        } 
- 
+    public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsTaskInput input)
+    {
+        Check.NotNull(input, nameof(input));
+
+        if (input.Sorting.IsNullOrWhiteSpace())
+        {
+            input.Sorting = nameof(WmsTask.Sort);
+        }
+
         #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
- 
+
         //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�  
-        var whereConditions = DynamicGetQueryParams(input); 
- 
-        #endregion 
- 
- 
-        var list = await wmsTaskRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true); 
-        var result = ObjectMapper.Map<List<WmsTask>, List<WmsTaskDto>>(list); 
- 
-        var sheets = new Dictionary<string, object> 
-        { 
-            ["閰嶇疆"] = ExportHelper.ConvertListToExportData(result), 
-        }; 
- 
-        var fileName = result.Count > 1 ? "Wms浠诲姟绠$悊鍒楄〃" : result.Count == 1 ? result[0]?.TaskNo : "WmsTask妯$増"; 
-        return (sheets, fileName); 
-    } 
- 
+        var whereConditions = DynamicGetQueryParams(input);
+
+        #endregion
+
+
+        var list = await wmsTaskRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true);
+        var result = ObjectMapper.Map<List<WmsTask>, List<WmsTaskDto>>(list);
+
+        var sheets = new Dictionary<string, object>
+        {
+            ["閰嶇疆"] = ExportHelper.ConvertListToExportData(result),
+        };
+
+        var fileName = result.Count > 1 ? "Wms浠诲姟绠$悊鍒楄〃" : result.Count == 1 ? result[0]?.TaskNo : "WmsTask妯$増";
+        return (sheets, fileName);
+    }
+
     /// <summary> 
     /// 鏍¢獙Wms浠诲姟绠$悊锛屽綋鏂板缓鎴栨洿鏂版椂 
     /// </summary> 
     /// <param name="input"></param> 
     /// <returns></returns> 
-    protected Task CheckCreateOrUpdateDtoAsync(WmsTaskCreateOrUpdateDtoBase input) 
-    { 
-        Check.NotNull(input, nameof(input)); 
-                Check.NotNullOrWhiteSpace(input.TaskNo, "浠诲姟鍙�", 50);
+    protected Task CheckCreateOrUpdateDtoAsync(WmsTaskCreateOrUpdateDtoBase input)
+    {
+        Check.NotNull(input, nameof(input));
+        Check.NotNullOrWhiteSpace(input.TaskNo, "浠诲姟鍙�", 50);
         Check.NotNull(input.TaskType, "浠诲姟绫诲瀷");
         Check.NotNull(input.TaskLevel, "浠诲姟绛夌骇");
         Check.NotNull(input.TaskStatus, "浠诲姟鐘舵��");
         Check.NotNull(input.Dodevicetype, "璁惧绫诲瀷");
+        Check.NotNull(input.ContainerNo, "鎵樼洏鍙�");
+        Check.NotNull(input.SourcePlace, "璧峰浣嶇疆");
+        Check.NotNull(input.ToPlace, "鐩爣鏈煡");
         Check.NotNull(input.TaskDodeviceStatus, "璁惧浠诲姟鐘舵��");
         Check.NotNull(input.IsRead, "WCS鏄惁鍙互璇诲彇");
- 
-        return Task.CompletedTask; 
-    } 
-} 
+
+        return Task.CompletedTask;
+    }
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsTask/IWmsTaskRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsTask/IWmsTaskRepository.cs
index ac8893c..a96271d 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsTask/IWmsTaskRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsTask/IWmsTaskRepository.cs
@@ -12,18 +12,18 @@
     /// <summary> 
     /// 鎸夌収鍚嶇О鏌ユ壘Wms浠诲姟绠$悊 
     /// </summary> 
-    /// <param name="name"></param> 
+    /// <param name="taskNo"></param> 
     /// <param name="cancellationToken"></param> 
     /// <returns></returns> 
-    Task<WmsTask> FindByNameAsync(string name, CancellationToken cancellationToken = default); 
+    Task<WmsTask> FindByNameAsync(string taskNo, CancellationToken cancellationToken = default); 
  
     /// <summary> 
     /// 楠岃瘉鍚嶇О鏄惁瀛樺湪Wms浠诲姟绠$悊 
     /// </summary> 
-    /// <param name="name"></param> 
+    /// <param name="taskNo"></param> 
     /// <param name="id"></param> 
     /// <returns></returns> 
-    Task<bool> NameExistAsync(string name, Guid? id = null); 
+    Task<bool> NameExistAsync(string taskNo, Guid? id = null); 
  
     /// <summary> 
     /// 鑾峰彇鏈�澶ф帓搴廤ms浠诲姟绠$悊 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsInOutStockRecordRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsInOutStockRecordRepository.cs
index 1b8c984..ee93546 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsInOutStockRecordRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsInOutStockRecordRepository.cs
@@ -36,7 +36,7 @@
             .IncludeDetails() 
             .Where(x => !x.IsDeleted) 
             .OrderBy(t => t.Sort) 
-            .FirstOrDefaultAsync(t => t.Id == name, GetCancellationToken(cancellationToken)); 
+            .FirstOrDefaultAsync(t => t.MaterialNo == name, GetCancellationToken(cancellationToken)); 
     } 
  
     /// <summary> 
@@ -47,7 +47,7 @@
     /// <returns></returns> 
     public async Task<bool> NameExistAsync(string name, Guid? id = null) 
     { 
-        return await (await GetDbSetAsync()).WhereIf(id.HasValue, p => p.Id != id).Where(x => !x.IsDeleted).AnyAsync(x => x.Id == name); 
+        return await (await GetDbSetAsync()).WhereIf(id.HasValue, p => p.Id != id).Where(x => !x.IsDeleted).AnyAsync(x => x.MaterialNo == name); 
     } 
  
     /// <summary> 
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 290f2ef..d4dee6d 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsTaskRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsTaskRepository.cs
@@ -27,27 +27,27 @@
     /// <summary> 
     /// 鎸夌収鍚嶇О鏌ユ壘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浠诲姟绠$悊 
     /// </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> 
diff --git a/HIAWms/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordQueryDrawer.tsx b/HIAWms/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordQueryDrawer.tsx
index 5c2295b..55bb4ef 100644
--- a/HIAWms/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordQueryDrawer.tsx
+++ b/HIAWms/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordQueryDrawer.tsx
@@ -1,308 +1,310 @@
-import { 
-  ref, 
-  onMounted, 
-  reactive, 
-  computed, 
-  Ref, 
-  watch, 
-  SetupContext, 
-  h, 
-} from 'vue' 
-import { injectModel } from '@/libs/Provider/Provider' 
-import { WmsInOutStockRecordDrawer } from '../Models/WmsInOutStockRecordDrawer' 
-import { ElMessage } from 'element-plus' 
-import isEqual from 'lodash/isEqual' 
-import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' 
-import { cloneDeep } from 'lodash' 
- 
-export const useWmsInOutStockRecordQueryDrawer = (props: any, ctx?: any) => { 
-  const wmsInOutStockRecordDrawer = injectModel<WmsInOutStockRecordDrawer>('WmsInOutStockRecordDrawer') 
-  /** 
-   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁 
-   */ 
-  const initiateData: Ref<Record<string, any>> = ref({}) 
-  const formData = ref<Record<string, any>>({}) 
-  // ref 
-  const formRef = ref() 
- 
-  const disabled = ref(false) 
- 
-  const current = computed(() => { 
-    return props.row || null 
-  }) 
- 
-  const inputNumber = (attrs) => { 
-    return ( 
-      <el-input-number 
-        min="1" 
-        step="1" 
-        precision="0" 
-        {...attrs} 
-      ></el-input-number> 
-    ) 
-  } 
- 
-    const datePickerRange = (attrs) => { 
-    return ( 
-      <el-date-picker 
-        type="daterange" 
-        value-format="YYYY-MM-DD HH:mm:ss" 
-        start-placeholder="寮�濮嬫棩鏈�" 
-        end-placeholder="缁撴潫鏃ユ湡" 
-        {...attrs} 
-      ></el-date-picker> 
-    ) 
-  } 
- 
-  const dateTimePickerRange = (attrs) => { 
-    return ( 
-      <el-date-picker 
-        type="datetimerange" 
-        value-format="YYYY-MM-DD HH:mm:ss" 
-        start-placeholder="寮�濮嬫棩鏈�" 
-        end-placeholder="缁撴潫鏃ユ湡" 
-        {...attrs} 
-      ></el-date-picker> 
-    ) 
-  } 
- 
-  const visible = computed({ 
-    get() { 
-      return props.modelValue 
-    }, 
-    set(val) { 
-      ctx.emit('update:modelValue', val) 
-    }, 
-  }) 
-  /** 
-   * 娣诲姞鐨刦orm瀛楁 
-   */ 
-  const formItems = reactive([ 
-                    { 
-                   label: '鍗曟嵁缂栧彿', 
-                   prop: 'orderNo', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ崟鎹紪鍙�', 
-                }, 
-                { 
-                   label: '鐗╂枡鍚嶇О', 
-                   prop: 'materialName', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ョ墿鏂欏悕绉�', 
-                }, 
-                { 
-                   label: '鐗╂枡浠跺彿', 
-                   prop: 'materialNo', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ョ墿鏂欎欢鍙�', 
-                }, 
-                { 
-                   label: '鎿嶄綔绫诲瀷', 
-                   prop: 'stockType', 
-                   el: 'select', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ユ搷浣滅被鍨�', 
-                }, 
-                { 
-                   label: '瀹瑰櫒缂栧彿', 
-                   prop: 'containerNo', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ鍣ㄧ紪鍙�', 
-                }, 
-                { 
-                   label: '鏈哄瀷', 
-                   prop: 'materialModel', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ユ満鍨�', 
-                }, 
-                { 
-                   label: '鎿嶄綔鏃堕棿', 
-                   prop: 'operateTime', 
-                   el: (props: any, { attrs }: SetupContext) => { 
-                     return h(dateTimePickerRange, {  
-                       ...props,
-                       clearable: true, 
-                       ...attrs,  
-                     })  
-                   },
-                   width: '100%',
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ユ搷浣滄椂闂�', 
-                }, 
-                { 
-                   label: '澶囨敞', 
-                   prop: 'remark', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ娉�', 
-                }, 
-                { 
-                   label: '鐗╂枡ID', 
-                   prop: 'materialId', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ョ墿鏂橧D', 
-                }, 
-                { 
-                   label: '浠诲姟鍙�', 
-                   prop: 'taskNo', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヤ换鍔″彿', 
-                }, 
-                { 
-                   label: '璧峰搴撲綅', 
-                   prop: 'sourcePlace', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヨ捣濮嬪簱浣�', 
-                }, 
-                { 
-                   label: '鐩爣搴撲綅', 
-                   prop: 'toPlace', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ョ洰鏍囧簱浣�', 
-                }, 
-                { 
-                   label: '鏄惁绂佺敤', 
-                   prop: 'isDisabled', 
-                   el: 'select', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ユ槸鍚︾鐢�', 
-                 options: [{label: '鏄�',value: 'true'}, {label: '鍚�',value: 'false'}] 
-                }, 
-                { 
-                   label: '', 
-                   prop: 'creationTime', 
-                   el: (props: any, { attrs }: SetupContext) => { 
-                     return h(dateTimePickerRange, {  
-                       ...props,
-                       clearable: true, 
-                       ...attrs,  
-                     })  
-                   },
-                   width: '100%',
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏�', 
-                },  
-  ]) 
-  /** 
-   * 鏍¢獙鏄惁鏈夋暟鎹彉鍖� 
-   */ 
-  const checkIsEqualObject = () => { 
-    const data = { 
-      formData: formData.value, 
-    } 
-    const check = isEqual(initiateData.value, data) 
-    return check 
-  } 
-  const commonGetFormData=()=>{ 
-    const data = { 
-      orderNo: formData.value.orderNo || '', 
-materialName: formData.value.materialName || '', 
-materialNo: formData.value.materialNo || '', 
-stockType: formData.value.stockType || '', 
-containerNo: formData.value.containerNo || '', 
-materialModel: formData.value.materialModel || '', 
-operateTime: formData.value.operateTime || '', 
-remark: formData.value.remark || '', 
-materialId: formData.value.materialId || '', 
-taskNo: formData.value.taskNo || '', 
-sourcePlace: formData.value.sourcePlace || '', 
-toPlace: formData.value.toPlace || '', 
-isDisabled: formData.value.isDisabled || '', 
-creationTime: formData.value.creationTime || '',  
-    } 
-    return data; 
-  } 
-  const onClose = (done: () => void) => { 
-    if (visible.value) { 
-      visible.value = false 
-      const data =commonGetFormData(); 
-      ctx.emit('close', data) 
-    } 
-  } 
-  /** 
-   * 纭鏌ヨ 
-   */ 
-  const onConfirmQuery = async () => { 
-    const data =commonGetFormData(); 
-    ctx.emit('confirmQuery', data) 
-  } 
-  /** 
-   * 閲嶇疆鏌ヨ 
-   */ 
-  const onReset = async () => { 
-    formData.value = {} 
-    formData.value.OrderNo = '' 
-formData.value.MaterialName = '' 
-formData.value.MaterialNo = '' 
-formData.value.StockType = '' 
-formData.value.ContainerNo = '' 
-formData.value.MaterialModel = '' 
-formData.value.OperateTime = '' 
-formData.value.Remark = '' 
-formData.value.MaterialId = '' 
-formData.value.TaskNo = '' 
-formData.value.SourcePlace = '' 
-formData.value.ToPlace = ''  
-    //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢 
-    ctx.emit('restQuery'); 
-  } 
- 
-  const updateCheckData = () => { 
-    initiateData.value = { 
-      formData: { 
-        ...formData.value, 
-      }, 
-    } 
-  } 
-  const updateFormItemOptions = (propName: string, enumData: any[]) => { 
-    const item = formItems.find((item) => item.prop === propName) 
-    if (item && enumData) { 
-      item.options = enumData.map((item) => ({ 
-        label: item.description, 
-        value: item.value, 
-      })) 
-    } 
-  } 
-  /** 
-   * 閫氱敤鏌ヨ鏋氫妇 
-   */ 
-  const commonQueryEnumForFrom = async () => { 
-    const stockTypeEnumEnum = await wmsInOutStockRecordDrawer.getWmsEnumData({ 
- EnumName: 'StockTypeEnum', 
-}) 
-updateFormItemOptions('stockType', stockTypeEnumEnum) 
- 
-  } 
-  commonQueryEnumForFrom() 
-  /** 
-   * 寮圭獥鎵撳紑鑾峰彇璇︽儏 
-   */ 
-  const onOpen = async () => { 
-    disabled.value = false 
-    updateCheckData() 
-  } 
- 
-  watch(() => current.value, onOpen) 
- 
-  return { 
-    formItems, 
-    formData, 
-    visible, 
-    formRef, 
-    onOpen, 
-    onClose, 
-    onConfirmQuery, 
-    onReset, 
-  } 
-} 
+import {
+  ref,
+  onMounted,
+  reactive,
+  computed,
+  Ref,
+  watch,
+  SetupContext,
+  h,
+} from 'vue'
+import { injectModel } from '@/libs/Provider/Provider'
+import { WmsInOutStockRecordDrawer } from '../Models/WmsInOutStockRecordDrawer'
+import { ElMessage } from 'element-plus'
+import isEqual from 'lodash/isEqual'
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
+import { cloneDeep } from 'lodash'
+
+export const useWmsInOutStockRecordQueryDrawer = (props: any, ctx?: any) => {
+  const wmsInOutStockRecordDrawer = injectModel<WmsInOutStockRecordDrawer>(
+    'WmsInOutStockRecordDrawer'
+  )
+  /**
+   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁
+   */
+  const initiateData: Ref<Record<string, any>> = ref({})
+  const formData = ref<Record<string, any>>({})
+  // ref
+  const formRef = ref()
+
+  const disabled = ref(false)
+
+  const current = computed(() => {
+    return props.row || null
+  })
+
+  const inputNumber = (attrs) => {
+    return (
+      <el-input-number
+        min="1"
+        step="1"
+        precision="0"
+        {...attrs}
+      ></el-input-number>
+    )
+  }
+
+  const datePickerRange = (attrs) => {
+    return (
+      <el-date-picker
+        type="daterange"
+        value-format="YYYY-MM-DD HH:mm:ss"
+        start-placeholder="寮�濮嬫棩鏈�"
+        end-placeholder="缁撴潫鏃ユ湡"
+        {...attrs}
+      ></el-date-picker>
+    )
+  }
+
+  const dateTimePickerRange = (attrs) => {
+    return (
+      <el-date-picker
+        type="datetimerange"
+        value-format="YYYY-MM-DD HH:mm:ss"
+        start-placeholder="寮�濮嬫棩鏈�"
+        end-placeholder="缁撴潫鏃ユ湡"
+        {...attrs}
+      ></el-date-picker>
+    )
+  }
+
+  const visible = computed({
+    get() {
+      return props.modelValue
+    },
+    set(val) {
+      ctx.emit('update:modelValue', val)
+    },
+  })
+  /**
+   * 娣诲姞鐨刦orm瀛楁
+   */
+  const formItems = reactive([
+    {
+      label: '鍗曟嵁缂栧彿',
+      prop: 'orderNo',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ崟鎹紪鍙�',
+    },
+    {
+      label: '鐗╂枡鍚嶇О',
+      prop: 'materialName',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ョ墿鏂欏悕绉�',
+    },
+    {
+      label: '鐗╂枡浠跺彿',
+      prop: 'materialNo',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ョ墿鏂欎欢鍙�',
+    },
+    {
+      label: '鎿嶄綔绫诲瀷',
+      prop: 'stockType',
+      el: 'select',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ搷浣滅被鍨�',
+    },
+    {
+      label: '瀹瑰櫒缂栧彿',
+      prop: 'containerNo',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ鍣ㄧ紪鍙�',
+    },
+    {
+      label: '鏈哄瀷',
+      prop: 'materialModel',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ満鍨�',
+    },
+    {
+      label: '鎿嶄綔鏃堕棿',
+      prop: 'operateTime',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(dateTimePickerRange, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ搷浣滄椂闂�',
+    },
+    {
+      label: '澶囨敞',
+      prop: 'remark',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ娉�',
+    },
+    {
+      label: '鐗╂枡ID',
+      prop: 'materialId',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ョ墿鏂橧D',
+    },
+    {
+      label: '浠诲姟鍙�',
+      prop: 'taskNo',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ换鍔″彿',
+    },
+    {
+      label: '璧峰搴撲綅',
+      prop: 'sourcePlace',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヨ捣濮嬪簱浣�',
+    },
+    {
+      label: '鐩爣搴撲綅',
+      prop: 'toPlace',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ョ洰鏍囧簱浣�',
+    },
+    {
+      label: '鏄惁绂佺敤',
+      prop: 'isDisabled',
+      el: 'select',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ槸鍚︾鐢�',
+      options: [
+        { label: '鏄�', value: 'true' },
+        { label: '鍚�', value: 'false' },
+      ],
+    },
+    {
+      label: '鍒涘缓鏃堕棿',
+      prop: 'creationTime',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(dateTimePickerRange, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏�',
+    },
+  ])
+  /**
+   * 鏍¢獙鏄惁鏈夋暟鎹彉鍖�
+   */
+  const checkIsEqualObject = () => {
+    const data = {
+      formData: formData.value,
+    }
+    const check = isEqual(initiateData.value, data)
+    return check
+  }
+  const commonGetFormData = () => {
+    const data = {
+      orderNo: formData.value.orderNo || '',
+      materialName: formData.value.materialName || '',
+      materialNo: formData.value.materialNo || '',
+      stockType: formData.value.stockType || '',
+      containerNo: formData.value.containerNo || '',
+      materialModel: formData.value.materialModel || '',
+      operateTime: formData.value.operateTime || '',
+      remark: formData.value.remark || '',
+      materialId: formData.value.materialId || '',
+      taskNo: formData.value.taskNo || '',
+      sourcePlace: formData.value.sourcePlace || '',
+      toPlace: formData.value.toPlace || '',
+      isDisabled: formData.value.isDisabled || '',
+      creationTime: formData.value.creationTime || '',
+    }
+    return data
+  }
+  const onClose = (done: () => void) => {
+    if (visible.value) {
+      visible.value = false
+      const data = commonGetFormData()
+      ctx.emit('close', data)
+    }
+  }
+  /**
+   * 纭鏌ヨ
+   */
+  const onConfirmQuery = async () => {
+    const data = commonGetFormData()
+    ctx.emit('confirmQuery', data)
+  }
+  /**
+   * 閲嶇疆鏌ヨ
+   */
+  const onReset = async () => {
+    formData.value = {}
+    formData.value.OrderNo = ''
+    formData.value.MaterialName = ''
+    formData.value.MaterialNo = ''
+    formData.value.StockType = ''
+    formData.value.ContainerNo = ''
+    formData.value.MaterialModel = ''
+    formData.value.OperateTime = ''
+    formData.value.Remark = ''
+    formData.value.MaterialId = ''
+    formData.value.TaskNo = ''
+    formData.value.SourcePlace = ''
+    formData.value.ToPlace = ''
+    //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢
+    ctx.emit('restQuery')
+  }
+
+  const updateCheckData = () => {
+    initiateData.value = {
+      formData: {
+        ...formData.value,
+      },
+    }
+  }
+  const updateFormItemOptions = (propName: string, enumData: any[]) => {
+    const item = formItems.find((item) => item.prop === propName)
+    if (item && enumData) {
+      item.options = enumData.map((item) => ({
+        label: item.description,
+        value: item.value,
+      }))
+    }
+  }
+  /**
+   * 閫氱敤鏌ヨ鏋氫妇
+   */
+  const commonQueryEnumForFrom = async () => {
+    const stockTypeEnumEnum = await wmsInOutStockRecordDrawer.getWmsEnumData({
+      EnumName: 'StockTypeEnum',
+    })
+    updateFormItemOptions('stockType', stockTypeEnumEnum)
+  }
+  commonQueryEnumForFrom()
+  /**
+   * 寮圭獥鎵撳紑鑾峰彇璇︽儏
+   */
+  const onOpen = async () => {
+    disabled.value = false
+    updateCheckData()
+  }
+
+  watch(() => current.value, onOpen)
+
+  return {
+    formItems,
+    formData,
+    visible,
+    formRef,
+    onOpen,
+    onClose,
+    onConfirmQuery,
+    onReset,
+  }
+}
diff --git a/HIAWms/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordDrawer/WmsInOutStockRecordDrawer.tsx b/HIAWms/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordDrawer/WmsInOutStockRecordDrawer.tsx
index e0f65e2..b936409 100644
--- a/HIAWms/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordDrawer/WmsInOutStockRecordDrawer.tsx
+++ b/HIAWms/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordDrawer/WmsInOutStockRecordDrawer.tsx
@@ -52,7 +52,7 @@
         <DyForm 
           ref={formRef} 
           formData={formData.value} 
-          labelWidth="106px" 
+          labelWidth="150px" 
           formItemProps={formItems} 
         ></DyForm> 
       </BaseDrawer> 
diff --git a/HIAWms/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordQueryDrawer/WmsInOutStockRecordQueryDrawer.tsx b/HIAWms/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordQueryDrawer/WmsInOutStockRecordQueryDrawer.tsx
index 5c44328..db7c61e 100644
--- a/HIAWms/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordQueryDrawer/WmsInOutStockRecordQueryDrawer.tsx
+++ b/HIAWms/web/src/widgets/WmsInOutStockRecord/Views/Pages/Dialog/WmsInOutStockRecordQueryDrawer/WmsInOutStockRecordQueryDrawer.tsx
@@ -1,71 +1,71 @@
-/* 
- * 鐗╂枡鍩虹淇℃伅鏌ヨ寮瑰嚭妗� 
-*/ 
-import { SetupContext, defineComponent } from 'vue' 
-import BaseQueryDrawer from '@/components/BaseQueryDrawer/BaseQueryDrawer' 
-import styles from './WmsInOutStockRecordQueryDrawer.module.scss' 
-import { useWmsInOutStockRecordQueryDrawer } from '../../../../Controllers/WmsInOutStockRecordQueryDrawer.tsx' 
-import DyForm from '@/components/DyForm/DyForm' 
- 
-// @ts-ignore 
-export default defineComponent<{ 
-  [key: string]: any 
-}>({ 
-  name: '寮圭獥', 
-  props: { 
-    //鏋氫妇绫诲瀷瀛楀吀 
-    enumListDict:{ 
-      type: Array as () => Array<{ key: string; value: object }>, // 瀹氫箟鏁扮粍鍏冪礌绫诲瀷 
-      default: () => [] // 榛樿鍊� 
-    }, 
-    modelValue: { 
-      type: Boolean, 
-      default: false, 
-    }, 
-    title: { 
-      type: String, 
-      default: '', 
-    }, 
-    row: { 
-      type: Object, 
-    }, 
-    sort: { 
-      type: Number, 
-      default: 0, 
-    }, 
-  }, 
-  emits: ['update:modelValue', 'close', 'submit', 'confirmquery1'], 
-  setup(props: Record<string, any>, ctx: SetupContext) { 
-    const { 
-      onClose, 
-      onConfirmQuery, 
-      onOpen, 
-      onReset, 
-      formRef, 
-      visible, 
-      formItems, 
-      formData, 
-    } = useWmsInOutStockRecordQueryDrawer(props, ctx) 
-    return () => ( 
-      <BaseQueryDrawer 
-        class={styles.drawer} 
-        size="800px" 
-        title={props.title || '楂樼骇鏌ヨ'} 
-        v-model={visible.value} 
-        close-on-click-modal={true} 
-        onReset={onReset} 
-        onConfirmQueryForBase={onConfirmQuery} 
-        onOpen={onOpen} 
-        before-close={onClose} 
-        onClose={onClose} 
-      > 
-        <DyForm 
-          ref={formRef} 
-          formData={formData.value} 
-          labelWidth="106px" 
-          formItemProps={formItems} 
-        ></DyForm> 
-      </BaseQueryDrawer> 
-    ) 
-  }, 
-}) 
+/*
+ * 鐗╂枡鍩虹淇℃伅鏌ヨ寮瑰嚭妗�
+ */
+import { SetupContext, defineComponent } from 'vue'
+import BaseQueryDrawer from '@/components/BaseQueryDrawer/BaseQueryDrawer'
+import styles from './WmsInOutStockRecordQueryDrawer.module.scss'
+import { useWmsInOutStockRecordQueryDrawer } from '../../../../Controllers/WmsInOutStockRecordQueryDrawer.tsx'
+import DyForm from '@/components/DyForm/DyForm'
+
+// @ts-ignore
+export default defineComponent<{
+  [key: string]: any
+}>({
+  name: '寮圭獥',
+  props: {
+    //鏋氫妇绫诲瀷瀛楀吀
+    enumListDict: {
+      type: Array as () => Array<{ key: string; value: object }>, // 瀹氫箟鏁扮粍鍏冪礌绫诲瀷
+      default: () => [], // 榛樿鍊�
+    },
+    modelValue: {
+      type: Boolean,
+      default: false,
+    },
+    title: {
+      type: String,
+      default: '',
+    },
+    row: {
+      type: Object,
+    },
+    sort: {
+      type: Number,
+      default: 0,
+    },
+  },
+  emits: ['update:modelValue', 'close', 'submit', 'confirmquery1'],
+  setup(props: Record<string, any>, ctx: SetupContext) {
+    const {
+      onClose,
+      onConfirmQuery,
+      onOpen,
+      onReset,
+      formRef,
+      visible,
+      formItems,
+      formData,
+    } = useWmsInOutStockRecordQueryDrawer(props, ctx)
+    return () => (
+      <BaseQueryDrawer
+        class={styles.drawer}
+        size="800px"
+        title={props.title || '楂樼骇鏌ヨ'}
+        v-model={visible.value}
+        close-on-click-modal={true}
+        onReset={onReset}
+        onConfirmQueryForBase={onConfirmQuery}
+        onOpen={onOpen}
+        before-close={onClose}
+        onClose={onClose}
+      >
+        <DyForm
+          ref={formRef}
+          formData={formData.value}
+          labelWidth="150px"
+          formItemProps={formItems}
+        ></DyForm>
+      </BaseQueryDrawer>
+    )
+  },
+})
diff --git a/HIAWms/web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/Config.ts b/HIAWms/web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/Config.ts
index 5fa7863..98c79fe 100644
--- a/HIAWms/web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/Config.ts
+++ b/HIAWms/web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/Config.ts
@@ -1,67 +1,65 @@
-export const columns = [ 
-  { 
-    type: 'seq', 
-    width: 60, 
-    title: '搴忓彿', 
-  }, 
-  { 
-  field: 'orderNo', 
-  title: '鍗曟嵁缂栧彿', 
-}, 
-{ 
-  field: 'materialName', 
-  title: '鐗╂枡鍚嶇О', 
-}, 
-{ 
-  field: 'materialNo', 
-  title: '鐗╂枡浠跺彿', 
-}, 
-{ 
-  field: 'stockTypeDesc', 
-  title: '鎿嶄綔绫诲瀷', 
-}, 
-{ 
-  field: 'containerNo', 
-  title: '瀹瑰櫒缂栧彿', 
-}, 
-{ 
-  field: 'materialModel', 
-  title: '鏈哄瀷', 
-}, 
-{ 
-  field: 'operateTime', 
-  title: '鎿嶄綔鏃堕棿', 
-}, 
-{ 
-  field: 'remark', 
-  title: '澶囨敞', 
-}, 
-{ 
-  field: 'materialId', 
-  title: '鐗╂枡ID', 
-}, 
-{ 
-  field: 'taskNo', 
-  title: '浠诲姟鍙�', 
-}, 
-{ 
-  field: 'sourcePlace', 
-  title: '璧峰搴撲綅', 
-}, 
-{ 
-  field: 'toPlace', 
-  title: '鐩爣搴撲綅', 
-}, 
-{ 
-  field: 'sort', 
-  title: '鎺掑簭', 
-}, 
-{ 
-  field: 'creationTime', 
-  title: '', 
-}, 
-{ 
-  field: 'deletionTime', 
-  title: '', 
-},  
-] 
+export const columns = [
+  {
+    type: 'seq',
+    width: 60,
+    title: '搴忓彿',
+  },
+  {
+    field: 'orderNo',
+    title: '鍗曟嵁缂栧彿',
+  },
+  {
+    field: 'materialName',
+    title: '鐗╂枡鍚嶇О',
+  },
+  {
+    field: 'materialNo',
+    title: '鐗╂枡浠跺彿',
+  },
+  {
+    field: 'materialId',
+    title: '鐗╂枡ID',
+  },
+  {
+    field: 'taskNo',
+    title: '浠诲姟鍙�',
+  },
+  {
+    field: 'sourcePlace',
+    title: '璧峰搴撲綅',
+  },
+  {
+    field: 'toPlace',
+    title: '鐩爣搴撲綅',
+  },
+  {
+    field: 'stockTypeDesc',
+    title: '鎿嶄綔绫诲瀷',
+  },
+  {
+    field: 'containerNo',
+    title: '瀹瑰櫒缂栧彿',
+  },
+  {
+    field: 'materialModel',
+    title: '鏈哄瀷',
+  },
+  {
+    field: 'remark',
+    title: '澶囨敞',
+  },
+  // {
+  //   field: 'sort',
+  //   title: '鎺掑簭',
+  // },
+  {
+    field: 'operateTime',
+    title: '鎿嶄綔鏃堕棿',
+    width: 180,
+  },
+  {
+    field: 'creationTime',
+    title: '鍒涘缓鏃堕棿',
+    width: 180,
+  },
+]
diff --git a/HIAWms/web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/WmsInOutStockRecord.tsx b/HIAWms/web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/WmsInOutStockRecord.tsx
index 0fa6e7b..45b6773 100644
--- a/HIAWms/web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/WmsInOutStockRecord.tsx
+++ b/HIAWms/web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/WmsInOutStockRecord.tsx
@@ -1,308 +1,329 @@
-import { computed, defineComponent, onMounted, reactive, ref } from 'vue' 
-import type { Ref } from 'vue' 
-import BaseTable from '@/components/Table/Table' 
-import styles from './WmsInOutStockRecord.module.scss' 
-import { useWmsInOutStockRecord } from '../../../Controllers/WmsInOutStockRecord' 
-import IconButton from '@/components/IconButton/IconButton' 
-import WmsInOutStockRecordDrawer from '../Dialog/WmsInOutStockRecordDrawer/WmsInOutStockRecordDrawer' 
-import WmsInOutStockRecordQueryDrawer from '../Dialog/WmsInOutStockRecordQueryDrawer/WmsInOutStockRecordQueryDrawer' 
-import Search from '@/components/Search/Search' 
-import { columns } from './Config' 
-import TdButton from '@/components/TdButton/TdButton' 
-import { vPermission } from '@/libs/Permission/Permission' 
-import { 
-  getWmsEnumData 
-} from '@/widgets/WmsInOutStockRecord/Models/Service/WmsInOutStockRecordDrawer' 
-import { 
-  ElInput, 
-  ElSelect, 
-  ElOption, 
-  ElDatePicker, 
-  ElForm, 
-  ElFormItem, 
-} from 'element-plus' 
-import { injectModel } from '@/libs/Provider/Provider' 
- 
-interface RenderTableType { 
-  url?: string 
-  dataSource: Ref<any[]> 
-  isDrag?: boolean 
-  isChecked?: boolean 
-  isHidePagination?: boolean 
-  params?: Record<string, any> 
-  autoHeight?: boolean 
-} 
- 
-export default defineComponent({ 
-  name: 'WmsInOutStockRecord', 
-  directives: { 
-    permission: vPermission, 
-  }, 
-  setup(props, ctx) { 
-    const { 
-      dataSource, 
-      contextMenu, 
-      dialogConfig, 
-      dialogConfigForQuery, 
-      tableRef, 
-      current, 
-      search, 
-      sort, 
-      headers, 
-      onError, 
-      onSearch, 
-      onRowClick, 
-      onConfirmWmsInOutStockRecord, 
-      onCheck, 
-      onAddWmsInOutStockRecord, 
-      onAdvancedQuery, 
-      onExport, 
-      openDetail, 
-      onSuccess, 
-      onBeforeUpload, 
-    } = useWmsInOutStockRecord(props, ctx) 
- 
-    //瀹氫箟楂樼骇鏌ヨ寮曠敤 
-   const wmsInOutStockRecordQueryDrawerRef=ref(null); 
-    // 鏂板鐨勬煡璇㈡潯浠� 
-    const queryForm = ref({ 
-      searchVal: '', 
-      str_searchFormInputAttrs:[] 
-    }) 
-    //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂) 
-    const _searchFormInputAttrs = ref([ 
-     'MaterialNo', 'ContainerNo' 
-    ]); 
-    const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ョ墿鏂欑紪鐮�/鎵樼洏'); 
-     
- 
-    // 鍔ㄦ�佹灇涓鹃�夐」 
-    const enumOptions = reactive({ 
-      stockType: [] as Array<{label: string; value: any }>,  
-    }) 
- 
-    // 鑾峰彇鏋氫妇鏁版嵁 
-    const fetchEnumData = async () => { 
-      try { 
-        const stockTypeEnumData = await getWmsEnumData({ 
- EnumName: 'StockTypeEnum', 
-}) 
-enumOptions.stockType = stockTypeEnumData.map((item) => ({ 
-  label: item.description, 
-  value: item.value, 
-})) 
- 
-      } catch (error) { 
-        console.error('鑾峰彇鏋氫妇鏁版嵁澶辫触:', error) 
-      } 
-    } 
- 
-    // 缁勪欢鎸傝浇鏃惰幏鍙栨灇涓炬暟鎹� 
-    onMounted(() => { 
-      fetchEnumData() 
-    }) 
- 
-    // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹� 
-    const _curHighQueryData = ref({ searchVal: '',str_searchFormInputAttrs:[] }); 
-    // 鏂扮増鐨勬煡璇㈡柟娉曪紙涓婚〉闈腑鐨勬寜閽�愭煡璇€�戯級 
-    const handleQueryForMain = async () => { 
-      _curHighQueryData.value.searchVal = queryForm.value.searchVal; 
-      _curHighQueryData.value.str_searchFormInputAttrs = _searchFormInputAttrs.value; 
-      tableRef.value.getList(_curHighQueryData.value) 
-    } 
-    // 鏂扮増鐨勬煡璇㈡柟娉曪紙楂樼骇鏌ヨ涓殑鎸夐挳銆愭煡璇€�戯級 
-    const handleQuery = async (extraParams = {}) => { 
-      let filteredData = commonGetHighQueryForm(extraParams); 
-      commonSaveCurHighQueryData(filteredData); 
-      tableRef.value.getList(filteredData) 
-    } 
-    // 鏂扮増鐨勬煡璇㈤噸缃� 
-    const resetQuery = () => { 
-      queryForm.value.searchVal = '' 
-      queryForm.value.str_searchFormInputAttrs=_searchFormInputAttrs.value; 
-    } 
-     //鏂扮増鐨勫鍑烘柟娉� 
-     const handleExport=()=>{ 
-      onExport(_curHighQueryData.value); 
-    } 
-    // 鏂扮増鐨勬煡璇㈠脊鍑烘鍏抽棴鏂规硶 
-    const closeQuery = (extraParams={}) => { 
-      let filteredData = commonGetHighQueryForm(extraParams); 
-      console.log("closeQuery鏂规硶"); 
-      console.log(filteredData); 
-      commonSaveCurHighQueryData(filteredData); 
-    } 
-    //淇濆瓨鏌ヨ鍊� 
-    const commonSaveCurHighQueryData=(filteredData={})=>{ 
-      _curHighQueryData.value = { ..._curHighQueryData.value, ...filteredData }; 
-      _curHighQueryData.value.searchVal = queryForm.value.searchVal 
-      _curHighQueryData.value.str_searchFormInputAttrs =_searchFormInputAttrs.value; 
-    } 
-     //鑾峰彇楂樼骇鏌ヨ寮瑰嚭妗嗙殑鏌ヨ鍊� 
-     const commonGetHighQueryForm=(extraParams={})=>{ 
-      // 杩囨护鎺� undefined 鐨勫�� 
-      let filteredData = Object.assign( 
-        {}, 
-        ...Object.entries(extraParams).map(([key, value]) => 
-          value !== undefined ? { [key]: value } : {} 
-        ) 
-      ) 
-      //缁勫悎妯$硦鏌ヨ 
-      filteredData.searchVal = queryForm.value.searchVal 
-      filteredData.str_searchFormInputAttrs =_searchFormInputAttrs.value; 
-      return filteredData; 
-    } 
-    
- 
-    /** 
-     * @returns 琛ㄦ牸 
-     */ 
-    const RenderBaseTable = (props: RenderTableType) => { 
-      const { 
-        url, 
-        dataSource, 
-        isDrag, 
-        isChecked, 
-        isHidePagination, 
-        params, 
-        autoHeight, 
-      } = props 
- 
-      return ( 
-        <div 
-          class={{ 
-            [styles.wmsInOutStockRecordList]: true, 
-          }} 
-        > 
-          <BaseTable 
-            ref={tableRef} 
-            url={url} 
-            sortUrlTpl="/api/v1/HIAWms/wmsInOutStockRecord/{id}/adjustsort/{sort}" 
-            v-model:dataSource={dataSource.value} 
-            columns={columns} 
-            contextMenu={contextMenu} 
-            params={params} 
-            isDrag={isDrag} 
-            isChecked={isChecked} 
-            autoHeight={autoHeight} 
-            onCheck={onCheck} 
-            onRowClick={onRowClick} 
-            isHidePagination={isHidePagination} 
-            pageSize={20} 
-            v-slots={{ 
-              name: ({ row }: any) => { 
-                return row?.name ? ( 
-                  <TdButton 
-                    onClick={() => openDetail(row)} 
-                    text={<span style="color:#5a84ff">璇︽儏</span>} 
-                    icon="scale" 
-                    tip={row?.name} 
-                    hover 
-                  > 
-                    {row?.name} 
-                  </TdButton> 
-                ) : ( 
-                  '-' 
-                ) 
-              }, 
-            }} 
-          ></BaseTable> 
-        </div> 
-      ) 
-    } 
- 
-    return () => { 
-      return ( 
-        <div class={styles.wmsInOutStockRecordContent}> 
-          {/* 娣诲姞/缂栬緫 */} 
-          <WmsInOutStockRecordDrawer 
-            v-model={dialogConfig.visible} 
-            title={dialogConfig.title} 
-            row={current.value} 
-            sort={sort.value} 
-            onConfirm={onConfirmWmsInOutStockRecord} 
-          /> 
-          {/* 楂樼骇鏌ヨ */} 
-          <WmsInOutStockRecordQueryDrawer 
-            ref="wmsInOutStockRecordQueryDrawerRef" 
-            v-model={dialogConfigForQuery.visible} 
-            title={dialogConfigForQuery.title} 
-            row={current.value} 
-            sort={sort.value} 
-            onConfirmQuery={handleQuery} 
-            onRestQuery={resetQuery} 
-            onClose={closeQuery} 
-          /> 
- 
-          <div class={styles.headerContent}> 
-            <div class={styles.header}> 
-              <IconButton 
-                v-permission="wmsInOutStockRecord-add" 
-                icon="add-p" 
-                onClick={onAddWmsInOutStockRecord} 
-                type="primary" 
-              > 
-                娣诲姞 
-              </IconButton> 
-              <el-divider direction="vertical" /> 
- 
-              <el-divider direction="vertical" /> 
-              <el-upload 
-                v-permission="wmsInOutStockRecord-import" 
-                name="file" 
-                accept=".xlsx,.xls,.csv" 
-                show-file-list={false} 
-                onError={onError} 
-                onSuccess={onSuccess} 
-                before-upload={onBeforeUpload} 
-                headers={headers.value} 
-                action="/api/v1/HIAWms/wmsInOutStockRecord/import" 
-              > 
-                <IconButton icon="in">瀵煎叆</IconButton> 
-              </el-upload> 
- 
-              <IconButton 
-                v-permission="wmsInOutStockRecord-output" 
-                icon="out" 
-                onClick={handleExport} 
-              > 
-                瀵煎嚭 
-              </IconButton> 
-            </div> 
-            <ElFormItem style={{ marginTop: '15px' }}> 
-              <ElFormItem label="鍏抽敭瀛�"> 
-                <ElInput 
-                  v-model={queryForm.value.searchVal} 
-                  placeholder={searchFormInputAttrs_Placeholder.value} 
-                  clearable 
-                  class={styles.formItem} 
-                /> 
-              </ElFormItem> 
-              <IconButton type="primary" icon="search" onClick={handleQueryForMain}> 
-                鏌ヨ 
-              </IconButton> 
+import { computed, defineComponent, onMounted, reactive, ref } from 'vue'
+import type { Ref } from 'vue'
+import BaseTable from '@/components/Table/Table'
+import styles from './WmsInOutStockRecord.module.scss'
+import { useWmsInOutStockRecord } from '../../../Controllers/WmsInOutStockRecord'
+import IconButton from '@/components/IconButton/IconButton'
+import WmsInOutStockRecordDrawer from '../Dialog/WmsInOutStockRecordDrawer/WmsInOutStockRecordDrawer'
+import WmsInOutStockRecordQueryDrawer from '../Dialog/WmsInOutStockRecordQueryDrawer/WmsInOutStockRecordQueryDrawer'
+import Search from '@/components/Search/Search'
+import { columns } from './Config'
+import TdButton from '@/components/TdButton/TdButton'
+import { vPermission } from '@/libs/Permission/Permission'
+import { getWmsEnumData } from '@/widgets/WmsInOutStockRecord/Models/Service/WmsInOutStockRecordDrawer'
+import dayjs from 'dayjs'
+import {
+  ElInput,
+  ElSelect,
+  ElOption,
+  ElDatePicker,
+  ElForm,
+  ElFormItem,
+} from 'element-plus'
+import { injectModel } from '@/libs/Provider/Provider'
+
+interface RenderTableType {
+  url?: string
+  dataSource: Ref<any[]>
+  isDrag?: boolean
+  isChecked?: boolean
+  isHidePagination?: boolean
+  params?: Record<string, any>
+  autoHeight?: boolean
+}
+
+export default defineComponent({
+  name: 'WmsInOutStockRecord',
+  directives: {
+    permission: vPermission,
+  },
+  setup(props, ctx) {
+    const {
+      dataSource,
+      contextMenu,
+      dialogConfig,
+      dialogConfigForQuery,
+      tableRef,
+      current,
+      search,
+      sort,
+      headers,
+      onError,
+      onSearch,
+      onRowClick,
+      onConfirmWmsInOutStockRecord,
+      onCheck,
+      onAddWmsInOutStockRecord,
+      onAdvancedQuery,
+      onExport,
+      openDetail,
+      onSuccess,
+      onBeforeUpload,
+    } = useWmsInOutStockRecord(props, ctx)
+
+    //瀹氫箟楂樼骇鏌ヨ寮曠敤
+    const wmsInOutStockRecordQueryDrawerRef = ref(null)
+    // 鏂板鐨勬煡璇㈡潯浠�
+    const queryForm = ref({
+      searchVal: '',
+      str_searchFormInputAttrs: [],
+    })
+    //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂)
+    const _searchFormInputAttrs = ref(['MaterialNo', 'ContainerNo'])
+    const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ョ墿鏂欑紪鐮�/鎵樼洏')
+
+    // 鍔ㄦ�佹灇涓鹃�夐」
+    const enumOptions = reactive({
+      stockType: [] as Array<{ label: string; value: any }>,
+    })
+
+    // 鑾峰彇鏋氫妇鏁版嵁
+    const fetchEnumData = async () => {
+      try {
+        const stockTypeEnumData = await getWmsEnumData({
+          EnumName: 'StockTypeEnum',
+        })
+        enumOptions.stockType = stockTypeEnumData.map((item) => ({
+          label: item.description,
+          value: item.value,
+        }))
+      } catch (error) {
+        console.error('鑾峰彇鏋氫妇鏁版嵁澶辫触:', error)
+      }
+    }
+
+    // 缁勪欢鎸傝浇鏃惰幏鍙栨灇涓炬暟鎹�
+    onMounted(() => {
+      fetchEnumData()
+    })
+
+    // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹�
+    const _curHighQueryData = ref({
+      searchVal: '',
+      str_searchFormInputAttrs: [],
+    })
+    // 鏂扮増鐨勬煡璇㈡柟娉曪紙涓婚〉闈腑鐨勬寜閽�愭煡璇€�戯級
+    const handleQueryForMain = async () => {
+      _curHighQueryData.value.searchVal = queryForm.value.searchVal
+      _curHighQueryData.value.str_searchFormInputAttrs =
+        _searchFormInputAttrs.value
+      tableRef.value.getList(_curHighQueryData.value)
+    }
+    // 鏂扮増鐨勬煡璇㈡柟娉曪紙楂樼骇鏌ヨ涓殑鎸夐挳銆愭煡璇€�戯級
+    const handleQuery = async (extraParams = {}) => {
+      let filteredData = commonGetHighQueryForm(extraParams)
+      commonSaveCurHighQueryData(filteredData)
+      tableRef.value.getList(filteredData)
+    }
+    // 鏂扮増鐨勬煡璇㈤噸缃�
+    const resetQuery = () => {
+      queryForm.value.searchVal = ''
+      queryForm.value.str_searchFormInputAttrs = _searchFormInputAttrs.value
+    }
+    //鏂扮増鐨勫鍑烘柟娉�
+    const handleExport = () => {
+      onExport(_curHighQueryData.value)
+    }
+    // 鏂扮増鐨勬煡璇㈠脊鍑烘鍏抽棴鏂规硶
+    const closeQuery = (extraParams = {}) => {
+      let filteredData = commonGetHighQueryForm(extraParams)
+      console.log('closeQuery鏂规硶')
+      console.log(filteredData)
+      commonSaveCurHighQueryData(filteredData)
+    }
+    //淇濆瓨鏌ヨ鍊�
+    const commonSaveCurHighQueryData = (filteredData = {}) => {
+      _curHighQueryData.value = { ..._curHighQueryData.value, ...filteredData }
+      _curHighQueryData.value.searchVal = queryForm.value.searchVal
+      _curHighQueryData.value.str_searchFormInputAttrs =
+        _searchFormInputAttrs.value
+    }
+    //鑾峰彇楂樼骇鏌ヨ寮瑰嚭妗嗙殑鏌ヨ鍊�
+    const commonGetHighQueryForm = (extraParams = {}) => {
+      // 杩囨护鎺� undefined 鐨勫��
+      let filteredData = Object.assign(
+        {},
+        ...Object.entries(extraParams).map(([key, value]) =>
+          value !== undefined ? { [key]: value } : {}
+        )
+      )
+      //缁勫悎妯$硦鏌ヨ
+      filteredData.searchVal = queryForm.value.searchVal
+      filteredData.str_searchFormInputAttrs = _searchFormInputAttrs.value
+      return filteredData
+    }
+
+    /**
+     * @returns 琛ㄦ牸
+     */
+    const RenderBaseTable = (props: RenderTableType) => {
+      const {
+        url,
+        dataSource,
+        isDrag,
+        isChecked,
+        isHidePagination,
+        params,
+        autoHeight,
+      } = props
+
+      return (
+        <div
+          class={{
+            [styles.wmsInOutStockRecordList]: true,
+          }}
+        >
+          <BaseTable
+            ref={tableRef}
+            url={url}
+            sortUrlTpl="/api/v1/HIAWms/wmsInOutStockRecord/{id}/adjustsort/{sort}"
+            v-model:dataSource={dataSource.value}
+            columns={columns}
+            contextMenu={contextMenu}
+            params={params}
+            isDrag={isDrag}
+            isChecked={isChecked}
+            autoHeight={autoHeight}
+            onCheck={onCheck}
+            onRowClick={onRowClick}
+            isHidePagination={isHidePagination}
+            pageSize={20}
+            v-slots={{
+              creationTime: ({ row }: any) => {
+                return (
+                  <div>
+                    {row.creationTime != null
+                      ? dayjs(row.creationTime).format('YYYY-MM-DD HH:mm:ss')
+                      : '-'}
+                  </div>
+                )
+              },
+              operateTime: ({ row }: any) => {
+                return (
+                  <div>
+                    {row.operateTime != null
+                      ? dayjs(row.operateTime).format('YYYY-MM-DD HH:mm:ss')
+                      : '-'}
+                  </div>
+                )
+              },
+              name: ({ row }: any) => {
+                return row?.name ? (
+                  <TdButton
+                    onClick={() => openDetail(row)}
+                    text={<span style="color:#5a84ff">璇︽儏</span>}
+                    icon="scale"
+                    tip={row?.name}
+                    hover
+                  >
+                    {row?.name}
+                  </TdButton>
+                ) : (
+                  '-'
+                )
+              },
+            }}
+          ></BaseTable>
+        </div>
+      )
+    }
+
+    return () => {
+      return (
+        <div class={styles.wmsInOutStockRecordContent}>
+          {/* 娣诲姞/缂栬緫 */}
+          <WmsInOutStockRecordDrawer
+            v-model={dialogConfig.visible}
+            title={dialogConfig.title}
+            row={current.value}
+            sort={sort.value}
+            onConfirm={onConfirmWmsInOutStockRecord}
+          />
+          {/* 楂樼骇鏌ヨ */}
+          <WmsInOutStockRecordQueryDrawer
+            ref="wmsInOutStockRecordQueryDrawerRef"
+            v-model={dialogConfigForQuery.visible}
+            title={dialogConfigForQuery.title}
+            row={current.value}
+            sort={sort.value}
+            onConfirmQuery={handleQuery}
+            onRestQuery={resetQuery}
+            onClose={closeQuery}
+          />
+
+          <div class={styles.headerContent}>
+            <div class={styles.header}>
+              <IconButton
+                v-permission="wmsInOutStockRecord-add"
+                icon="add-p"
+                onClick={onAddWmsInOutStockRecord}
+                type="primary"
+              >
+                娣诲姞
+              </IconButton>
+              <el-divider direction="vertical" />
+
+              <el-divider direction="vertical" />
+              {/* <el-upload
+                v-permission="wmsInOutStockRecord-import"
+                name="file"
+                accept=".xlsx,.xls,.csv"
+                show-file-list={false}
+                onError={onError}
+                onSuccess={onSuccess}
+                before-upload={onBeforeUpload}
+                headers={headers.value}
+                action="/api/v1/HIAWms/wmsInOutStockRecord/import"
+              >
+                <IconButton icon="in">瀵煎叆</IconButton>
+              </el-upload> */}
+
+              <IconButton
+                v-permission="wmsInOutStockRecord-output"
+                icon="out"
+                onClick={handleExport}
+              >
+                瀵煎嚭
+              </IconButton>
+            </div>
+            <ElFormItem style={{ marginTop: '15px' }}>
+              <ElFormItem label="鍏抽敭瀛�">
+                <ElInput
+                  v-model={queryForm.value.searchVal}
+                  placeholder={searchFormInputAttrs_Placeholder.value}
+                  clearable
+                  class={styles.formItem}
+                />
+              </ElFormItem>
+              <IconButton
+                type="primary"
+                icon="search"
+                onClick={handleQueryForMain}
+              >
+                鏌ヨ
+              </IconButton>
               {/* <IconButton style="" icon="refresh" onClick={resetQuery}> 
                 閲嶇疆 
-              </IconButton> */} 
-              <IconButton 
-                v-permission="wmsInOutStockRecord-add" 
-                icon="search" 
-                onClick={onAdvancedQuery} 
-                type="primary" 
-              > 
-                楂樼骇鏌ヨ 
-              </IconButton> 
-            </ElFormItem> 
-          </div> 
- 
-          <RenderBaseTable 
-            url="/api/v1/HIAWms/wmsInOutStockRecord/page" 
-            dataSource={dataSource} 
-            isChecked={true} 
-            isDrag={true} 
-          /> 
-        </div> 
-      ) 
-    } 
-  }, 
-}) 
+              </IconButton> */}
+              <IconButton
+                v-permission="wmsInOutStockRecord-add"
+                icon="search"
+                onClick={onAdvancedQuery}
+                type="primary"
+              >
+                楂樼骇鏌ヨ
+              </IconButton>
+            </ElFormItem>
+          </div>
+
+          <RenderBaseTable
+            url="/api/v1/HIAWms/wmsInOutStockRecord/page"
+            dataSource={dataSource}
+            isChecked={true}
+            isDrag={true}
+          />
+        </div>
+      )
+    }
+  },
+})
diff --git a/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx b/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx
index 3a39278..0f6562d 100644
--- a/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx
+++ b/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx
@@ -1,412 +1,425 @@
-import { 
-  ref, 
-  onMounted, 
-  reactive, 
-  computed, 
-  Ref, 
-  watch, 
-  SetupContext, 
-  h, 
-} from 'vue' 
-import { injectModel } from '@/libs/Provider/Provider' 
-import { WmsTaskDrawer } from '../Models/WmsTaskDrawer' 
-import { ElMessage } from 'element-plus' 
-import isEqual from 'lodash/isEqual' 
-import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' 
-import { cloneDeep } from 'lodash' 
- 
-export const useWmsTaskDrawer = (props: any, ctx?: any) => { 
-  const wmsTaskDrawer = injectModel<WmsTaskDrawer>('wmsTaskDrawer') 
-  /** 
-   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁 
-   */ 
-  const initiateData: Ref<Record<string, any>> = ref({}) 
-  const formData = ref<Record<string, any>>({}) 
-  // ref 
-  const formRef = ref() 
- 
-  const disabled = ref(false) 
- 
-  const current = computed(() => { 
-    return props.row || null 
-  }) 
- 
-  const inputNumber = (attrs) => { 
-    return ( 
-      <el-input-number 
-        min="1" 
-        step="1" 
-        precision="0" 
-        {...attrs} 
-      ></el-input-number> 
-    ) 
-  } 
-    const datePicker = (attrs) => { 
-    return ( 
-      <el-date-picker 
-        type="datetime" 
-        format="YYYY-MM-DD" 
-        {...attrs} 
-      ></el-date-picker> 
-    ) 
-  } 
- 
-   const dateTimePicker = (attrs) => { 
-    return ( 
-      <el-date-picker 
-        type="datetime" 
-        format="YYYY-MM-DD HH:mm:ss" 
-        {...attrs} 
-      ></el-date-picker> 
-    ) 
-  } 
- 
-  const visible = computed({ 
-    get() { 
-      return props.modelValue 
-    }, 
-    set(val) { 
-      ctx.emit('update:modelValue', val) 
-    }, 
-  }) 
-  /** 
-   * 娣诲姞鐨刦orm瀛楁 
-   */ 
-  const formItems = reactive([ 
-                    { 
-                   label: '浠诲姟鍙�', 
-                   prop: 'taskNo', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヤ换鍔″彿', 
-              rules: [{required: true, message: '浠诲姟鍙蜂笉鑳戒负绌�', trigger: 'blur' }], 
-                }, 
-                { 
-                   label: '浠诲姟绫诲瀷', 
-                   prop: 'taskType', 
-                   el: 'select', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヤ换鍔$被鍨�', 
-              rules: [{required: true, message: '浠诲姟绫诲瀷涓嶈兘涓虹┖', trigger: 'blur' }], 
-                }, 
-                { 
-                   label: '浠诲姟绛夌骇', 
-                   prop: 'taskLevel', 
-                   el: (props: any, { attrs }: SetupContext) => { 
-                     return h(inputNumber, {  
-                       ...props,  
-                       clearable: true, 
-                       ...attrs,  
-                     })  
-                   },
-                   width: '100%',
-                   step: 1,
-                   precision: 0, 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヤ换鍔$瓑绾�', 
-              rules: [{required: true, message: '浠诲姟绛夌骇涓嶈兘涓虹┖', trigger: 'blur' }], 
-                }, 
-                { 
-                   label: '浠诲姟鐘舵��', 
-                   prop: 'taskStatus', 
-                   el: 'select', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヤ换鍔$姸鎬�', 
-              rules: [{required: true, message: '浠诲姟鐘舵�佷笉鑳戒负绌�', trigger: 'blur' }], 
-                }, 
-                { 
-                   label: '鎵樼洏缂栧彿', 
-                   prop: 'containerNo', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ユ墭鐩樼紪鍙�', 
-                }, 
-                { 
-                   label: '璧峰搴撲綅', 
-                   prop: 'sourcePlace', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヨ捣濮嬪簱浣�', 
-                }, 
-                { 
-                   label: '鐩爣搴撲綅', 
-                   prop: 'toPlace', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ョ洰鏍囧簱浣�', 
-                }, 
-                { 
-                   label: '宸烽亾', 
-                   prop: 'aisle', 
-                   el: (props: any, { attrs }: SetupContext) => { 
-                     return h(inputNumber, {  
-                       ...props,  
-                       clearable: true, 
-                       ...attrs,  
-                     })  
-                   },
-                   width: '100%',
-                   step: 1,
-                   precision: 0, 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ贩閬�', 
-                }, 
-                { 
-                   label: '鍫嗗灈鏈篒D', 
-                   prop: 'dodeviceId', 
-                   el: (props: any, { attrs }: SetupContext) => { 
-                     return h(inputNumber, {  
-                       ...props,  
-                       clearable: true, 
-                       ...attrs,  
-                     })  
-                   },
-                   width: '100%',
-                   step: 1,
-                   precision: 0, 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ爢鍨涙満ID', 
-                }, 
-                { 
-                   label: '璁惧绫诲瀷', 
-                   prop: 'dodevicetype', 
-                   el: (props: any, { attrs }: SetupContext) => { 
-                     return h(inputNumber, {  
-                       ...props,  
-                       clearable: true, 
-                       ...attrs,  
-                     })  
-                   },
-                   width: '100%',
-                   step: 1,
-                   precision: 0, 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヨ澶囩被鍨�', 
-              rules: [{required: true, message: '璁惧绫诲瀷涓嶈兘涓虹┖', trigger: 'blur' }], 
-                }, 
-                { 
-                   label: '璁惧浠诲姟鐘舵��', 
-                   prop: 'taskDodeviceStatus', 
-                   el: (props: any, { attrs }: SetupContext) => { 
-                     return h(inputNumber, {  
-                       ...props,  
-                       clearable: true, 
-                       ...attrs,  
-                     })  
-                   },
-                   width: '100%',
-                   step: 1,
-                   precision: 0, 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヨ澶囦换鍔$姸鎬�', 
-              rules: [{required: true, message: '璁惧浠诲姟鐘舵�佷笉鑳戒负绌�', trigger: 'blur' }], 
-                }, 
-                { 
-                   label: 'WCS鏄惁鍙互璇诲彇', 
-                   prop: 'isRead', 
-                   el: 'select', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏CS鏄惁鍙互璇诲彇', 
-              rules: [{required: true, message: 'WCS鏄惁鍙互璇诲彇涓嶈兘涓虹┖', trigger: 'blur' }], 
-                 options: [{label: '鏄�',value: 'true'}, {label: '鍚�',value: 'false'}] 
-                }, 
-                { 
-                   label: '瀛愪换鍔$被鍨�', 
-                   prop: 'sonTaskType', 
-                   el: 'select', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ瓙浠诲姟绫诲瀷', 
-                }, 
-                { 
-                   label: '鏉ユ簮鍗曟嵁鍙�', 
-                   prop: 'sourceOrderNo', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ユ潵婧愬崟鎹彿', 
-                }, 
-                { 
-                   label: '涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛', 
-                   prop: 'isNextTask', 
-                   el: (props: any, { attrs }: SetupContext) => { 
-                     return h(inputNumber, {  
-                       ...props,  
-                       clearable: true, 
-                       ...attrs,  
-                     })  
-                   },
-                   width: '100%',
-                   step: 1,
-                   precision: 0, 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヤ笅涓换鍔℃槸鍚︾敓鎴愭垚鍔�', 
-                }, 
-                { 
-                   label: '鍙彉鍙橀噺1', 
-                   prop: 'mutableParam1', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ彲鍙樺彉閲�1', 
-                }, 
-                { 
-                   label: '鍙彉鍙橀噺2', 
-                   prop: 'mutableParam2', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ彲鍙樺彉閲�2', 
-                }, 
-                { 
-                   label: '鍙彉鍙橀噺3', 
-                   prop: 'mutableParam3', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ彲鍙樺彉閲�3', 
-                },  
-  ]) 
-  /** 
-   * 鏍¢獙鏄惁鏈夋暟鎹彉鍖� 
-   */ 
-  const checkIsEqualObject = () => { 
-    const data = { 
-      formData: formData.value, 
-    } 
-    const check = isEqual(initiateData.value, data) 
-    return check 
-  } 
- 
-  const onClose = (done: () => void) => { 
-    if (visible.value) { 
-      if (checkIsEqualObject()) { 
-        visible.value = false 
-        done && done() 
-      } else { 
-        ConfirmBox('鏄惁淇濆瓨璁剧疆锛�') 
-          .then(() => { 
-            onConfirm() 
-          }) 
-          .catch(() => { 
-            visible.value = false 
-            done && done() 
-          }) 
-      } 
-    } 
-  } 
-  /** 
-   * 淇濆瓨 
-   */ 
-  const onConfirm = async () => { 
-    await formRef.value?.validate() 
-    const data = { 
-      taskNo: formData.value.taskNo, 
-taskType: formData.value.taskType, 
-taskLevel: formData.value.taskLevel, 
-taskStatus: formData.value.taskStatus, 
-containerNo: formData.value.containerNo, 
-sourcePlace: formData.value.sourcePlace, 
-toPlace: formData.value.toPlace, 
-aisle: formData.value.aisle, 
-dodeviceId: formData.value.dodeviceId, 
-dodevicetype: formData.value.dodevicetype, 
-taskDodeviceStatus: formData.value.taskDodeviceStatus, 
-isRead: formData.value.isRead, 
-sonTaskType: formData.value.sonTaskType, 
-sourceOrderNo: formData.value.sourceOrderNo, 
-isNextTask: formData.value.isNextTask, 
-mutableParam1: formData.value.mutableParam1, 
-mutableParam2: formData.value.mutableParam2, 
-mutableParam3: formData.value.mutableParam3,  
-    } 
-    if (!current.value) { 
-      await wmsTaskDrawer.addWmsTask(data) 
-    } else { 
-      const id = current.value.id 
-      await wmsTaskDrawer.updateWmsTask(id, data) 
-    } 
-    ElMessage.success('淇濆瓨鎴愬姛') 
-    ctx.emit('confirm') 
-  } 
- 
-  const updateCheckData = () => { 
-    initiateData.value = { 
-      formData: { 
-        ...formData.value, 
-      }, 
-    } 
-  } 
-  const updateFormItemOptions = (propName: string, enumData: any[]) => { 
-    const item = formItems.find((item) => item.prop === propName) 
-    if (item && enumData) { 
-      item.options = enumData.map((item) => ({ 
-        label: item.description, 
-        value: item.value, 
-      })) 
-    } 
-  } 
-  /** 
-   * 閫氱敤鏌ヨ鏋氫妇 
-   */ 
-  const commonQueryEnumForFrom = async () => { 
-    const taskTypeEnumEnum = await wmsTaskDrawer.getWmsEnumData({ 
- EnumName: 'TaskTypeEnum', 
-}) 
-updateFormItemOptions('taskType', taskTypeEnumEnum) 
-const wmsTaskStatusEnum = await wmsTaskDrawer.getWmsEnumData({ 
- EnumName: 'WmsTaskStatus', 
-}) 
-updateFormItemOptions('taskStatus', wmsTaskStatusEnum) 
-const sonTaskTypeEnumEnum = await wmsTaskDrawer.getWmsEnumData({ 
- EnumName: 'SonTaskTypeEnum', 
-}) 
-updateFormItemOptions('sonTaskType', sonTaskTypeEnumEnum) 
- 
-  } 
-  commonQueryEnumForFrom() 
-  /** 
-   * 寮圭獥鎵撳紑鑾峰彇璇︽儏 
-   */ 
-  const onOpen = async () => { 
-    if (current.value) { 
-      const res = await wmsTaskDrawer.getWmsTaskDetail(current.value) 
- 
-      formData.value = { 
-        taskNo: res.taskNo, 
-taskType: res.taskType, 
-taskLevel: res.taskLevel, 
-taskStatus: res.taskStatus, 
-containerNo: res.containerNo, 
-sourcePlace: res.sourcePlace, 
-toPlace: res.toPlace, 
-aisle: res.aisle, 
-dodeviceId: res.dodeviceId, 
-dodevicetype: res.dodevicetype, 
-taskDodeviceStatus: res.taskDodeviceStatus, 
-isRead: res.isRead, 
-sonTaskType: res.sonTaskType, 
-sourceOrderNo: res.sourceOrderNo, 
-isNextTask: res.isNextTask, 
-mutableParam1: res.mutableParam1, 
-mutableParam2: res.mutableParam2, 
-mutableParam3: res.mutableParam3,  
-        id: res.id, 
-      } 
-      disabled.value = true 
-      updateCheckData() 
-    } else { 
-      formData.value = {} 
- 
-      disabled.value = false 
-      updateCheckData() 
-    } 
-  } 
- 
-  watch(() => current.value, onOpen) 
- 
-  return { 
-    formItems, 
-    formData, 
-    visible, 
-    formRef, 
-    onOpen, 
-    onClose, 
-    onConfirm, 
-  } 
-} 
+import {
+  ref,
+  onMounted,
+  reactive,
+  computed,
+  Ref,
+  watch,
+  SetupContext,
+  h,
+} from 'vue'
+import { injectModel } from '@/libs/Provider/Provider'
+import { WmsTaskDrawer } from '../Models/WmsTaskDrawer'
+import { ElMessage } from 'element-plus'
+import isEqual from 'lodash/isEqual'
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
+import { cloneDeep } from 'lodash'
+
+export const useWmsTaskDrawer = (props: any, ctx?: any) => {
+  const wmsTaskDrawer = injectModel<WmsTaskDrawer>('wmsTaskDrawer')
+  /**
+   * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁
+   */
+  const initiateData: Ref<Record<string, any>> = ref({})
+  const formData = ref<Record<string, any>>({})
+  // ref
+  const formRef = ref()
+
+  const disabled = ref(false)
+
+  const current = computed(() => {
+    return props.row || null
+  })
+
+  const inputNumber = (attrs) => {
+    return (
+      <el-input-number
+        min="1"
+        step="1"
+        precision="0"
+        {...attrs}
+      ></el-input-number>
+    )
+  }
+  const datePicker = (attrs) => {
+    return (
+      <el-date-picker
+        type="datetime"
+        format="YYYY-MM-DD"
+        {...attrs}
+      ></el-date-picker>
+    )
+  }
+
+  const dateTimePicker = (attrs) => {
+    return (
+      <el-date-picker
+        type="datetime"
+        format="YYYY-MM-DD HH:mm:ss"
+        {...attrs}
+      ></el-date-picker>
+    )
+  }
+
+  const visible = computed({
+    get() {
+      return props.modelValue
+    },
+    set(val) {
+      ctx.emit('update:modelValue', val)
+    },
+  })
+  /**
+   * 娣诲姞鐨刦orm瀛楁
+   */
+  const formItems = reactive([
+    {
+      label: '浠诲姟鍙�',
+      prop: 'taskNo',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ换鍔″彿',
+      rules: [{ required: true, message: '浠诲姟鍙蜂笉鑳戒负绌�', trigger: 'blur' }],
+    },
+    {
+      label: '浠诲姟绫诲瀷',
+      prop: 'taskType',
+      el: 'select',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ换鍔$被鍨�',
+      rules: [{ required: true, message: '浠诲姟绫诲瀷涓嶈兘涓虹┖', trigger: 'blur' }],
+    },
+    {
+      label: '瀛愪换鍔$被鍨�',
+      prop: 'sonTaskType',
+      el: 'select',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ瓙浠诲姟绫诲瀷',
+    },
+    {
+      label: '浠诲姟绛夌骇',
+      prop: 'taskLevel',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      step: 1,
+      precision: 0,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ换鍔$瓑绾�',
+      rules: [{ required: true, message: '浠诲姟绛夌骇涓嶈兘涓虹┖', trigger: 'blur' }],
+    },
+    {
+      label: '浠诲姟鐘舵��',
+      prop: 'taskStatus',
+      el: 'select',
+      options: [],
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ换鍔$姸鎬�',
+      rules: [{ required: true, message: '浠诲姟鐘舵�佷笉鑳戒负绌�', trigger: 'blur' }],
+    },
+    {
+      label: '鎵樼洏缂栧彿',
+      prop: 'containerNo',
+      el: 'input',
+      rules: [{ required: true, message: '鎵樼洏缂栧彿涓嶈兘涓虹┖', trigger: 'blur' }],
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ墭鐩樼紪鍙�',
+    },
+    {
+      label: '璧峰搴撲綅',
+      prop: 'sourcePlace',
+      el: 'input',
+      //disabled: disabled,
+      rules: [{ required: true, message: '璧峰搴撲綅涓嶈兘涓虹┖', trigger: 'blur' }],
+      placeholder: '璇疯緭鍏ヨ捣濮嬪簱浣�',
+    },
+    {
+      label: '鐩爣搴撲綅',
+      prop: 'toPlace',
+      el: 'input',
+      //disabled: disabled,
+      rules: [{ required: true, message: '鐩爣搴撲綅涓嶈兘涓虹┖', trigger: 'blur' }],
+      placeholder: '璇疯緭鍏ョ洰鏍囧簱浣�',
+    },
+    {
+      label: '宸烽亾',
+      prop: 'aisle',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      step: 1,
+      precision: 0,
+      rules: [{ required: true, message: '宸烽亾涓嶈兘涓虹┖', trigger: 'blur' }],
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ贩閬�',
+    },
+    {
+      label: '鍫嗗灈鏈篒D',
+      prop: 'dodeviceId',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      step: 1,
+      precision: 0,
+      rules: [{ required: true, message: '鍫嗗灈鏈篒D涓嶈兘涓虹┖', trigger: 'blur' }],
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ爢鍨涙満ID',
+    },
+    {
+      label: '璁惧绫诲瀷',
+      prop: 'dodevicetype',
+      el: 'select',
+      options: [],
+      width: '100%',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヨ澶囩被鍨�',
+      rules: [{ required: true, message: '璁惧绫诲瀷涓嶈兘涓虹┖', trigger: 'blur' }],
+    },
+    {
+      label: '璁惧浠诲姟鐘舵��',
+      prop: 'taskDodeviceStatus',
+      el: 'select',
+      options: [],
+      width: '100%',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヨ澶囦换鍔$姸鎬�',
+      rules: [
+        { required: true, message: '璁惧浠诲姟鐘舵�佷笉鑳戒负绌�', trigger: 'blur' },
+      ],
+    },
+    {
+      label: 'WCS鏄惁鍙互璇诲彇',
+      prop: 'isRead',
+      el: 'select',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏CS鏄惁鍙互璇诲彇',
+      rules: [
+        { required: true, message: 'WCS鏄惁鍙互璇诲彇涓嶈兘涓虹┖', trigger: 'blur' },
+      ],
+      options: [
+        { label: '鏄�', value: true },
+        { label: '鍚�', value: false },
+      ],
+    },
+    {
+      label: '鏉ユ簮鍗曟嵁鍙�',
+      prop: 'sourceOrderNo',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ユ潵婧愬崟鎹彿',
+    },
+    {
+      label: '涓嬩釜浠诲姟鏄惁鐢熸垚',
+      prop: 'isNextTask',
+      el: (props: any, { attrs }: SetupContext) => {
+        return h(inputNumber, {
+          ...props,
+          clearable: true,
+          ...attrs,
+        })
+      },
+      width: '100%',
+      step: 1,
+      precision: 0,
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ヤ笅涓换鍔℃槸鍚︾敓鎴愭垚鍔�',
+    },
+    {
+      label: '鍙彉鍙橀噺1',
+      prop: 'mutableParam1',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ彲鍙樺彉閲�1',
+    },
+    {
+      label: '鍙彉鍙橀噺2',
+      prop: 'mutableParam2',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ彲鍙樺彉閲�2',
+    },
+    {
+      label: '鍙彉鍙橀噺3',
+      prop: 'mutableParam3',
+      el: 'input',
+      //disabled: disabled,
+      placeholder: '璇疯緭鍏ュ彲鍙樺彉閲�3',
+    },
+  ])
+  /**
+   * 鏍¢獙鏄惁鏈夋暟鎹彉鍖�
+   */
+  const checkIsEqualObject = () => {
+    const data = {
+      formData: formData.value,
+    }
+    const check = isEqual(initiateData.value, data)
+    return check
+  }
+
+  const onClose = (done: () => void) => {
+    if (visible.value) {
+      if (checkIsEqualObject()) {
+        visible.value = false
+        done && done()
+      } else {
+        ConfirmBox('鏄惁淇濆瓨璁剧疆锛�')
+          .then(() => {
+            onConfirm()
+          })
+          .catch(() => {
+            visible.value = false
+            done && done()
+          })
+      }
+    }
+  }
+  /**
+   * 淇濆瓨
+   */
+  const onConfirm = async () => {
+    await formRef.value?.validate()
+    const data = {
+      taskNo: formData.value.taskNo,
+      taskType: formData.value.taskType,
+      taskLevel: formData.value.taskLevel,
+      taskStatus: formData.value.taskStatus,
+      containerNo: formData.value.containerNo,
+      sourcePlace: formData.value.sourcePlace,
+      toPlace: formData.value.toPlace,
+      aisle: formData.value.aisle,
+      dodeviceId: formData.value.dodeviceId,
+      dodevicetype: formData.value.dodevicetype,
+      taskDodeviceStatus: formData.value.taskDodeviceStatus,
+      isRead: formData.value.isRead,
+      sonTaskType: formData.value.sonTaskType,
+      sourceOrderNo: formData.value.sourceOrderNo,
+      isNextTask: formData.value.isNextTask,
+      mutableParam1: formData.value.mutableParam1,
+      mutableParam2: formData.value.mutableParam2,
+      mutableParam3: formData.value.mutableParam3,
+    }
+    if (!current.value) {
+      await wmsTaskDrawer.addWmsTask(data)
+    } else {
+      const id = current.value.id
+      await wmsTaskDrawer.updateWmsTask(id, data)
+    }
+    ElMessage.success('淇濆瓨鎴愬姛')
+    ctx.emit('confirm')
+  }
+
+  const updateCheckData = () => {
+    initiateData.value = {
+      formData: {
+        ...formData.value,
+      },
+    }
+  }
+  const updateFormItemOptions = (propName: string, enumData: any[]) => {
+    const item = formItems.find((item) => item.prop === propName)
+    if (item && enumData) {
+      item.options = enumData.map((item) => ({
+        label: item.description,
+        value: item.value,
+      }))
+    }
+  }
+  /**
+   * 閫氱敤鏌ヨ鏋氫妇
+   */
+  const commonQueryEnumForFrom = async () => {
+    const taskTypeEnumEnum = await wmsTaskDrawer.getWmsEnumData({
+      EnumName: 'TaskTypeEnum',
+    })
+    updateFormItemOptions('taskType', taskTypeEnumEnum)
+    const wmsTaskStatusEnum = await wmsTaskDrawer.getWmsEnumData({
+      EnumName: 'WmsTaskStatus',
+    })
+    updateFormItemOptions('taskStatus', wmsTaskStatusEnum)
+    const sonTaskTypeEnumEnum = await wmsTaskDrawer.getWmsEnumData({
+      EnumName: 'SonTaskTypeEnum',
+    })
+    updateFormItemOptions('sonTaskType', sonTaskTypeEnumEnum)
+
+    const dodevicetypeEnum = await wmsTaskDrawer.getWmsEnumData({
+      EnumName: 'DodevicetypeEnum',
+    })
+    updateFormItemOptions('dodevicetype', dodevicetypeEnum)
+
+    const taskDodeviceStatus = await wmsTaskDrawer.getWmsEnumData({
+      EnumName: 'TaskDodeviceStatus',
+    })
+    updateFormItemOptions('taskDodeviceStatus', taskDodeviceStatus)
+  }
+  commonQueryEnumForFrom()
+  /**
+   * 寮圭獥鎵撳紑鑾峰彇璇︽儏
+   */
+  const onOpen = async () => {
+    if (current.value) {
+      const res = await wmsTaskDrawer.getWmsTaskDetail(current.value)
+
+      formData.value = {
+        taskNo: res.taskNo,
+        taskType: res.taskType,
+        taskLevel: res.taskLevel,
+        taskStatus: res.taskStatus,
+        containerNo: res.containerNo,
+        sourcePlace: res.sourcePlace,
+        toPlace: res.toPlace,
+        aisle: res.aisle,
+        dodeviceId: res.dodeviceId,
+        dodevicetype: res.dodevicetype,
+        taskDodeviceStatus: res.taskDodeviceStatus,
+        isRead: res.isRead,
+        sonTaskType: res.sonTaskType,
+        sourceOrderNo: res.sourceOrderNo,
+        isNextTask: res.isNextTask,
+        mutableParam1: res.mutableParam1,
+        mutableParam2: res.mutableParam2,
+        mutableParam3: res.mutableParam3,
+        id: res.id,
+      }
+      disabled.value = true
+      updateCheckData()
+    } else {
+      formData.value = {
+        taskDodeviceStatus: 1,
+        isRead: true,
+        isNextTask: 1,
+        taskStatus: 1,
+      }
+
+      disabled.value = false
+      updateCheckData()
+    }
+  }
+
+  watch(() => current.value, onOpen)
+
+  return {
+    formItems,
+    formData,
+    visible,
+    formRef,
+    onOpen,
+    onClose,
+    onConfirm,
+  }
+}
diff --git a/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskQueryDrawer.tsx b/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskQueryDrawer.tsx
index d9ee420..f4ed707 100644
--- a/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskQueryDrawer.tsx
+++ b/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskQueryDrawer.tsx
@@ -239,7 +239,7 @@
       step: 1,
       precision: 0,
       //disabled: disabled,
-      placeholder: '璇疯緭鍏ヤ笅涓换鍔℃槸鍚︾敓鎴愭垚鍔�',
+      placeholder: '璇疯緭鍏ヤ笅涓换鍔℃槸鍚︾敓鎴�',
     },
     {
       label: '鍙彉鍙橀噺1',
diff --git a/HIAWms/web/src/widgets/WmsTask/Views/Pages/Dialog/WmsTaskDrawer/WmsTaskDrawer.tsx b/HIAWms/web/src/widgets/WmsTask/Views/Pages/Dialog/WmsTaskDrawer/WmsTaskDrawer.tsx
index 6c5e937..e841f76 100644
--- a/HIAWms/web/src/widgets/WmsTask/Views/Pages/Dialog/WmsTaskDrawer/WmsTaskDrawer.tsx
+++ b/HIAWms/web/src/widgets/WmsTask/Views/Pages/Dialog/WmsTaskDrawer/WmsTaskDrawer.tsx
@@ -1,61 +1,61 @@
-import { SetupContext, defineComponent } from 'vue' 
-import BaseDrawer from '@/components/BaseDrawer/BaseDrawer' 
-import styles from './WmsTaskDrawer.module.scss' 
-import { useWmsTaskDrawer } from '../../../../Controllers/WmsTaskDrawer.tsx' 
-import DyForm from '@/components/DyForm/DyForm' 
- 
-// @ts-ignore 
-export default defineComponent<{ 
-  [key: string]: any 
-}>({ 
-  name: '寮圭獥', 
-  props: { 
-    modelValue: { 
-      type: Boolean, 
-      default: false, 
-    }, 
-    title: { 
-      type: String, 
-      default: '', 
-    }, 
-    row: { 
-      type: Object, 
-    }, 
-    sort: { 
-      type: Number, 
-      default: 0, 
-    }, 
-  }, 
-  emits: ['update:modelValue', 'close', 'submit', 'confirm'], 
-  setup(props: Record<string, any>, ctx: SetupContext) { 
-    const { 
-      onClose, 
-      onConfirm, 
-      onOpen, 
-      formRef, 
-      visible, 
-      formItems, 
-      formData, 
-    } = useWmsTaskDrawer(props, ctx) 
-    return () => ( 
-      <BaseDrawer 
-        class={styles.drawer} 
-        size="800px" 
-        title={props.title || '娣诲姞'} 
-        v-model={visible.value} 
-        close-on-click-modal={true} 
-        onConfirm={onConfirm} 
-        onOpen={onOpen} 
-        before-close={onClose} 
-        onClose={onClose} 
-      > 
-        <DyForm 
-          ref={formRef} 
-          formData={formData.value} 
-          labelWidth="106px" 
-          formItemProps={formItems} 
-        ></DyForm> 
-      </BaseDrawer> 
-    ) 
-  }, 
-}) 
+import { SetupContext, defineComponent } from 'vue'
+import BaseDrawer from '@/components/BaseDrawer/BaseDrawer'
+import styles from './WmsTaskDrawer.module.scss'
+import { useWmsTaskDrawer } from '../../../../Controllers/WmsTaskDrawer.tsx'
+import DyForm from '@/components/DyForm/DyForm'
+
+// @ts-ignore
+export default defineComponent<{
+  [key: string]: any
+}>({
+  name: '寮圭獥',
+  props: {
+    modelValue: {
+      type: Boolean,
+      default: false,
+    },
+    title: {
+      type: String,
+      default: '',
+    },
+    row: {
+      type: Object,
+    },
+    sort: {
+      type: Number,
+      default: 0,
+    },
+  },
+  emits: ['update:modelValue', 'close', 'submit', 'confirm'],
+  setup(props: Record<string, any>, ctx: SetupContext) {
+    const {
+      onClose,
+      onConfirm,
+      onOpen,
+      formRef,
+      visible,
+      formItems,
+      formData,
+    } = useWmsTaskDrawer(props, ctx)
+    return () => (
+      <BaseDrawer
+        class={styles.drawer}
+        size="800px"
+        title={props.title || '娣诲姞'}
+        v-model={visible.value}
+        close-on-click-modal={true}
+        onConfirm={onConfirm}
+        onOpen={onOpen}
+        before-close={onClose}
+        onClose={onClose}
+      >
+        <DyForm
+          ref={formRef}
+          formData={formData.value}
+          labelWidth="150px"
+          formItemProps={formItems}
+        ></DyForm>
+      </BaseDrawer>
+    )
+  },
+})
diff --git a/HIAWms/web/src/widgets/WmsTask/Views/Pages/Dialog/WmsTaskQueryDrawer/WmsTaskQueryDrawer.tsx b/HIAWms/web/src/widgets/WmsTask/Views/Pages/Dialog/WmsTaskQueryDrawer/WmsTaskQueryDrawer.tsx
index 418bd82..c297537 100644
--- a/HIAWms/web/src/widgets/WmsTask/Views/Pages/Dialog/WmsTaskQueryDrawer/WmsTaskQueryDrawer.tsx
+++ b/HIAWms/web/src/widgets/WmsTask/Views/Pages/Dialog/WmsTaskQueryDrawer/WmsTaskQueryDrawer.tsx
@@ -1,71 +1,71 @@
-/* 
- * 鐗╂枡鍩虹淇℃伅鏌ヨ寮瑰嚭妗� 
-*/ 
-import { SetupContext, defineComponent } from 'vue' 
-import BaseQueryDrawer from '@/components/BaseQueryDrawer/BaseQueryDrawer' 
-import styles from './WmsTaskQueryDrawer.module.scss' 
-import { useWmsTaskQueryDrawer } from '../../../../Controllers/WmsTaskQueryDrawer.tsx' 
-import DyForm from '@/components/DyForm/DyForm' 
- 
-// @ts-ignore 
-export default defineComponent<{ 
-  [key: string]: any 
-}>({ 
-  name: '寮圭獥', 
-  props: { 
-    //鏋氫妇绫诲瀷瀛楀吀 
-    enumListDict:{ 
-      type: Array as () => Array<{ key: string; value: object }>, // 瀹氫箟鏁扮粍鍏冪礌绫诲瀷 
-      default: () => [] // 榛樿鍊� 
-    }, 
-    modelValue: { 
-      type: Boolean, 
-      default: false, 
-    }, 
-    title: { 
-      type: String, 
-      default: '', 
-    }, 
-    row: { 
-      type: Object, 
-    }, 
-    sort: { 
-      type: Number, 
-      default: 0, 
-    }, 
-  }, 
-  emits: ['update:modelValue', 'close', 'submit', 'confirmquery1'], 
-  setup(props: Record<string, any>, ctx: SetupContext) { 
-    const { 
-      onClose, 
-      onConfirmQuery, 
-      onOpen, 
-      onReset, 
-      formRef, 
-      visible, 
-      formItems, 
-      formData, 
-    } = useWmsTaskQueryDrawer(props, ctx) 
-    return () => ( 
-      <BaseQueryDrawer 
-        class={styles.drawer} 
-        size="800px" 
-        title={props.title || '楂樼骇鏌ヨ'} 
-        v-model={visible.value} 
-        close-on-click-modal={true} 
-        onReset={onReset} 
-        onConfirmQueryForBase={onConfirmQuery} 
-        onOpen={onOpen} 
-        before-close={onClose} 
-        onClose={onClose} 
-      > 
-        <DyForm 
-          ref={formRef} 
-          formData={formData.value} 
-          labelWidth="106px" 
-          formItemProps={formItems} 
-        ></DyForm> 
-      </BaseQueryDrawer> 
-    ) 
-  }, 
-}) 
+/*
+ * 鐗╂枡鍩虹淇℃伅鏌ヨ寮瑰嚭妗�
+ */
+import { SetupContext, defineComponent } from 'vue'
+import BaseQueryDrawer from '@/components/BaseQueryDrawer/BaseQueryDrawer'
+import styles from './WmsTaskQueryDrawer.module.scss'
+import { useWmsTaskQueryDrawer } from '../../../../Controllers/WmsTaskQueryDrawer.tsx'
+import DyForm from '@/components/DyForm/DyForm'
+
+// @ts-ignore
+export default defineComponent<{
+  [key: string]: any
+}>({
+  name: '寮圭獥',
+  props: {
+    //鏋氫妇绫诲瀷瀛楀吀
+    enumListDict: {
+      type: Array as () => Array<{ key: string; value: object }>, // 瀹氫箟鏁扮粍鍏冪礌绫诲瀷
+      default: () => [], // 榛樿鍊�
+    },
+    modelValue: {
+      type: Boolean,
+      default: false,
+    },
+    title: {
+      type: String,
+      default: '',
+    },
+    row: {
+      type: Object,
+    },
+    sort: {
+      type: Number,
+      default: 0,
+    },
+  },
+  emits: ['update:modelValue', 'close', 'submit', 'confirmquery1'],
+  setup(props: Record<string, any>, ctx: SetupContext) {
+    const {
+      onClose,
+      onConfirmQuery,
+      onOpen,
+      onReset,
+      formRef,
+      visible,
+      formItems,
+      formData,
+    } = useWmsTaskQueryDrawer(props, ctx)
+    return () => (
+      <BaseQueryDrawer
+        class={styles.drawer}
+        size="800px"
+        title={props.title || '楂樼骇鏌ヨ'}
+        v-model={visible.value}
+        close-on-click-modal={true}
+        onReset={onReset}
+        onConfirmQueryForBase={onConfirmQuery}
+        onOpen={onOpen}
+        before-close={onClose}
+        onClose={onClose}
+      >
+        <DyForm
+          ref={formRef}
+          formData={formData.value}
+          labelWidth="150px"
+          formItemProps={formItems}
+        ></DyForm>
+      </BaseQueryDrawer>
+    )
+  },
+})
diff --git a/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/Config.ts b/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/Config.ts
index 022db3d..1022664 100644
--- a/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/Config.ts
+++ b/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/Config.ts
@@ -13,6 +13,10 @@
     title: '浠诲姟绫诲瀷',
   },
   {
+    field: 'sonTaskTypeDesc',
+    title: '瀛愪换鍔$被鍨�',
+  },
+  {
     field: 'taskStatusDesc',
     title: '浠诲姟鐘舵��',
   },
@@ -37,20 +41,16 @@
   //   title: '鍫嗗灈鏈篒D',
   // },
   {
-    field: 'dodevicetype',
+    field: 'dodevicetypeDesc',
     title: '璁惧绫诲瀷',
   },
   {
-    field: 'taskDodeviceStatus',
+    field: 'taskDodeviceStatusDesc',
     title: '璁惧鐘舵��',
   },
   {
     field: 'isRead',
     title: 'WCS鍙鍙�',
-  },
-  {
-    field: 'sonTaskTypeDesc',
-    title: '瀛愪换鍔$被鍨�',
   },
   {
     field: 'sourceOrderNo',
@@ -83,5 +83,6 @@
   {
     field: 'creationTime',
     title: '鍒涘缓鏃堕棿',
+    width: 180,
   },
 ]
diff --git a/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx b/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx
index 25db6be..9dab1a4 100644
--- a/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx
+++ b/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx
@@ -278,7 +278,7 @@
               <el-divider direction="vertical" />
 
               <el-divider direction="vertical" />
-              <el-upload
+              {/* <el-upload
                 v-permission="wmsTask-import"
                 name="file"
                 accept=".xlsx,.xls,.csv"
@@ -290,15 +290,15 @@
                 action="/api/v1/HIAWms/wmsTask/import"
               >
                 <IconButton icon="in">瀵煎叆</IconButton>
-              </el-upload>
+              </el-upload> */}
 
-              <IconButton
+              {/* <IconButton
                 v-permission="wmsTask-output"
                 icon="out"
                 onClick={handleExport}
               >
                 瀵煎嚭
-              </IconButton>
+              </IconButton> */}
             </div>
             <ElFormItem style={{ marginTop: '15px' }}>
               <ElFormItem label="鍏抽敭瀛�">

--
Gitblit v1.9.3