From 9f225bb1f1e26d25c1652d3e1ec2a8f239f69615 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期二, 18 三月 2025 10:41:29 +0800
Subject: [PATCH] 1

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneExtend/SignalInteraction.cs          |    3 
 项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/a22a8192-98a5-4124-b8ca-6e05c37a50e2.vsidx |    0 
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/AGVsignal.cs                  |   20 +++
 项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/32416433-0368-48f5-9206-5fc4ae10425f.vsidx |    0 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs                          |    2 
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/WIDESEAWCS_Tasks.csproj                                          |    4 
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs                         |    5 
 项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/3407b878-8807-497d-adfc-a7e1e0ff1fc6.vsidx |    0 
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ShuttleCarJob/ShuttleCarJob.cs                                   |    8 
 项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5639c1dc-9cb0-41a1-acfd-033ef7eb5980.vsidx |    0 
 项目代码/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/StockSelect.vue                                     |   85 ++++++++++----
 项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.futdcache.v2                                           |    0 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutboundOrderDetailService.cs                        |   10 +
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs                         |    2 
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVJob.cs                                                    |   16 +-
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Service/OutboundOrderDetailService.cs                     |    8 +
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderDetailService.cs                           |    1 
 /dev/null                                                                                                    |    0 
 项目代码/WMS/WIDESEA_WMSClient/src/views/Login.vue                                                               |    5 
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ProductionLineJob/CommonProductionLineJob.cs                     |   50 ++++----
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs                                         |    5 
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ShuttleCarJob/ShuttleCarExtend/PartialTaskService.cs             |    9 +
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs                            |   50 ++-----
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/WIDESEAWCS_BasicInfoService.csproj                    |    2 
 项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8b1a6cc9-cc09-4e07-b049-df6ae5ee00fa.vsidx |    0 
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs                                      |   10 +
 项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/28e76b23-b4dc-44ac-88ee-c1c603575540.vsidx |    0 
 项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo                                                    |    0 
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/ConveyorLineExtend.cs         |   24 +++
 29 files changed, 209 insertions(+), 110 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/32416433-0368-48f5-9206-5fc4ae10425f.vsidx" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/32416433-0368-48f5-9206-5fc4ae10425f.vsidx"
new file mode 100644
index 0000000..886f640
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/32416433-0368-48f5-9206-5fc4ae10425f.vsidx"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/2fbcc71c-e89f-4eaf-9e3e-5620623c5b7c.vsidx" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/3407b878-8807-497d-adfc-a7e1e0ff1fc6.vsidx"
similarity index 66%
rename from "\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/2fbcc71c-e89f-4eaf-9e3e-5620623c5b7c.vsidx"
rename to "\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/3407b878-8807-497d-adfc-a7e1e0ff1fc6.vsidx"
index deb3437..3141392 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/2fbcc71c-e89f-4eaf-9e3e-5620623c5b7c.vsidx"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/3407b878-8807-497d-adfc-a7e1e0ff1fc6.vsidx"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5f6bdb7f-e7cb-46ba-becd-21a08884d098.vsidx" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5639c1dc-9cb0-41a1-acfd-033ef7eb5980.vsidx"
similarity index 76%
rename from "\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5f6bdb7f-e7cb-46ba-becd-21a08884d098.vsidx"
rename to "\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5639c1dc-9cb0-41a1-acfd-033ef7eb5980.vsidx"
index 10809e1..539d57d 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5f6bdb7f-e7cb-46ba-becd-21a08884d098.vsidx"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5639c1dc-9cb0-41a1-acfd-033ef7eb5980.vsidx"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/2d174e3f-ac9e-40bd-8934-b1a7108b6f3c.vsidx" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8b1a6cc9-cc09-4e07-b049-df6ae5ee00fa.vsidx"
similarity index 77%
rename from "\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/2d174e3f-ac9e-40bd-8934-b1a7108b6f3c.vsidx"
rename to "\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8b1a6cc9-cc09-4e07-b049-df6ae5ee00fa.vsidx"
index 4cd9cdc..d1f4aee 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/2d174e3f-ac9e-40bd-8934-b1a7108b6f3c.vsidx"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8b1a6cc9-cc09-4e07-b049-df6ae5ee00fa.vsidx"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/f555f070-9bec-4ac8-8eba-d2791e9e4182.vsidx" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/a22a8192-98a5-4124-b8ca-6e05c37a50e2.vsidx"
similarity index 68%
rename from "\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/f555f070-9bec-4ac8-8eba-d2791e9e4182.vsidx"
rename to "\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/a22a8192-98a5-4124-b8ca-6e05c37a50e2.vsidx"
index b73f059..bdaa71c 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/f555f070-9bec-4ac8-8eba-d2791e9e4182.vsidx"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/a22a8192-98a5-4124-b8ca-6e05c37a50e2.vsidx"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/f2619808-2276-4f7b-b10f-25bba5f2f2a7.vsidx" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/f2619808-2276-4f7b-b10f-25bba5f2f2a7.vsidx"
deleted file mode 100644
index 0d45523..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/f2619808-2276-4f7b-b10f-25bba5f2f2a7.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/WIDESEAWCS_BasicInfoService.csproj" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/WIDESEAWCS_BasicInfoService.csproj"
index 132b4ea..91b43b6 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/WIDESEAWCS_BasicInfoService.csproj"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/WIDESEAWCS_BasicInfoService.csproj"
@@ -7,7 +7,7 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="WIDESEAWCS_QuartzJob" Version="1.0.0" />
+    <PackageReference Include="WIDESEAWCS_QuartzJob" Version="3.0.8" />
   </ItemGroup>
 
   <ItemGroup>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs"
index 635b242..384e3c6 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs"
@@ -144,16 +144,22 @@
         Line_OutFinish = 135,
 
         /// <summary>
+        /// 涓嬪彂AGV鍑哄簱浠诲姟
+        /// </summary>
+        [Description("涓嬪彂AGV鍑哄簱浠诲姟")]
+        AGV_OutSend = 140,
+
+        /// <summary>
         /// AGV鍑哄簱鎵ц涓�
         /// </summary>
         [Description("AGV鍑哄簱鎵ц涓�")]
-        AGV_OutExecuting = 140,
+        AGV_OutExecuting = 145,
 
         /// <summary>
         /// AGV鍑哄簱瀹屾垚
         /// </summary>
         [Description("AGV鍑哄簱瀹屾垚")]
-        AGV_OutFinish = 145,
+        AGV_OutFinish = 150,
 
         /// <summary>
         /// 鍑哄簱浠诲姟瀹屾垚
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
index 912343e..0a54cd4 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -86,7 +86,7 @@
                 {
                     if (BaseDal.QueryFirst(x => x.TaskNum == item.TaskNum || x.PalletCode == item.PalletCode) != null)
                     {
-                        continue;
+                        throw new Exception($"浠诲姟鍙枫�恵item.TaskNum}宸插瓨鍦ㄤ换鍔°��");
                     }
                     Dt_Task task = _mapper.Map<Dt_Task>(item);
                     task.Creater = "WMS";
@@ -96,7 +96,8 @@
                         //鏆備笉鑰冭檻澶氳矾寰�
                         if (routers.Count > 0)
                         {
-                            task.TaskState = (int)TaskOutStatusEnum.OutNew;
+
+                            task.TaskState = item.SourceIsPickPlace ? TaskOutStatusEnum.Car_OutFinish.ObjToInt() : TaskOutStatusEnum.OutNew.ObjToInt();
                             task.CurrentAddress = item.SourceAddress;
                             task.NextAddress = routers.FirstOrDefault().ChildPosi;
                         }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVJob.cs"
index 4acc714..b5295ff 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVJob.cs"
@@ -41,7 +41,11 @@
             {
 
                 #region 浠诲姟鏇存柊
-                var Tasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState > (int)TaskInStatusEnum.InNew && x.TaskState < (int)TaskInStatusEnum.AGV_InFinish).ToList().OrderBy(x => x.Grade).ThenBy(x => x.CreateDate).ToList();
+                var Tasks = _taskService.Db.Queryable<Dt_Task>().Where(x =>
+                x.TaskState > (int)TaskInStatusEnum.InNew &&
+                x.TaskState < (int)TaskInStatusEnum.AGV_InFinish ||
+                x.TaskState > (int)TaskOutStatusEnum.Line_OutFinish &&
+                x.TaskState < (int)TaskOutStatusEnum.AGV_OutFinish).ToList().OrderBy(x => x.Grade).ThenBy(x => x.CreateDate).ToList();
                 foreach (var Task in Tasks)
                 {
                     var ResultData = HttpHelper.PostAsync(AGVInterfaceAddress.taskResult + Task.TaskNum, null, headers: new Dictionary<string, string>());
@@ -55,16 +59,16 @@
                                 case "01":
                                     break;
                                 case "02":
-                                    Task.TaskState = TaskInStatusEnum.AGV_InExecuting.ObjToInt();
+                                    Task.TaskState = _taskService.TaskInboundTypes.Contains(Task.TaskType) ? TaskInStatusEnum.AGV_InExecuting.ObjToInt() : TaskOutStatusEnum.AGV_OutExecuting.ObjToInt();
                                     break;
                                 case "08":
                                     {
-                                        Task.TaskState = (int)TaskInStatusEnum.AGV_InFinish;
+                                        Task.TaskState = _taskService.TaskInboundTypes.Contains(Task.TaskType) ? (int)TaskInStatusEnum.AGV_InFinish : TaskOutStatusEnum.AGV_OutFinish.ObjToInt();
                                         Task.CurrentAddress = Task.NextAddress;
                                         List<Dt_Router> routers = _routerService.QueryNextRoutes(Task.CurrentAddress, Task.TargetAddress);
                                         if (routers.Count > 0)
                                         {
-                                            Task.NextAddress = routers.FirstOrDefault().ChildPosi;
+                                            Task.NextAddress = routers.FirstOrDefault()?.ChildPosi ?? "";
                                         }
                                     }
                                     break;
@@ -82,7 +86,7 @@
 
                 #region 浠诲姟涓嬪彂
                 List<Dt_Task> UpnewTasks = new List<Dt_Task>();
-                var newTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == (int)TaskInStatusEnum.InNew).ToList().OrderBy(x => x.Grade).ThenBy(x => x.CreateDate).ToList();
+                var newTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == TaskInStatusEnum.InNew.ObjToInt() || x.TaskState == TaskOutStatusEnum.Line_OutFinish.ObjToInt()).ToList().OrderBy(x => x.Grade).ThenBy(x => x.CreateDate).ToList();
                 foreach (var agvTaskDTO in GetAGVTaskDTOs(newTasks))
                 {
                     var ResultData = HttpHelper.PostAsync(AGVInterfaceAddress.taskSent, agvTaskDTO.ToJson(), headers: new Dictionary<string, string>());
@@ -91,7 +95,7 @@
                     if (content.code == "20000")
                     {
                         var task = newTasks.Where(x => x.TaskNum == agvTaskDTO.outID.ObjToInt()).First();
-                        task.TaskState = TaskInStatusEnum.AGV_InSend.ObjToInt();
+                        task.TaskState = _taskService.TaskInboundTypes.Contains(task.TaskType)? TaskInStatusEnum.AGV_InSend.ObjToInt(): TaskOutStatusEnum.AGV_OutSend.ObjToInt();
                         UpnewTasks.Add(task);
                     }
                     else
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
index 425eaba..0baab83 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
@@ -35,6 +35,7 @@
 using WIDESEAWCS_QuartzJob;
 using WIDESEAWCS_QuartzJob.ConveyorLine.Enum;
 using WIDESEAWCS_QuartzJob.DTO;
+using WIDESEAWCS_QuartzJob.Repository;
 using WIDESEAWCS_QuartzJob.Service;
 using WIDESEAWCS_Tasks.ConveyorLineJob;
 
@@ -46,13 +47,15 @@
         private readonly ITaskService _taskService;
         private readonly ITaskExecuteDetailService _taskExecuteDetailService;
         private readonly IRouterService _routerService;
+        private readonly IRouterRepository _routerRepository;
         private readonly IMapper _mapper;
 
-        public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper)
+        public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IRouterRepository routerRepository, IMapper mapper)
         {
             _taskService = taskService;
             _taskExecuteDetailService = taskExecuteDetailService;
             _routerService = routerService;
+            _routerRepository = routerRepository;
             _mapper = mapper;
         }
 
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/AGVsignal.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/AGVsignal.cs"
index 97611b5..4cb0717 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/AGVsignal.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/AGVsignal.cs"
@@ -38,14 +38,30 @@
                         if (content.Status) content.Status = conveyorLine.GetValue<ConveyorLine_AGV, bool>(ConveyorLine_AGV.ConveyorLinePermitPut, conveyor.Station);
                         break;
                     case 2:
-                        content.Status = conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVPutComplete, true, conveyor.Station);
+                        {
+                            content.Status = conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVPutComplete, true, conveyor.Station);
+                            if (content.Status)
+                            {
+                                Thread.Sleep(1000);
+                                conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVRequestPut, false, conveyor.Station);
+                                conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVPutComplete, false, conveyor.Station);
+                            }
+                        }
                         break;
                     case 3:
                         content.Status = conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVRequestTake, true, conveyor.Station);
                         if (content.Status) content.Status = conveyorLine.GetValue<ConveyorLine_AGV, bool>(ConveyorLine_AGV.ConveyorLinePermitTake, conveyor.Station);
                         break;
                     case 4:
-                        content.Status = conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVTakeComplete, true, conveyor.Station);
+                        {
+                            content.Status = conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVTakeComplete, true, conveyor.Station);
+                            if (content.Status)
+                            {
+                                Thread.Sleep(1000);
+                                conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVRequestTake, false, conveyor.Station);
+                                conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVTakeComplete, false, conveyor.Station);
+                            }
+                        }
                         break;
                     default: throw new Exception($"绫诲瀷鏈夎[Type锛歿conveyor.Type}]");
                 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/ConveyorLineExtend.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/ConveyorLineExtend.cs"
index c1d4169..34261ee 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/ConveyorLineExtend.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/ConveyorLineExtend.cs"
@@ -42,9 +42,31 @@
                         {
                             ConveyorLineInFinish(conveyorLine, command, childDeviceCode);
                         }
+                        //else if (childDeviceCode == "1005" && command.Status == (ushort)ConveyorStatus.Stored)
+                        //{
+                        //    Dt_Task task = _taskService.QueryConveyorLineTaskNum(conveyorLine.DeviceCode, childDeviceCode, command.TaskNum);
+                        //    if (task != null)
+                        //    {
+                        //        task.TaskState = TaskOutStatusEnum.Line_OutExecuting.ObjToInt();
+                        //        _taskService.UpdateData(task);
+                        //        ConveyorLineTaskCommandW taskCommand = _mapper.Map<ConveyorLineTaskCommandW>(task);
+                        //        taskCommand.WriterTrue = (short)command.inRead;
+                        //        conveyorLine.SendCommand(taskCommand, childDeviceCode);
+                        //    }
+                        //}
                         else if (childDeviceCode == "1008" && command.Status == (ushort)ConveyorStatus.Stored)
                         {
-                            ConveyorLineOutFinish(conveyorLine, command, childDeviceCode);
+                            Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
+                            if (task != null)
+                            {
+                                List<Dt_Router> routers = _routerRepository.QueryData(x => x.StartPosi == task.NextAddress && x.ChildPosiDeviceCode == "AGV" && x.Remark == "鏈崰鐢�");
+                                if (routers.Count > 0)
+                                {
+
+                                }
+                                task.TaskState = TaskOutStatusEnum.Line_OutFinish.ObjToInt();
+                                _taskService.UpdateData(task);
+                            }
                         }
                     }
                     #region MyRegion
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ProductionLineJob/CommonProductionLineJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ProductionLineJob/CommonProductionLineJob.cs"
index 10ec77a..ae23e5f 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ProductionLineJob/CommonProductionLineJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ProductionLineJob/CommonProductionLineJob.cs"
@@ -45,30 +45,30 @@
                 //var content = ProductionLineToWMSRequest(MaterielGroupDTO);
                 //i++;
                 #region MyRegion
-                //OtherDevice ProductionLine = (OtherDevice)context.JobDetail.JobDataMap.Get("JobParams");
-                //if (ProductionLine != null)
-                //{
-                //    var request = ProductionLine.GetValue<ProductionLineDBName, short>(ProductionLineDBName.request);
-                //    if (request == 1)
-                //    {
-                //        var traytype = ProductionLine.GetValue<ProductionLineDBName, short>(ProductionLineDBName.trayType);
-                //        //var content = Request(ProductionLine, traytype, ProductionLine.DeviceCode);
-                //        if (traytype == 4)
-                //        {
-                //            var Barcode = ProductionLine.GetValue<ProductionLineDBName, string>(ProductionLineDBName.trayBarcode);
-                //            var batchNo = ProductionLine.GetValue<ProductionLineDBName, string>(ProductionLineDBName.batchNo);
-                //            ProductionLineDTO MaterielGroupDTO = new ProductionLineDTO()
-                //            {
-                //                stationCode = ProductionLine.DeviceCode,
-                //                traytype = traytype,
-                //                Barcode = Barcode,
-                //                batchNo = batchNo,
-                //            };
-                //            var content = ProductionLineToWMSRequest(MaterielGroupDTO);
-                //            if (content.Status) ProductionLine.SetValue(ProductionLineDBName.Wrequest, 1);
-                //        }
-                //    }
-                //} 
+                OtherDevice ProductionLine = (OtherDevice)context.JobDetail.JobDataMap.Get("JobParams");
+                if (ProductionLine != null)
+                {
+                    var request = ProductionLine.GetValue<ProductionLineDBName, short>(ProductionLineDBName.request);
+                    if (request == 1)
+                    {
+                        var traytype = ProductionLine.GetValue<ProductionLineDBName, short>(ProductionLineDBName.trayType);
+                        //var content = Request(ProductionLine, traytype, ProductionLine.DeviceCode);
+                        if (traytype == 4)
+                        {
+                            var Barcode = ProductionLine.GetValue<ProductionLineDBName, string>(ProductionLineDBName.trayBarcode);
+                            var batchNo = ProductionLine.GetValue<ProductionLineDBName, string>(ProductionLineDBName.batchNo);
+                            ProductionLineDTO MaterielGroupDTO = new ProductionLineDTO()
+                            {
+                                stationCode = ProductionLine.DeviceCode,
+                                traytype = traytype,
+                                Barcode = Barcode,
+                                batchNo = batchNo,
+                            };
+                            var content = ProductionLineToWMSRequest(MaterielGroupDTO);
+                            if (content.Status) ProductionLine.SetValue(ProductionLineDBName.Wrequest, 1);
+                        }
+                    }
+                }
                 #endregion
                 #region MyRegion
                 //short[] shorts = { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 };
@@ -99,7 +99,7 @@
             }
             catch (Exception ex)
             {
-                //Console.Out.WriteLine(nameof(CommonProductionLineJob) + ":" + ex.ToString());
+                Console.Out.WriteLine(nameof(CommonProductionLineJob) + ":" + ex.ToString());
             }
             return Task.CompletedTask;
         }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ShuttleCarJob/ShuttleCarExtend/PartialTaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ShuttleCarJob/ShuttleCarExtend/PartialTaskService.cs"
index 6f4ef1c..6d553fa 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ShuttleCarJob/ShuttleCarExtend/PartialTaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ShuttleCarJob/ShuttleCarExtend/PartialTaskService.cs"
@@ -246,6 +246,10 @@
                             //    shuttleCarTaskCommand.TaskType = (short)GetCarTaskType(task.TaskType, shuttleCarTaskCommand.Direction);
                         }
                     }
+                    else if (task.TaskType == (int)TaskOtherTypeEnum.RelocationCarCharging)
+                    {
+                        shuttleCarTaskCommand.TaskType = (short)GetCarTaskType(ShuttleCarTaskType.Charging.ToString());
+                    }
                     else
                         shuttleCarTaskCommand.TaskType = (short)GetCarTaskType(task.TaskType, shuttleCarTaskCommand.Direction);
                     //shuttleCarTaskCommand.TaskType = string.IsNullOrEmpty(task.Remark) ? (short)GetCarTaskType(task.TaskType, shuttleCarTaskCommand.Direction) : (short)GetCarTaskType(task.Remark);
@@ -322,14 +326,19 @@
             switch (TaskType)
             {
                 case (int)TaskInboundTypeEnum.Inbound:
+                case (int)TaskInboundTypeEnum.PalletInbound:
                     state = (int)TaskInStatusEnum.Car_InExecuting;
                     break;
                 case (int)TaskOutboundTypeEnum.Outbound:
+                case (int)TaskOutboundTypeEnum.PalletOutbound:
                     state = (int)TaskOutStatusEnum.Car_OutExecuting;
                     break;
                 case (int)TaskOtherTypeEnum.RelocationCar:
                     state = (int)TaskCarStatusEnum.ShuttleCar_Executing;
                     break;
+                case (int)TaskOtherTypeEnum.RelocationCarCharging:
+                    state = (int)CarChargingTaskEnum.ShuttleCar_Charging;
+                    break;
                 default:
                     break;
             }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ShuttleCarJob/ShuttleCarJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ShuttleCarJob/ShuttleCarJob.cs"
index 282d2bb..4d04f61 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ShuttleCarJob/ShuttleCarJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ShuttleCarJob/ShuttleCarJob.cs"
@@ -70,6 +70,10 @@
                         }
                         #endregion
 
+                        #region 鑾峰彇鍫嗗灈鏈虹Щ杞�/绉诲簱瀹屾垚浠诲姟
+                        GetSC_CarFinish();
+                        #endregion
+
                         #region 鍒涘缓绉昏溅鍏呯數浠诲姟
                         if (command.Err_Status == (short)ShuttleCarErr.LowBattery || command.ElectricQuantity <= (short)ShuttleCarErr.LowBattery)
                         {
@@ -98,10 +102,6 @@
                                 _taskService.AddRelocationCarTask(ShuttleCar.ShuttleCarPosition, "003-002-001", ShuttleCar.ShuttleCarCode, ShuttleCarTaskType.Charging.ToString());
                             }
                         }
-                        #endregion
-
-                        #region 鑾峰彇鍫嗗灈鏈虹Щ杞�/绉诲簱瀹屾垚浠诲姟
-                        GetSC_CarFinish();
                         #endregion
 
                         #region 鑾峰彇绉昏溅/鍑哄叆搴撲换鍔�
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
index 529e954..59d28fb 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
@@ -75,7 +75,7 @@
                     #region 浠诲姟閫昏緫澶勭悊
                     var onlinestate = commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.Onlinestate);
                     var writeStatus = commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WriteStatus);
-                    if (onlinestate == (short)Onlinestate.online && writeStatus == (short)WriteStatus.Permit)
+                    if (onlinestate == (short)Onlinestate.online /*&& writeStatus == (short)WriteStatus.Permit*/)
                     {
                         #region 鏌ヨ浠诲姟,閫昏緫澶勭悊
                         if (Enum.Parse<RunStatus>(commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.RunStatus).ToString()) == RunStatus.Standby)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneExtend/SignalInteraction.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneExtend/SignalInteraction.cs"
index 185f40b..f9da1b2 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneExtend/SignalInteraction.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneExtend/SignalInteraction.cs"
@@ -59,6 +59,9 @@
                         && ASRSRqtGetGoods && task.SourceIsPickPlace)//璇锋眰鍙栬揣
                     {
                         commonStackerCrane.SetValue(StackerCraneDBName.AGVAlwASRSGetGoods, ASRSRqtGetGoods);
+                    }else if (_taskService.TaskOutboundTypes.Contains(task.TaskType)&& ASRSPutAGoodsDone)
+                    {
+
                     }
                     else
                     {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/WIDESEAWCS_Tasks.csproj" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/WIDESEAWCS_Tasks.csproj"
index c541402..fb87b73 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/WIDESEAWCS_Tasks.csproj"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/WIDESEAWCS_Tasks.csproj"
@@ -7,8 +7,8 @@
 	</PropertyGroup>
 
 	<ItemGroup>
-	  <PackageReference Include="WIDESEAWCS_Communicator" Version="2.2.4" />
-	  <PackageReference Include="WIDESEAWCS_QuartzJob" Version="2.1.2" />
+	  <PackageReference Include="WIDESEAWCS_Communicator" Version="2.2.7" />
+	  <PackageReference Include="WIDESEAWCS_QuartzJob" Version="3.0.8" />
 	</ItemGroup>
 
 	<ItemGroup>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/StockSelect.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/StockSelect.vue"
index 14cafdc..f903fc0 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/StockSelect.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/StockSelect.vue"
@@ -23,7 +23,7 @@
                 >宸查�夋暟閲忥細 {{ selectionSum }}
               </span>
             </el-col>
-            <el-col :span="4">
+            <!-- <el-col :span="4">
               <el-link
                 type="primary"
                 size="small"
@@ -31,7 +31,7 @@
                 @click="revokeAssign"
                 >鎾ら攢鍒嗛厤</el-link
               ></el-col
-            >
+            > -->
           </el-row>
         </el-alert>
       </div>
@@ -62,17 +62,35 @@
             :width="item.width"
             align="center"
           >
-            <template #default="scoped" v-if="item.type == 'icon'">
-              <el-tooltip
-                class="item"
-                effect="dark"
-                :content="item.title"
-                placement="bottom"
-                ><el-button
-                  type="text"
-                  @click="tableButtonClick(scoped.row, item)"
-                  ><i :class="item.icon" style="font-size: 22px"></i></el-button
-              ></el-tooltip>
+            <template #default="scoped">
+              <template v-if="item.type == 'icon'">
+                <el-tooltip
+                  class="item"
+                  effect="dark"
+                  :content="item.title"
+                  placement="bottom"
+                  ><el-button
+                    type="text"
+                    @click="tableButtonClick(scoped.row, item)"
+                    ><i
+                      :class="item.icon"
+                      :style="{ fontSize: item.iconSize || '22px' }"
+                    ></i></el-button
+                ></el-tooltip>
+              </template>
+              <template v-else>
+                <el-tooltip
+                  :content="scoped.row[item.prop]"
+                  placement="top"
+                  :disabled="
+                    !isContentOverflow(scoped.row[item.prop], item.width)
+                  "
+                >
+                  <div class="cell-content">
+                    {{ scoped.row[item.prop] }}
+                  </div>
+                </el-tooltip>
+              </template>
             </template>
           </el-table-column>
         </el-table>
@@ -113,24 +131,25 @@
           type: "string",
           width: 150,
         },
-        // {
-        //   prop: "palletCode",
-        //   title: "鎵樼洏缂栧彿",
-        //   type: "string",
-        //   width: 150,
-        // },
+        {
+          prop: "palletCode",
+          title: "鎵樼洏缂栧彿",
+          type: "string",
+          width: 150,
+        },
         {
           prop: "batchNo",
           title: "鎵规鍙�",
           type: "string",
           width: 150,
         },
-        // {
-        //   prop: "locationCode",
-        //   title: "璐т綅缂栧彿",
-        //   type: "string",
-        //   width: 180,
-        // },
+        {
+          prop: "locationCode",
+          title: "璐т綅缂栧彿",
+          type: "string",
+
+          width: 180,
+        },
         {
           prop: "useableQuantity",
           title: "鍙敤鏁伴噺",
@@ -144,6 +163,13 @@
     };
   },
   methods: {
+    isContentOverflow(content, width) {
+      if (!content || !width) return false;
+      // 浼扮畻姣忎釜瀛楃鐨勫搴︼紙鏍规嵁瀛椾綋澶у皬璋冩暣锛�
+      const charWidth = 8; // 鍋囪姣忎釜瀛楃瀹藉害涓� 8px
+      const maxChars = Math.floor(width / charWidth);
+      return content.length > maxChars;
+    },
     open(row) {
       this.row = row;
       this.showDetialBox = true;
@@ -175,6 +201,9 @@
         });
     },
     outbound() {
+      if (this.selection.length <= 0) {
+        return this.$message.error("璇烽�夋嫨鎸囧畾搴撳瓨");
+      }
       this.http
         .post(
           "api/Task/GenerateOutboundTask?id=" + this.row.id,
@@ -263,6 +292,12 @@
 .more-style {
   color: red;
 }
+.cell-content {
+  white-space: nowrap; /* 闃叉鎹㈣ */
+  overflow: hidden; /* 闅愯棌瓒呭嚭閮ㄥ垎 */
+  text-overflow: ellipsis; /* 鏄剧ず鐪佺暐鍙� */
+  width: 100%; /* 瀹藉害鍗犳弧鍗曞厓鏍� */
+}
 </style>
 
 <style>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/Login.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/Login.vue"
index c61c0e8..500b81e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/Login.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/Login.vue"
@@ -116,9 +116,8 @@
     const login = () => {
       if (!userInfo.userName) return $message.error('璇疯緭鍏ョ敤鎴峰悕');
       if (!userInfo.password) return $message.error('璇疯緭鍏ュ瘑鐮�');
-      if (!userInfo.verificationCode) {
-        return $message.error('璇疯緭鍏ラ獙璇佺爜');
-      }
+      if (!userInfo.verificationCode) return $message.error('璇疯緭鍏ラ獙璇佺爜');
+      if (userInfo.verificationCode!="1234") return $message.error('楠岃瘉鐮佹湁璇�');
       loading.value = true;
       http.post('/api/User/login', userInfo, '姝e湪鐧诲綍....').then((result) => {
         if (!result.status) {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/28e76b23-b4dc-44ac-88ee-c1c603575540.vsidx" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/28e76b23-b4dc-44ac-88ee-c1c603575540.vsidx"
new file mode 100644
index 0000000..517eed8
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/28e76b23-b4dc-44ac-88ee-c1c603575540.vsidx"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/3d7373a2-c833-48a2-84db-b4f90a14151a.vsidx" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/3d7373a2-c833-48a2-84db-b4f90a14151a.vsidx"
deleted file mode 100644
index f92dbee..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/3d7373a2-c833-48a2-84db-b4f90a14151a.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.futdcache.v2" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.futdcache.v2"
index 3909c5a..b400c57 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.futdcache.v2"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.futdcache.v2"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo"
index 3ef43b0..132a907 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderDetailService.cs"
index 0454379..43cc656 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderDetailService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderDetailService.cs"
@@ -19,6 +19,7 @@
 
         WebResponseContent LockOutboundStock(int orderDetailId);
 
+        (List<Dt_StockInfo>, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) AssignStockOutbound(Dt_OutboundOrder outboundOrder, List<StockSelectViewDTO> stockSelectViews);
         (List<Dt_StockInfo>, Dt_OutboundOrderDetail, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) AssignStockOutbound(Dt_OutboundOrderDetail outboundOrderDetail, List<StockSelectViewDTO> stockSelectViews);
 
         WebResponseContent LockOutboundStock(int orderDetailId, List<StockSelectViewDTO> stockSelectViews);
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutboundOrderDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutboundOrderDetailService.cs"
index a952f2f..3d6867a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutboundOrderDetailService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutboundOrderDetailService.cs"
@@ -45,6 +45,16 @@
             _outStockLockInfoService = outStockLockInfoService;
         }
 
+        public (List<Dt_StockInfo>, Dt_OutboundOrderDetail, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>, Dt_OutboundOrder) AssignStockOutbound(Dt_OutboundOrderDetail outboundOrderDetail)
+        {
+            Dt_OutboundOrder outboundOrder = _outboundRepository.OutboundOrderRepository.QueryFirst(x => x.Id == outboundOrderDetail.OrderId);
+            List<Dt_StockInfo> outStocks = new List<Dt_StockInfo>();
+            List<string> LocationCodes = new List<string>();
+            List<Dt_OutStockLockInfo> outStockLockInfos = new List<Dt_OutStockLockInfo>();
+            List<Dt_LocationInfo> locationInfos = new List<Dt_LocationInfo>();
+            return (outStocks, outboundOrderDetail, outStockLockInfos, locationInfos, outboundOrder);
+        }
+
         public (List<Dt_StockInfo>, List<Dt_OutboundOrderDetail>, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>, Dt_OutboundOrder) AssignStockOutbound(List<Dt_OutboundOrderDetail> outboundOrderDetails)
         {
             if (outboundOrderDetails.GroupBy(x => x.OrderId).Count() > 1)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Service/OutboundOrderDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Service/OutboundOrderDetailService.cs"
index d124e6a..09bda15 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Service/OutboundOrderDetailService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Service/OutboundOrderDetailService.cs"
@@ -130,7 +130,15 @@
             }
             return (true, "鎴愬姛");
         }
+        public (List<Dt_StockInfo>, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) AssignStockOutbound(Dt_OutboundOrder outboundOrder, List<StockSelectViewDTO> stockSelectViews)
+        {
+            List<Dt_StockInfo> outStocks = null;
+            List<Dt_OutStockLockInfo> outStockLockInfos = _outStockLockInfoService.GetOutStockLockInfos(outboundOrder, outboundOrder.Details.First(), outStocks);
 
+            List<Dt_LocationInfo> locationInfos = _basicService.LocationInfoService.Repository.GetLocationInfos(outStocks.Select(x => x.LocationCode).ToList());
+
+            return (outStocks, outStockLockInfos, locationInfos);
+        }
         /// <summary>
         /// 鍒嗛厤鍑哄簱搴撳瓨
         /// </summary>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs"
index 0a2d4fa..c01c72a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs"
@@ -83,7 +83,7 @@
             List<Dt_OutStockLockInfo>? outStockLockInfos = null;
             List<Dt_LocationInfo>? locationInfos = null;
             List<Dt_LocationInfo>? locationInfos1 = null;
-            Dt_OutboundOrder outboundOrder = null;
+            Dt_OutboundOrder? outboundOrder = null;
 
             (List<Dt_StockInfo>?, List<Dt_OutboundOrderDetail>?, List<Dt_OutStockLockInfo>?, List<Dt_LocationInfo>?, Dt_OutboundOrder?) result = _outboundService.OutboundOrderDetailService.AssignStockOutbound(outboundOrderDetails);
             if (result.Item1 != null && result.Item1.Count > 0)
@@ -111,7 +111,7 @@
         /// </summary>
         /// <param name="stockInfos"></param>
         /// <returns></returns>
-        public (List<Dt_Task>, List<Dt_LocationInfo>, List<Dt_StockInfo>) GetTasks(List<Dt_StockInfo> stockInfos, TaskTypeEnum taskType, List<Dt_LocationInfo> locationInfos)
+        public (List<Dt_Task>?, List<Dt_LocationInfo>?, List<Dt_StockInfo>?) GetTasks(List<Dt_StockInfo> stockInfos, TaskTypeEnum taskType, List<Dt_LocationInfo>? locationInfos)
         {
             List<Dt_Task> tasks = new List<Dt_Task>();
             List<Dt_LocationInfo> locations = new List<Dt_LocationInfo>();
@@ -211,45 +211,27 @@
             List<Dt_Task> tasks = new List<Dt_Task>();
             Dt_OutboundOrderDetail outboundOrderDetail = _outboundService.OutboundOrderDetailService.Repository.QueryFirst(x => x.Id == orderDetailId);
 
-            if (outboundOrderDetail == null)
-            {
-                throw new Exception("鏈壘鍒板嚭搴撳崟鏄庣粏淇℃伅");
-            }
+            if (outboundOrderDetail == null) throw new Exception("鏈壘鍒板嚭搴撳崟鏄庣粏淇℃伅");
+            if (outboundOrderDetail.OrderDetailStatus != OrderDetailStatusEnum.New.ObjToInt())
+                throw new Exception("鎵�閫夊嚭搴撳崟鏄庣粏瀛樺湪鍑哄簱涓垨宸插畬鎴�");
+
+            Dt_OutboundOrder outboundOrder = _outboundService.OutboundOrderService.Repository.QueryFirst(x => x.Id == outboundOrderDetail.OrderId);
+            outboundOrder.Details = new List<Dt_OutboundOrderDetail> { outboundOrderDetail };
 
             List<Dt_StockInfo>? stockInfos = null;
             Dt_OutboundOrderDetail? orderDetail = null;
             List<Dt_OutStockLockInfo>? outStockLockInfos = null;
             List<Dt_LocationInfo>? locationInfos = null;
-            if (outboundOrderDetail.OrderDetailStatus == OrderDetailStatusEnum.New.ObjToInt())
-            {
-                (List<Dt_StockInfo>, Dt_OutboundOrderDetail, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) result = _outboundService.OutboundOrderDetailService.AssignStockOutbound(outboundOrderDetail, stockSelectViews);
-                if (result.Item1 != null && result.Item1.Count > 0)
-                {
-                    tasks = GetTasks(result.Item1);
-                    result.Item2.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
-                    result.Item3.ForEach(x =>
-                    {
-                        x.Status = OutStockStatus.鍑哄簱涓�.ObjToInt();
-                    });
+            List<Dt_LocationInfo>? locationInfos1 = null;
 
-                    stockInfos = result.Item1;
-                    orderDetail = result.Item2;
-                    outStockLockInfos = result.Item3;
-                    locationInfos = result.Item4;
-                }
-                else
-                {
-                    throw new Exception("鏃犲簱瀛�");
-                }
-            }
-            else if (outboundOrderDetail.OrderDetailStatus == OrderDetailStatusEnum.AssignOverPartial.ObjToInt() || outboundOrderDetail.OrderDetailStatus == OrderDetailStatusEnum.AssignOver.ObjToInt())
+            (List<Dt_StockInfo>,  List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) result = _outboundService.OutboundOrderDetailService.AssignStockOutbound(outboundOrder, stockSelectViews);
+            if (result.Item1 != null && result.Item1.Count > 0)
             {
-                List<Dt_OutStockLockInfo> stockLockInfos = _outboundService.OutboundStockLockInfoService.GetByOrderDetailId(outboundOrderDetail.Id);
-                if (stockLockInfos != null && stockLockInfos.Count > 0)
-                {
-                    List<Dt_StockInfo> stocks = _stockService.StockInfoService.Repository.GetStockInfosByPalletCodes(stockLockInfos.Select(x => x.PalletCode).Distinct().ToList());
-                    tasks = GetTasks(stocks);
-                }
+                
+            }
+            else
+            {
+                throw new Exception("鏃犲簱瀛�");
             }
 
             return (tasks, stockInfos, orderDetail == null ? null : new List<Dt_OutboundOrderDetail> { orderDetail }, outStockLockInfos, locationInfos);
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
index 404b53f..cf489f6 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
@@ -30,7 +30,7 @@
         }
 
         [HttpPost, Route("GenerateOutboundTask")]
-        public WebResponseContent GenerateOutboundTask(int id, List<StockSelectViewDTO> stockSelectViews)
+        public WebResponseContent GenerateOutboundTask(int id, [FromBody] List<StockSelectViewDTO> stockSelectViews)
         {
             return Service.GenerateOutboundTask(id, stockSelectViews);
         }

--
Gitblit v1.9.3