From 002a5c73e1c81000e9c128ec7803888decac62b9 Mon Sep 17 00:00:00 2001
From: hutongqing <hutongqing@hnkhzn.com>
Date: 星期四, 19 十二月 2024 09:42:19 +0800
Subject: [PATCH] 添加注释

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs                                     |    4 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task_Hty.cs                                      |  159 +---------------------
 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/b54b1d7f-8484-400a-be3b-be358bd12331.vsidx |    0 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Record/Dt_LocationStatusChangeRecord.cs                      |    2 
 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/865277cf-60e5-4f38-8da0-b4a4cb7af367.vsidx |    0 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_LocationInfo.cs                                     |    2 
 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d00682bf-4fae-4c92-b69f-33edfead3a59.vsidx |    0 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundLockInfo.cs                              |    2 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs                                            |   67 +++++++++
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs                          |   34 ++++
 /dev/null                                                                                                    |    0 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs                                   |    4 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfo.cs                                        |    2 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfo_Hty.cs                                    |    2 
 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/242b356b-f3ea-4921-9f54-18dbf58b0a98.vsidx |    0 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/AOP/SqlSugarAop.cs                                                   |   46 +-----
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/DB/Models/IBaseHistoryEntity.cs                                      |   37 +++++
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs                                          |   10 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs                                          |   22 +++
 19 files changed, 191 insertions(+), 202 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/30faa678-93fd-4e91-b1d8-13e2bcae7dba.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/865277cf-60e5-4f38-8da0-b4a4cb7af367.vsidx"
similarity index 73%
rename from "\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/30faa678-93fd-4e91-b1d8-13e2bcae7dba.vsidx"
rename to "\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/865277cf-60e5-4f38-8da0-b4a4cb7af367.vsidx"
index beee39c..7a578f6 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/30faa678-93fd-4e91-b1d8-13e2bcae7dba.vsidx"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/865277cf-60e5-4f38-8da0-b4a4cb7af367.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/012f25e8-74cc-4271-80f7-3993d746a5bd.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/012f25e8-74cc-4271-80f7-3993d746a5bd.vsidx"
deleted file mode 100644
index 8b27e08..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/012f25e8-74cc-4271-80f7-3993d746a5bd.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/242b356b-f3ea-4921-9f54-18dbf58b0a98.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/242b356b-f3ea-4921-9f54-18dbf58b0a98.vsidx"
new file mode 100644
index 0000000..2fb15ca
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/242b356b-f3ea-4921-9f54-18dbf58b0a98.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/2877cb87-c685-49b7-a63b-30bdbb709bbd.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/2877cb87-c685-49b7-a63b-30bdbb709bbd.vsidx"
deleted file mode 100644
index ea81175..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/2877cb87-c685-49b7-a63b-30bdbb709bbd.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/2f4187bd-8911-48bb-9104-01eaf1e80abd.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/2f4187bd-8911-48bb-9104-01eaf1e80abd.vsidx"
deleted file mode 100644
index aed892f..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/2f4187bd-8911-48bb-9104-01eaf1e80abd.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/43c5884a-259b-409f-9f97-bec930af24db.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/43c5884a-259b-409f-9f97-bec930af24db.vsidx"
deleted file mode 100644
index 22edc39..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/43c5884a-259b-409f-9f97-bec930af24db.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/4ad14622-4b05-4fc3-abc0-0f0df9191418.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/4ad14622-4b05-4fc3-abc0-0f0df9191418.vsidx"
deleted file mode 100644
index d12eba4..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/4ad14622-4b05-4fc3-abc0-0f0df9191418.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/5697cb23-9f2e-4eb6-ba02-077734b9a84e.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/5697cb23-9f2e-4eb6-ba02-077734b9a84e.vsidx"
deleted file mode 100644
index a62cf2d..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/5697cb23-9f2e-4eb6-ba02-077734b9a84e.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/60b56cfe-9fa4-4dcb-a205-bd29744252b2.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/60b56cfe-9fa4-4dcb-a205-bd29744252b2.vsidx"
deleted file mode 100644
index 643e4f7..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/60b56cfe-9fa4-4dcb-a205-bd29744252b2.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/b54b1d7f-8484-400a-be3b-be358bd12331.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/b54b1d7f-8484-400a-be3b-be358bd12331.vsidx"
new file mode 100644
index 0000000..140b44b
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/b54b1d7f-8484-400a-be3b-be358bd12331.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/c11191d7-3a6f-4b94-8bef-d18e80535b88.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/c11191d7-3a6f-4b94-8bef-d18e80535b88.vsidx"
deleted file mode 100644
index 1cd1e1e..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/c11191d7-3a6f-4b94-8bef-d18e80535b88.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d00682bf-4fae-4c92-b69f-33edfead3a59.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d00682bf-4fae-4c92-b69f-33edfead3a59.vsidx"
new file mode 100644
index 0000000..70aef67
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d00682bf-4fae-4c92-b69f-33edfead3a59.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/efdfd79b-e601-448c-a03c-b67eceb80782.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/efdfd79b-e601-448c-a03c-b67eceb80782.vsidx"
deleted file mode 100644
index 56af93e..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/efdfd79b-e601-448c-a03c-b67eceb80782.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/AOP/SqlSugarAop.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/AOP/SqlSugarAop.cs"
index aa8cc06..50c68e1 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/AOP/SqlSugarAop.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/AOP/SqlSugarAop.cs"
@@ -66,26 +66,21 @@
                         int seq = sugarClient.Ado.GetScalar($"SELECT NEXT VALUE FOR {sequenceAttirbute.SequenceName}").ObjToInt();
                         propertyInfo.SetValue(entityInfo.EntityValue, seq, null);
                     }
-                  
                 }
             }
 
             if (entityInfo.EntityValue is BaseEntity baseEntity)
             {
                 // 鏂板鎿嶄綔
-                if (entityInfo.OperationType == DataFilterType.InsertByObject)
+                if (entityInfo.OperationType == DataFilterType.InsertByObject && entityInfo.PropertyName == nameof(BaseEntity.CreateDate))
                 {
-                    if (entityInfo.PropertyName == nameof(BaseEntity.CreateDate))
-                    {
-                        baseEntity.CreateDate = DateTime.Now;
-                    }
+                    baseEntity.CreateDate = DateTime.Now;
                 }
 
-                if (entityInfo.OperationType == DataFilterType.UpdateByObject)
+                if (entityInfo.OperationType == DataFilterType.UpdateByObject && entityInfo.PropertyName == nameof(BaseEntity.ModifyDate))
                 {
                     baseEntity.ModifyDate = DateTime.Now;
                 }
-
 
                 //if (App.User?.UserId > 0)
                 {
@@ -100,17 +95,13 @@
                     }
                 }
             }
-        }
 
-        private static void UpdateConfigData(dynamic ruleConfig)
-        {
-            try
+            if (entityInfo.EntityValue is IBaseHistoryEntity baseHistoryEntity)
             {
-
-            }
-            catch (Exception ex)
-            {
-
+                if (entityInfo.OperationType == DataFilterType.InsertByObject && entityInfo.PropertyName == nameof(IBaseHistoryEntity.InsertTime))
+                {
+                    baseHistoryEntity.InsertTime = DateTime.Now;
+                }
             }
         }
 
@@ -159,27 +150,6 @@
                 sugarClient.Updateable(keyValuePairs).AS(MainDb.CodeRuleConfig).WhereColumns(nameof(ruleConfig.Id)).ExecuteCommand();
             }
             return code;
-        }
-
-        private static string GetWholeSql(SugarParameter[] paramArr, string sql)
-        {
-            foreach (var param in paramArr)
-            {
-                sql = sql.Replace(param.ParameterName, $@"'{param.Value.ObjToString()}'");
-            }
-
-            return sql;
-        }
-
-        private static string GetParas(SugarParameter[] pars)
-        {
-            string key = "銆怱QL鍙傛暟銆戯細";
-            foreach (var param in pars)
-            {
-                key += $"{param.ParameterName}:{param.Value}\n";
-            }
-
-            return key;
         }
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs"
index dc269d7..19d60dc 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs"
@@ -878,8 +878,8 @@
             {
                 object? obj = Activator.CreateInstance(htyType);
                 PropertyInfo keyPro = typeof(TEntity).GetKeyProperty();
-                PropertyInfo? operateTypePro = htyType.GetProperty(nameof(OperateTypeEnum));
-                PropertyInfo? sourceIdPro = htyType.GetProperty("SourceId");
+                PropertyInfo? operateTypePro = htyType.GetProperty(nameof(IBaseHistoryEntity.OperateType));
+                PropertyInfo? sourceIdPro = htyType.GetProperty(nameof(IBaseHistoryEntity.SourceId));
                 if (obj != null && keyPro != null && operateTypePro != null && sourceIdPro != null)
                 {
                     operateTypePro.SetValue(obj, operateType.ToString());
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/DB/Models/IBaseHistoryEntity.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/DB/Models/IBaseHistoryEntity.cs"
new file mode 100644
index 0000000..a5b560f
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/DB/Models/IBaseHistoryEntity.cs"
@@ -0,0 +1,37 @@
+锘縰sing Magicodes.ExporterAndImporter.Core;
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_Core.DB.Models
+{
+    public interface IBaseHistoryEntity
+    {
+        /// <summary>
+        /// 鍘熻〃涓婚敭
+        /// </summary>
+        [ImporterHeader(Name = "鍘熻〃涓婚敭")]
+        [ExporterHeader(DisplayName = "鍘熻〃涓婚敭")]
+        [SugarColumn(IsNullable = false, DefaultValue = "0", ColumnDescription = "鍘熻〃涓婚敭")]
+        public int SourceId { get; set; }
+
+        /// <summary>
+        /// 鎿嶄綔绫诲瀷
+        /// </summary>
+        [ImporterHeader(Name = "鎿嶄綔绫诲瀷")]
+        [ExporterHeader(DisplayName = "鎿嶄綔绫诲瀷")]
+        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鎿嶄綔绫诲瀷")]
+        public string OperateType { get; set; }
+
+        /// <summary>
+        /// 绉诲叆鍘嗗彶鏃堕棿
+        /// </summary>
+        [ImporterHeader(Name = "绉诲叆鍘嗗彶鏃堕棿")]
+        [ExporterHeader(DisplayName = "绉诲叆鍘嗗彶鏃堕棿")]
+        [SugarColumn(IsNullable = false, ColumnDescription = "绉诲叆鍘嗗彶鏃堕棿")]
+        public DateTime InsertTime { get; set; }
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
index 404bde1..19272e1 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
@@ -70,5 +70,27 @@
         /// <param name="model"></param>
         /// <returns></returns>
         MesResponseContent TestToolOut(TestToolOutModel model);
+
+        /// <summary>
+        /// 鐢熸垚鍑哄簱浠诲姟
+        /// </summary>
+        /// <param name="orderDetailId"></param>
+        /// <param name="stockSelectViews"></param>
+        /// <returns></returns>
+        WebResponseContent GenerateOutboundTask(int orderDetailId, List<StockSelectViewDTO> stockSelectViews);
+
+        /// <summary>
+        /// 鐢熸垚鍑哄簱浠诲姟
+        /// </summary>
+        /// <param name="keys"></param>
+        /// <returns></returns>
+        WebResponseContent GenerateOutboundTask(int[] keys);
+
+        /// <summary>
+        /// 鍑哄簱浠诲姟瀹屾垚
+        /// </summary>
+        /// <param name="taskNum">浠诲姟鍙�</param>
+        /// <returns></returns>
+        WebResponseContent OutboundTaskCompleted(int taskNum);
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_LocationInfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_LocationInfo.cs"
index b431c5d..d47c6b7 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_LocationInfo.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_LocationInfo.cs"
@@ -29,7 +29,7 @@
         /// <summary>
         /// 璐т綅缂栧彿
         /// </summary>
-        [SugarColumn(IsNullable = true, Length = 20, ColumnDescription = "璐т綅缂栧彿")]
+        [SugarColumn(IsNullable = true, Length = 30, ColumnDescription = "璐т綅缂栧彿")]
         public string LocationCode {  get; set; }
 
         /// <summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundLockInfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundLockInfo.cs"
index 19246be..d192ad4 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundLockInfo.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundLockInfo.cs"
@@ -84,7 +84,7 @@
         /// <summary>
         /// 璐т綅缂栧彿
         /// </summary>
-        [SugarColumn(IsNullable = true, Length = 20, ColumnDescription = "璐т綅缂栧彿")]
+        [SugarColumn(IsNullable = true, Length = 30, ColumnDescription = "璐т綅缂栧彿")]
         public string LocationCode { get; set; }
 
         /// <summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Record/Dt_LocationStatusChangeRecord.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Record/Dt_LocationStatusChangeRecord.cs"
index 7986d6c..357b358 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Record/Dt_LocationStatusChangeRecord.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Record/Dt_LocationStatusChangeRecord.cs"
@@ -29,7 +29,7 @@
         /// <summary>
         /// 璐т綅缂栧彿
         /// </summary>
-        [SugarColumn(IsNullable = true, Length = 20, ColumnDescription = "璐т綅缂栧彿")]
+        [SugarColumn(IsNullable = true, Length = 30, ColumnDescription = "璐т綅缂栧彿")]
         public string LocationCode { get; set; }
 
         /// <summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfo.cs"
index ffb04d0..85fea92 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfo.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfo.cs"
@@ -35,7 +35,7 @@
         /// <summary>
         /// 璐т綅缂栧彿
         /// </summary>
-        [SugarColumn(IsNullable = true, Length = 20, ColumnDescription = "璐т綅缂栧彿")]
+        [SugarColumn(IsNullable = true, Length = 30, ColumnDescription = "璐т綅缂栧彿")]
         public string LocationCode { get; set; }
 
         /// <summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfo_Hty.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfo_Hty.cs"
index 77639b0..1662516 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfo_Hty.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfo_Hty.cs"
@@ -18,7 +18,7 @@
         [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鎵樼洏缂栧彿")]
         public string PalletCode { get; set; }
 
-        [SugarColumn(IsNullable = true, Length = 20, ColumnDescription = "璐т綅缂栧彿")]
+        [SugarColumn(IsNullable = true, Length = 30, ColumnDescription = "璐т綅缂栧彿")]
         public string LocationCode { get; set; }
 
         [SugarColumn(IsNullable = false, ColumnDescription = "鏄惁婊$洏", DefaultValue = "0")]
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs"
index ab7a584..4744830 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs"
@@ -76,7 +76,7 @@
         /// </summary>
         [ImporterHeader(Name = "璧峰鍦板潃")]
         [ExporterHeader(DisplayName = "璧峰鍦板潃")]
-        [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "璧峰鍦板潃")]
+        [SugarColumn(IsNullable = false, Length = 30, ColumnDescription = "璧峰鍦板潃")]
         public string SourceAddress { get; set; }
 
         /// <summary>
@@ -84,7 +84,7 @@
         /// </summary>
         [ImporterHeader(Name = "鐩爣鍦板潃")]
         [ExporterHeader(DisplayName = "鐩爣鍦板潃")]
-        [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "鐩爣鍦板潃")]
+        [SugarColumn(IsNullable = false, Length = 30, ColumnDescription = "鐩爣鍦板潃")]
         public string TargetAddress { get; set; }
 
         /// <summary>
@@ -92,7 +92,7 @@
         /// </summary>
         [ImporterHeader(Name = "褰撳墠浣嶇疆")]
         [ExporterHeader(DisplayName = "褰撳墠浣嶇疆")]
-        [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "褰撳墠浣嶇疆")]
+        [SugarColumn(IsNullable = false, Length = 30, ColumnDescription = "褰撳墠浣嶇疆")]
         public string CurrentAddress { get; set; }
 
         /// <summary>
@@ -100,7 +100,7 @@
         /// </summary>
         [ImporterHeader(Name = "涓嬩竴鍦板潃")]
         [ExporterHeader(DisplayName = "涓嬩竴鍦板潃")]
-        [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "涓嬩竴鍦板潃")]
+        [SugarColumn(IsNullable = false, Length = 30, ColumnDescription = "涓嬩竴鍦板潃")]
         public string NextAddress { get; set; }
 
         /// <summary>
@@ -108,7 +108,7 @@
         /// </summary>
         [ImporterHeader(Name = "浠撳簱涓婚敭")]
         [ExporterHeader(DisplayName = "浠撳簱涓婚敭")]
-        [SugarColumn(IsNullable = true, ColumnDescription = "浠撳簱涓婚敭")]
+        [SugarColumn(IsNullable = false, ColumnDescription = "浠撳簱涓婚敭")]
         public int WarehouseId { get; set; }
 
         /// <summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task_Hty.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task_Hty.cs"
index e1d8226..b69fc0c 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task_Hty.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task_Hty.cs"
@@ -7,132 +7,13 @@
 using System.Threading.Tasks;
 using WIDESEA_Common.OtherEnum;
 using WIDESEA_Core.Attributes;
+using WIDESEA_Core.DB.Models;
 
 namespace WIDESEA_Model.Models
 {
     [SugarTable(nameof(Dt_Task_Hty), "浠诲姟淇℃伅鍘嗗彶")]
-    public class Dt_Task_Hty
+    public class Dt_Task_Hty : Dt_Task, IBaseHistoryEntity
     {
-        /// <summary>
-        /// 涓婚敭
-        /// </summary>
-        [ImporterHeader(Name = "涓婚敭")]
-        [ExporterHeader(DisplayName = "涓婚敭")]
-        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")]
-        public int TaskId { get; set; }
-
-        /// <summary>
-        /// 浠诲姟鍙�
-        /// </summary>
-        [ImporterHeader(Name = "浠诲姟鍙�")]
-        [ExporterHeader(DisplayName = "浠诲姟鍙�")]
-        [SugarColumn(IsNullable = false, ColumnDescription = "浠诲姟鍙�")]
-        public int TaskNum { get; set; }
-
-        /// <summary>
-        /// 鎵樼洏缂栧彿
-        /// </summary>
-        [ImporterHeader(Name = "鎵樼洏缂栧彿")]
-        [ExporterHeader(DisplayName = "鎵樼洏缂栧彿")]
-        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鎵樼洏缂栧彿")]
-        public string PalletCode { get; set; }
-
-        /// <summary>
-        /// 宸烽亾鍙�
-        /// </summary>
-        [ImporterHeader(Name = "宸烽亾鍙�")]
-        [ExporterHeader(DisplayName = "宸烽亾鍙�")]
-        [SugarColumn(IsNullable = false, Length = 10, ColumnDescription = "宸烽亾鍙�")]
-        public string Roadway { get; set; }
-
-        /// <summary>
-        /// 浠诲姟绫诲瀷
-        /// </summary>
-        [ImporterHeader(Name = "浠诲姟绫诲瀷")]
-        [ExporterHeader(DisplayName = "浠诲姟绫诲瀷")]
-        [SugarColumn(IsNullable = false, ColumnDescription = "浠诲姟绫诲瀷")]
-        public int TaskType { get; set; }
-
-        /// <summary>
-        /// 浠诲姟鐘舵��
-        /// </summary>
-        [ImporterHeader(Name = "浠诲姟鐘舵��")]
-        [ExporterHeader(DisplayName = "浠诲姟鐘舵��")]
-        [SugarColumn(IsNullable = false, ColumnDescription = "浠诲姟鐘舵��")]
-        public int TaskStatus { get; set; }
-
-        /// <summary>
-        /// 璧峰鍦板潃
-        /// </summary>
-        [ImporterHeader(Name = "璧峰鍦板潃")]
-        [ExporterHeader(DisplayName = "璧峰鍦板潃")]
-        [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "璧峰鍦板潃")]
-        public string SourceAddress { get; set; }
-
-        /// <summary>
-        /// 鐩爣鍦板潃
-        /// </summary>
-        [ImporterHeader(Name = "鐩爣鍦板潃")]
-        [ExporterHeader(DisplayName = "鐩爣鍦板潃")]
-        [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "鐩爣鍦板潃")]
-        public string TargetAddress { get; set; }
-
-        /// <summary>
-        /// 褰撳墠浣嶇疆
-        /// </summary>
-        [ImporterHeader(Name = "褰撳墠浣嶇疆")]
-        [ExporterHeader(DisplayName = "褰撳墠浣嶇疆")]
-        [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "褰撳墠浣嶇疆")]
-        public string CurrentAddress { get; set; }
-
-        /// <summary>
-        /// 涓嬩竴鍦板潃
-        /// </summary>
-        [ImporterHeader(Name = "涓嬩竴鍦板潃")]
-        [ExporterHeader(DisplayName = "涓嬩竴鍦板潃")]
-        [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "涓嬩竴鍦板潃")]
-        public string NextAddress { get; set; }
-
-        /// <summary>
-        /// 寮傚父淇℃伅
-        /// </summary>
-        [ImporterHeader(Name = "鍗曟嵁缂栧彿")]
-        [ExporterHeader(DisplayName = "鍗曟嵁缂栧彿")]
-        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "鍗曟嵁缂栧彿")]
-        public string? OrderNo { get; set; }
-
-        /// <summary>
-        /// 浼樺厛绾�
-        /// </summary>
-        [ImporterHeader(Name = "浼樺厛绾�")]
-        [ExporterHeader(DisplayName = "浼樺厛绾�")]
-        [SugarColumn(IsNullable = false, ColumnDescription = "浼樺厛绾�")]
-        public int Grade { get; set; }
-
-        /// <summary>
-        /// 浠诲姟涓嬪彂鏃堕棿
-        /// </summary>
-        [ImporterHeader(Name = "浠诲姟涓嬪彂鏃堕棿")]
-        [ExporterHeader(DisplayName = "浠诲姟涓嬪彂鏃堕棿")]
-        [SugarColumn(IsNullable = true, ColumnDescription = "浠诲姟涓嬪彂鏃堕棿")]
-        public DateTime? Dispatchertime { get; set; }
-
-        /// <summary>
-        /// 浠撳簱涓婚敭
-        /// </summary>
-        [ImporterHeader(Name = "浠撳簱涓婚敭")]
-        [ExporterHeader(DisplayName = "浠撳簱涓婚敭")]
-        [SugarColumn(IsNullable = true, ColumnDescription = "浠撳簱涓婚敭")]
-        public int WarehouseId { get; set; }
-
-        /// <summary>
-        /// 澶囨敞
-        /// </summary>
-        [ImporterHeader(Name = "澶囨敞")]
-        [ExporterHeader(DisplayName = "澶囨敞")]
-        [SugarColumn(IsNullable = true, Length = 255, ColumnDescription = "澶囨敞")]
-        public string Remark { get; set; }
-
         /// <summary>
         /// 鍘熻〃涓婚敭
         /// </summary>
@@ -147,38 +28,14 @@
         [ImporterHeader(Name = "鎿嶄綔绫诲瀷")]
         [ExporterHeader(DisplayName = "鎿嶄綔绫诲瀷")]
         [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鎿嶄綔绫诲瀷")]
-        public string OperateType {  get; set; }
+        public string OperateType { get; set; }
 
         /// <summary>
-        /// 鍒涘缓浜�
+        /// 绉诲叆鍘嗗彶鏃堕棿
         /// </summary>
-        [ImporterHeader(Name = "鍒涘缓浜�")]
-        [ExporterHeader(DisplayName = "鍒涘缓浜�")]
-        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鍒涘缓浜�")]
-        public string Creater { get; set; }
-
-        /// <summary>
-        /// 鍒涘缓鏃堕棿
-        /// </summary>
-        [ImporterHeader(Name = "鍒涘缓鏃堕棿")]
-        [ExporterHeader(DisplayName = "鍒涘缓鏃堕棿")]
-        [SugarColumn(IsNullable = false, ColumnDescription = "鍒涘缓鏃堕棿")]
-        public DateTime CreateDate { get; set; } = DateTime.Now;
-
-        /// <summary>
-        /// 鏇存柊鑰�
-        /// </summary>
-        [ImporterHeader(Name = "淇敼浜�")]
-        [ExporterHeader(DisplayName = "淇敼浜�")]
-        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "淇敼浜�")]
-        public string Modifier { get; set; }
-
-        /// <summary>
-        /// 淇敼鏃ユ湡
-        /// </summary>
-        [ImporterHeader(Name = "淇敼鏃ユ湡")]
-        [ExporterHeader(DisplayName = "淇敼鏃ユ湡")]
-        [SugarColumn(IsNullable = true, ColumnDescription = "淇敼鏃ユ湡")]
-        public DateTime? ModifyDate { get; set; }
+        [ImporterHeader(Name = "绉诲叆鍘嗗彶鏃堕棿")]
+        [ExporterHeader(DisplayName = "绉诲叆鍘嗗彶鏃堕棿")]
+        [SugarColumn(IsNullable = false, ColumnDescription = "绉诲叆鍘嗗彶鏃堕棿")]
+        public DateTime InsertTime { get; set; }
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
index 73909ec..017776e 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
@@ -18,6 +18,7 @@
 using AutoMapper;
 using Newtonsoft.Json;
 using SqlSugar;
+using System.Reflection.Emit;
 using System.Threading.Tasks;
 using WIDESEA_Common.CommonEnum;
 using WIDESEA_Common.LocationEnum;
@@ -279,5 +280,71 @@
                 return WebResponseContent.Instance.Error(ex.Message);
             }
         }
+
+        /// <summary>
+        /// 鍑哄簱浠诲姟瀹屾垚
+        /// </summary>
+        /// <param name="taskNum">浠诲姟鍙�</param>
+        /// <returns></returns>
+        public WebResponseContent OutboundTaskCompleted(int taskNum)
+        {
+            try
+            {
+                Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
+                if (task == null)
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒颁换鍔′俊鎭�");
+                }
+
+                Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode);
+
+                Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.SourceAddress);
+                if (stockInfo == null)
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒板簱瀛樹俊鎭�");
+                }
+                if (locationInfo == null)
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒拌揣浣嶄俊鎭�");
+                }
+
+                Dt_OutStockLockInfo outStockLockInfo = _outboundService.OutboundStockLockInfoService.Repository.QueryFirst(x => x.TaskNum == taskNum);
+                if (outStockLockInfo == null)
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒板嚭搴撹鎯呬俊鎭�");
+                }
+
+                //todo 鏇存柊鍗曟嵁淇℃伅
+                Dt_OutboundOrder outboundOrder = Db.Queryable<Dt_OutboundOrder>().Where(x => x.OrderNo == outStockLockInfo.OrderNo).Includes(x => x.Details).First();
+                if (outboundOrder == null)
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒板嚭搴撳崟淇℃伅");
+                }
+                if (!outboundOrder.Details.Any())
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒板嚭搴撳崟鏄庣粏淇℃伅");
+                }
+
+                _unitOfWorkManage.BeginTran();
+                stockInfo.LocationCode = locationInfo.LocationCode;
+                stockInfo.StockStatus = StockStatusEmun.鍑哄簱瀹屾垚.ObjToInt();
+                _stockService.StockInfoService.Repository.UpdateData(stockInfo);
+
+                int beforeStatus = locationInfo.LocationStatus;
+                locationInfo.LocationStatus = LocationStatusEnum.Free.ObjToInt();
+                _basicService.LocationInfoService.Repository.UpdateData(locationInfo);
+                BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
+
+                _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, (LocationStatusEnum)beforeStatus, LocationChangeType.OutboundCompleted, stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", task.TaskNum);
+                _unitOfWorkManage.CommitTran();
+
+                return WebResponseContent.Instance.OK();
+            }
+            catch (Exception ex)
+            {
+                _unitOfWorkManage.RollbackTran();
+                return WebResponseContent.Instance.Error(ex.Message);
+            }
+        }
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs"
index 723443b..e26a402 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs"
@@ -45,7 +45,9 @@
                         TargetAddress = "",
                         TaskStatus = TaskOutStatusEnum.OutNew.ObjToInt(),
                         TaskType = TaskOutboundTypeEnum.Outbound.ObjToInt(),
-                        TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum))
+                        TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
+                        PalletType = stockInfo.PalletType,
+                        WarehouseId = stockInfo.WarehouseId,
                     };
                     tasks.Add(task);
                 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
index 6e357a9..c82f6bb 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
@@ -63,5 +63,39 @@
         {
             return Service.InboundTaskCompleted(taskNum);
         }
+
+        /// <summary>
+        /// 鐢熸垚鍑哄簱浠诲姟
+        /// </summary>
+        /// <param name="orderDetailId"></param>
+        /// <param name="stockSelectViews"></param>
+        /// <returns></returns>
+        [HttpPost, HttpGet, Route("GenerateOutboundTask"), AllowAnonymous]
+        public WebResponseContent GenerateOutboundTask(int orderDetailId, [FromBody]List<StockSelectViewDTO> stockSelectViews)
+        {
+            return Service.GenerateOutboundTask(orderDetailId, stockSelectViews);
+        }
+
+        /// <summary>
+        /// 鐢熸垚鍑哄簱浠诲姟
+        /// </summary>
+        /// <param name="keys"></param>
+        /// <returns></returns>
+        [HttpPost, HttpGet, Route("GenerateOutboundTasks"), AllowAnonymous]
+        public WebResponseContent GenerateOutboundTask(int[] keys)
+        {
+            return Service.GenerateOutboundTask(keys);
+        }
+
+        /// <summary>
+        /// 鍑哄簱浠诲姟瀹屾垚
+        /// </summary>
+        /// <param name="taskNum">浠诲姟鍙�</param>
+        /// <returns></returns>
+        [HttpPost, HttpGet, Route("OutboundTaskCompleted"), AllowAnonymous]
+        public WebResponseContent OutboundTaskCompleted(int taskNum)
+        {
+            return Service.OutboundTaskCompleted(taskNum);
+        }
     }
 }

--
Gitblit v1.9.3