From 00b6105b34870f6f5a33551534d0088f3f741906 Mon Sep 17 00:00:00 2001
From: 海波 张 <2956280567@qq.com>
Date: 星期一, 07 七月 2025 17:33:53 +0800
Subject: [PATCH] 退库修改

---
 wms/TaskHelper.cs                                       |   73 +
 process/DeviceProcess.cs                                |   17 
 wms/LocationHelper.cs                                   |  265 +++++-
 core/Monitor.cs                                         |   24 
 .vs/HH.WCS.ZhongCeJinTan/v17/DocumentLayout.backup.json |  588 ++++++++-------
 HH.WCS.ZhongCeJinTan.csproj                             |    1 
 core/TaskCore.cs                                        |  167 ++--
 dispatch/WcsTask.cs                                     |  162 +++-
 util/LogHelper.cs                                       |    2 
 config/config.json                                      |    2 
 .vs/HH.WCS.ZhongCeJinTan/v17/DocumentLayout.json        |  693 ++++++++++---------
 api/WmsController.cs                                    |   36 
 wms/WMSModel.cs                                         |   10 
 .vs/HH.WCS.ZhongCeJinTan.csproj.dtbcache.json           |    2 
 util/Settings.cs                                        |    8 
 api/WcsController.cs                                    |   22 
 process/TaskProcess.cs                                  |   73 +
 17 files changed, 1,295 insertions(+), 850 deletions(-)

diff --git a/.vs/HH.WCS.ZhongCeJinTan.csproj.dtbcache.json b/.vs/HH.WCS.ZhongCeJinTan.csproj.dtbcache.json
index d183143..e505562 100644
--- a/.vs/HH.WCS.ZhongCeJinTan.csproj.dtbcache.json
+++ b/.vs/HH.WCS.ZhongCeJinTan.csproj.dtbcache.json
@@ -1 +1 @@
-{"RootPath":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan","ProjectFileName":"HH.WCS.ZhongCeJinTan.csproj","Configuration":"Debug|AnyCPU","FrameworkPath":"","Sources":[{"SourceFile":"api\\MoboxController.cs"},{"SourceFile":"api\\AgvController.cs"},{"SourceFile":"api\\ApiModel.cs"},{"SourceFile":"api\\WmsController.cs"},{"SourceFile":"device\\ModbusHelper.cs"},{"SourceFile":"device\\PlcHelper.cs"},{"SourceFile":"device\\TcpServer.cs"},{"SourceFile":"dispatch\\GZRobot.cs"},{"SourceFile":"core\\Monitor.cs"},{"SourceFile":"core\\TaskCore.cs"},{"SourceFile":"api\\ApiHelper.cs"},{"SourceFile":"dispatch\\HostToAGV.cs"},{"SourceFile":"dispatch\\NDCApi.cs"},{"SourceFile":"dispatch\\WcsTask.cs"},{"SourceFile":"process\\DeviceProcess.cs"},{"SourceFile":"process\\TaskProcess.cs"},{"SourceFile":"util\\DingTalk.cs"},{"SourceFile":"util\\LogHelper.cs"},{"SourceFile":"util\\STAttribute.cs"},{"SourceFile":"util\\StrHelper.cs"},{"SourceFile":"wms\\ContainerHelper.cs"},{"SourceFile":"wms\\LocationHelper.cs"},{"SourceFile":"util\\SYSHelper.cs"},{"SourceFile":"wms\\WcsModel.cs"},{"SourceFile":"wms\\WMSHelper.cs"},{"SourceFile":"wms\\WMSModel.cs"},{"SourceFile":"Program.cs"},{"SourceFile":"Properties\\AssemblyInfo.cs"},{"SourceFile":"util\\Settings.cs"},{"SourceFile":"util\\SqlHelper.cs"},{"SourceFile":"api\\Startup.cs"},{"SourceFile":"util\\HttpHelper.cs"},{"SourceFile":"util\\XmlHelper.cs"},{"SourceFile":"wms\\NormalArea.cs"},{"SourceFile":"wms\\TaskHelper.cs"},{"SourceFile":"obj\\Debug\\.NETFramework,Version=v4.6.AssemblyAttributes.cs"}],"References":[{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\BouncyCastle.NetCoreSdk.1.9.0.1\\lib\\net452\\BouncyCastle.Crypto.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\EasyModbusTCP.5.6.0\\lib\\net40\\EasyModbus.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\Microsoft.CSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\bin\\Debug\\Microsoft.Owin.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\bin\\Debug\\Microsoft.Owin.Host.HttpListener.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\bin\\Debug\\Microsoft.Owin.Hosting.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\mscorlib.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\Newtonsoft.Json.Bson.1.0.2\\lib\\net45\\Newtonsoft.Json.Bson.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\Newtonsoft.Json.13.0.3\\lib\\net45\\Newtonsoft.Json.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\NLog.5.3.2\\lib\\net46\\NLog.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\bin\\Debug\\Owin.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dll\\S7.Net.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\SqlSugar.5.1.4.166\\lib\\SqlSugar.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\System.Buffers.4.5.1\\lib\\netstandard1.1\\System.Buffers.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.Configuration.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.Configuration.Install.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.Data.DataSetExtensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.Data.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.IO.Compression.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\System.Memory.4.5.5\\lib\\netstandard1.1\\System.Memory.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.Net.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.Net.Http.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\Microsoft.AspNet.WebApi.Client.6.0.0\\lib\\net45\\System.Net.Http.Formatting.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\System.Runtime.CompilerServices.Unsafe.4.5.3\\lib\\netstandard1.0\\System.Runtime.CompilerServices.Unsafe.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\bin\\Debug\\System.Runtime.InteropServices.RuntimeInformation.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.Runtime.Serialization.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.ServiceProcess.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\System.Threading.Tasks.Extensions.4.5.4\\lib\\portable-net45+win8+wp8+wpa81\\System.Threading.Tasks.Extensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.Web.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\Microsoft.AspNet.WebApi.Core.5.3.0\\lib\\net45\\System.Web.Http.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\Microsoft.AspNet.WebApi.Owin.5.3.0\\lib\\net45\\System.Web.Http.Owin.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.Web.Services.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.Xml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.Xml.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\TopSdk.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\bin\\Debug\\Topshelf.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\bin\\Debug\\Topshelf.NLog.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""}],"Analyzers":[],"Outputs":[{"OutputItemFullPath":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\bin\\Debug\\HH.WCS.ZhongCeJinTan.exe","OutputItemRelativePath":"HH.WCS.ZhongCeJinTan.exe"},{"OutputItemFullPath":"","OutputItemRelativePath":""}],"CopyToOutputEntries":[]}
\ No newline at end of file
+{"RootPath":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan","ProjectFileName":"HH.WCS.ZhongCeJinTan.csproj","Configuration":"Debug|AnyCPU","FrameworkPath":"","Sources":[{"SourceFile":"api\\MoboxController.cs"},{"SourceFile":"api\\AgvController.cs"},{"SourceFile":"api\\ApiModel.cs"},{"SourceFile":"api\\WmsController.cs"},{"SourceFile":"device\\ModbusHelper.cs"},{"SourceFile":"device\\PlcHelper.cs"},{"SourceFile":"device\\TcpServer.cs"},{"SourceFile":"dispatch\\GZRobot.cs"},{"SourceFile":"core\\Monitor.cs"},{"SourceFile":"core\\TaskCore.cs"},{"SourceFile":"api\\ApiHelper.cs"},{"SourceFile":"dispatch\\HostToAGV.cs"},{"SourceFile":"dispatch\\NDCApi.cs"},{"SourceFile":"dispatch\\WcsTask.cs"},{"SourceFile":"process\\DeviceProcess.cs"},{"SourceFile":"process\\TaskProcess.cs"},{"SourceFile":"util\\DingTalk.cs"},{"SourceFile":"util\\LogHelper.cs"},{"SourceFile":"util\\STAttribute.cs"},{"SourceFile":"util\\StrHelper.cs"},{"SourceFile":"wms\\ContainerHelper.cs"},{"SourceFile":"wms\\LocationHelper.cs"},{"SourceFile":"util\\SYSHelper.cs"},{"SourceFile":"wms\\WcsModel.cs"},{"SourceFile":"wms\\WMSHelper.cs"},{"SourceFile":"wms\\WMSModel.cs"},{"SourceFile":"Program.cs"},{"SourceFile":"Properties\\AssemblyInfo.cs"},{"SourceFile":"util\\Settings.cs"},{"SourceFile":"util\\SqlHelper.cs"},{"SourceFile":"api\\Startup.cs"},{"SourceFile":"util\\HttpHelper.cs"},{"SourceFile":"util\\XmlHelper.cs"},{"SourceFile":"wms\\NormalArea.cs"},{"SourceFile":"wms\\TaskHelper.cs"},{"SourceFile":"obj\\Debug\\.NETFramework,Version=v4.6.AssemblyAttributes.cs"}],"References":[{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\BouncyCastle.NetCoreSdk.1.9.0.1\\lib\\net452\\BouncyCastle.Crypto.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\EasyModbusTCP.5.6.0\\lib\\net40\\EasyModbus.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\Microsoft.CSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\Microsoft.Owin.Diagnostics.4.2.2\\lib\\net45\\Microsoft.Owin.Diagnostics.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\Microsoft.Owin.4.2.2\\lib\\net45\\Microsoft.Owin.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\Microsoft.Owin.Host.HttpListener.4.2.2\\lib\\net45\\Microsoft.Owin.Host.HttpListener.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\Microsoft.Owin.Hosting.4.2.2\\lib\\net45\\Microsoft.Owin.Hosting.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\mscorlib.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\Newtonsoft.Json.Bson.1.0.2\\lib\\net45\\Newtonsoft.Json.Bson.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\Newtonsoft.Json.13.0.3\\lib\\net45\\Newtonsoft.Json.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\NLog.5.3.2\\lib\\net46\\NLog.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\Owin.1.0\\lib\\net40\\Owin.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dll\\S7.Net.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\SqlSugar.5.1.4.166\\lib\\SqlSugar.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\System.Buffers.4.5.1\\lib\\netstandard1.1\\System.Buffers.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.Configuration.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.Configuration.Install.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.Data.DataSetExtensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.Data.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.IO.Compression.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\System.Memory.4.5.5\\lib\\netstandard1.1\\System.Memory.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.Net.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.Net.Http.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\Microsoft.AspNet.WebApi.Client.6.0.0\\lib\\net45\\System.Net.Http.Formatting.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\System.Runtime.CompilerServices.Unsafe.4.5.3\\lib\\netstandard1.0\\System.Runtime.CompilerServices.Unsafe.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.Runtime.Serialization.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.ServiceProcess.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\System.Threading.Tasks.Extensions.4.5.4\\lib\\portable-net45+win8+wp8+wpa81\\System.Threading.Tasks.Extensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.Web.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\Microsoft.AspNet.WebApi.Core.5.3.0\\lib\\net45\\System.Web.Http.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\Microsoft.AspNet.WebApi.Owin.5.3.0\\lib\\net45\\System.Web.Http.Owin.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.Web.Services.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.Xml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.6\\System.Xml.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\TopSdk.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\packages\\Topshelf.4.3.0\\lib\\net452\\Topshelf.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""}],"Analyzers":[],"Outputs":[{"OutputItemFullPath":"C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\bin\\Debug\\HH.WCS.ZhongCeJinTan.exe","OutputItemRelativePath":"HH.WCS.ZhongCeJinTan.exe"},{"OutputItemFullPath":"","OutputItemRelativePath":""}],"CopyToOutputEntries":[]}
\ No newline at end of file
diff --git a/.vs/HH.WCS.ZhongCeJinTan/v17/DocumentLayout.backup.json b/.vs/HH.WCS.ZhongCeJinTan/v17/DocumentLayout.backup.json
index fc434d5..cd7d509 100644
--- a/.vs/HH.WCS.ZhongCeJinTan/v17/DocumentLayout.backup.json
+++ b/.vs/HH.WCS.ZhongCeJinTan/v17/DocumentLayout.backup.json
@@ -3,60 +3,36 @@
   "WorkspaceRootPath": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\",
   "Documents": [
     {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\taskhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\taskhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|c:\\users\\29562\\source\\repos\\hh-0129_zhongcejintan\\dispatch\\wcstask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:dispatch\\wcstask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
       "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\monitor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:core\\monitor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\wmscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\wmscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\moboxcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\moboxcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\agvcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\agvcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\taskcore.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:core\\taskcore.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\apimodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\apimodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\taskhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\taskhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\wmsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\wmsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\gzrobot.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:dispatch\\gzrobot.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|c:\\users\\29562\\source\\repos\\hh-0129_zhongcejintan\\process\\taskprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\process\\taskprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:process\\taskprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\locationhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\locationhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\wmscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\wmscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\process\\deviceprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:process\\deviceprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\wcstask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:dispatch\\wcstask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\wcsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\wcsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\wcscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\wcscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\settings.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -67,6 +43,50 @@
       "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:config\\config.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
     },
     {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\wmsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\wmsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\locationhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\locationhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\wcsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\wcsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\containerhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\containerhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\moboxcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\moboxcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\loghelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:util\\loghelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\agvcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\agvcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\startup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\startup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\apimodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\apimodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\gzrobot.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:dispatch\\gzrobot.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
       "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\ndcapi.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:dispatch\\ndcapi.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
@@ -75,24 +95,8 @@
       "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:util\\httphelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\containerhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\containerhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\wmshelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\wmshelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\loghelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:util\\loghelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\startup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\startup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\topsdk.dll||{177559E0-D141-11D0-92DF-00A0C9138C45}",
@@ -114,7 +118,7 @@
       "DocumentGroups": [
         {
           "DockedHeight": 387,
-          "SelectedChildIndex": 8,
+          "SelectedChildIndex": 12,
           "Children": [
             {
               "$type": "Bookmark",
@@ -130,224 +134,288 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 9,
-              "Title": "TaskProcess.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\process\\TaskProcess.cs",
-              "RelativeDocumentMoniker": "process\\TaskProcess.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\process\\TaskProcess.cs",
-              "RelativeToolTip": "process\\TaskProcess.cs",
-              "ViewState": "AgIAAI8FAAAAAAAAAAAjwJoFAAB5AAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-13T00:45:23.095Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 10,
-              "Title": "LocationHelper.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\LocationHelper.cs",
-              "RelativeDocumentMoniker": "wms\\LocationHelper.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\LocationHelper.cs",
-              "RelativeToolTip": "wms\\LocationHelper.cs",
-              "ViewState": "AgIAAFUBAAAAAAAAAAAewKYBAAApAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-13T09:13:15.283Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 3,
-              "Title": "AgvController.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\AgvController.cs",
-              "RelativeDocumentMoniker": "api\\AgvController.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\AgvController.cs",
-              "RelativeToolTip": "api\\AgvController.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAWwBcAAABoAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-13T03:17:31.542Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
               "DocumentIndex": 1,
-              "Title": "WmsController.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\WmsController.cs",
-              "RelativeDocumentMoniker": "api\\WmsController.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\WmsController.cs",
-              "RelativeToolTip": "api\\WmsController.cs",
-              "ViewState": "AgIAAAYAAAAAAAAAAAAAAB8AAAAqAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-12T09:36:08.931Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 7,
-              "Title": "WMSModel.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WMSModel.cs",
-              "RelativeDocumentMoniker": "wms\\WMSModel.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WMSModel.cs",
-              "RelativeToolTip": "wms\\WMSModel.cs",
-              "ViewState": "AgIAAAwGAAAAAAAAAAAjwB4GAAARAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-12T09:36:05.064Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 0,
-              "Title": "Monitor.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\Monitor.cs",
-              "RelativeDocumentMoniker": "core\\Monitor.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\Monitor.cs",
-              "RelativeToolTip": "core\\Monitor.cs",
-              "ViewState": "AgIAAEkAAAAAAAAAAAAMwGAAAAAXAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-14T02:11:55.478Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 8,
-              "Title": "GZRobot.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\GZRobot.cs",
-              "RelativeDocumentMoniker": "dispatch\\GZRobot.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\GZRobot.cs",
-              "RelativeToolTip": "dispatch\\GZRobot.cs",
-              "ViewState": "AgIAAOcAAAAAAAAAAAAjwAMBAABFAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-06-12T05:54:01.617Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 11,
-              "Title": "DeviceProcess.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\process\\DeviceProcess.cs",
-              "RelativeDocumentMoniker": "process\\DeviceProcess.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\process\\DeviceProcess.cs",
-              "RelativeToolTip": "process\\DeviceProcess.cs",
-              "ViewState": "AgIAADcBAAAAAAAAAAD4vwQBAAAdAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-13T09:22:54.115Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 5,
-              "Title": "ApiModel.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\ApiModel.cs",
-              "RelativeDocumentMoniker": "api\\ApiModel.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\ApiModel.cs",
-              "RelativeToolTip": "api\\ApiModel.cs",
-              "ViewState": "AgIAAEEAAAAAAAAAAAAMwFYAAAAVAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-14T02:39:17.635Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 4,
-              "Title": "TaskCore.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\TaskCore.cs",
-              "RelativeDocumentMoniker": "core\\TaskCore.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\TaskCore.cs",
-              "RelativeToolTip": "core\\TaskCore.cs",
-              "ViewState": "AgIAAFcAAAAAAAAAAAAvwHsAAABWAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-13T01:45:08.835Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 6,
-              "Title": "TaskHelper.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\TaskHelper.cs",
-              "RelativeDocumentMoniker": "wms\\TaskHelper.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\TaskHelper.cs",
-              "RelativeToolTip": "wms\\TaskHelper.cs",
-              "ViewState": "AgIAAOMDAAAAAAAAAAArwAYEAAAsAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-14T02:35:57.671Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 2,
-              "Title": "MoboxController.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\MoboxController.cs",
-              "RelativeDocumentMoniker": "api\\MoboxController.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\MoboxController.cs",
-              "RelativeToolTip": "api\\MoboxController.cs",
-              "ViewState": "AgIAAFMAAAAAAAAAAAAjwGsAAAA9AAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-20T00:59:46.638Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 12,
               "Title": "WcsTask.cs",
               "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\WcsTask.cs",
               "RelativeDocumentMoniker": "dispatch\\WcsTask.cs",
               "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\WcsTask.cs",
               "RelativeToolTip": "dispatch\\WcsTask.cs",
-              "ViewState": "AgIAABQDAAAAAAAAAAAvwC8DAABQAAAAAAAAAA==",
+              "ViewState": "AgIAAF0EAAAAAAAAAAAhwG4EAAAWAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-05-13T09:19:48.409Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 13,
-              "Title": "WcsModel.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WcsModel.cs",
-              "RelativeDocumentMoniker": "wms\\WcsModel.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WcsModel.cs",
-              "RelativeToolTip": "wms\\WcsModel.cs",
-              "ViewState": "AgIAAEUAAAAAAAAAAIA1wFcAAAAVAAAAAAAAAA==",
+              "DocumentIndex": 3,
+              "Title": "TaskCore.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\TaskCore.cs",
+              "RelativeDocumentMoniker": "core\\TaskCore.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\TaskCore.cs",
+              "RelativeToolTip": "core\\TaskCore.cs",
+              "ViewState": "AgIAAA0AAAAAAAAAAAApwCAAAAAuAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-14T06:24:55.849Z"
+              "WhenOpened": "2025-05-13T01:45:08.835Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 14,
-              "Title": "Settings.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\Settings.cs",
-              "RelativeDocumentMoniker": "util\\Settings.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\Settings.cs",
-              "RelativeToolTip": "util\\Settings.cs",
-              "ViewState": "AgIAABwAAAAAAAAAAAA4wDgAAAAIAAAAAAAAAA==",
+              "DocumentIndex": 4,
+              "Title": "TaskProcess.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\process\\TaskProcess.cs",
+              "RelativeDocumentMoniker": "process\\TaskProcess.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\process\\TaskProcess.cs",
+              "RelativeToolTip": "process\\TaskProcess.cs",
+              "ViewState": "AgIAAOgFAAAAAAAAAAAhwMcFAABCAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-22T02:36:21.595Z"
+              "WhenOpened": "2025-05-13T00:45:23.095Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 15,
+              "DocumentIndex": 2,
+              "Title": "Monitor.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\Monitor.cs",
+              "RelativeDocumentMoniker": "core\\Monitor.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\Monitor.cs",
+              "RelativeToolTip": "core\\Monitor.cs",
+              "ViewState": "AgIAAIkAAAAAAAAAAADgv58AAAA6AAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-14T02:11:55.478Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 5,
+              "Title": "WmsController.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\WmsController.cs",
+              "RelativeDocumentMoniker": "api\\WmsController.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\WmsController.cs",
+              "RelativeToolTip": "api\\WmsController.cs",
+              "ViewState": "AgIAAAMAAAAAAAAAAADgvyAAAAAnAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-12T09:36:08.931Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 10,
+              "Title": "WMSModel.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WMSModel.cs",
+              "RelativeDocumentMoniker": "wms\\WMSModel.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WMSModel.cs",
+              "RelativeToolTip": "wms\\WMSModel.cs",
+              "ViewState": "AgIAAC4GAAAAAAAAAAAAwEcGAAAcAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-12T09:36:05.064Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 11,
+              "Title": "LocationHelper.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\LocationHelper.cs",
+              "RelativeDocumentMoniker": "wms\\LocationHelper.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\LocationHelper.cs",
+              "RelativeToolTip": "wms\\LocationHelper.cs",
+              "ViewState": "AgIAAP8BAAAAAAAAAAAawEICAAAfAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-13T09:13:15.283Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 9,
               "Title": "config.json",
               "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\config\\config.json",
               "RelativeDocumentMoniker": "config\\config.json",
               "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\config\\config.json",
               "RelativeToolTip": "config\\config.json",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAA==",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAApAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
-              "WhenOpened": "2025-05-13T02:21:47.086Z"
+              "WhenOpened": "2025-05-13T02:21:47.086Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 8,
+              "Title": "Settings.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\Settings.cs",
+              "RelativeDocumentMoniker": "util\\Settings.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\Settings.cs",
+              "RelativeToolTip": "util\\Settings.cs",
+              "ViewState": "AgIAAA0AAAAAAAAAAAAtwB8AAAAkAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-22T02:36:21.595Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 0,
+              "Title": "TaskHelper.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\TaskHelper.cs",
+              "RelativeDocumentMoniker": "wms\\TaskHelper.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\TaskHelper.cs*",
+              "RelativeToolTip": "wms\\TaskHelper.cs*",
+              "ViewState": "AgIAAAgCAAAAAAAAAADgvx4CAAAjAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-14T02:35:57.671Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 7,
+              "Title": "WcsController.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\WcsController.cs",
+              "RelativeDocumentMoniker": "api\\WcsController.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\WcsController.cs",
+              "RelativeToolTip": "api\\WcsController.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvw4AAAAIAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-06-30T05:56:36.418Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 6,
+              "Title": "DeviceProcess.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\process\\DeviceProcess.cs",
+              "RelativeDocumentMoniker": "process\\DeviceProcess.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\process\\DeviceProcess.cs",
+              "RelativeToolTip": "process\\DeviceProcess.cs",
+              "ViewState": "AgIAAJABAAAAAAAAAAAhwHkBAAAdAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-13T09:22:54.115Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 12,
+              "Title": "WcsModel.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WcsModel.cs",
+              "RelativeDocumentMoniker": "wms\\WcsModel.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WcsModel.cs",
+              "RelativeToolTip": "wms\\WcsModel.cs",
+              "ViewState": "AgIAAFsAAAAAAAAAAAAhwHEAAAAVAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-14T06:24:55.849Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 13,
+              "Title": "ContainerHelper.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\ContainerHelper.cs",
+              "RelativeDocumentMoniker": "wms\\ContainerHelper.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\ContainerHelper.cs",
+              "RelativeToolTip": "wms\\ContainerHelper.cs",
+              "ViewState": "AgIAADEAAAAAAAAAAAASwEUAAAAdAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-06-23T09:31:28.026Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 14,
+              "Title": "MoboxController.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\MoboxController.cs",
+              "RelativeDocumentMoniker": "api\\MoboxController.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\MoboxController.cs",
+              "RelativeToolTip": "api\\MoboxController.cs",
+              "ViewState": "AgIAAAoAAAAAAAAAAAAqwGcAAAAsAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-20T00:59:46.638Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 15,
+              "Title": "LogHelper.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\LogHelper.cs",
+              "RelativeDocumentMoniker": "util\\LogHelper.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\LogHelper.cs",
+              "RelativeToolTip": "util\\LogHelper.cs",
+              "ViewState": "AgIAAEEAAAAAAAAAAAAiwFcAAABeAQAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-29T07:39:06.007Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 18,
+              "Title": "ApiModel.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\ApiModel.cs",
+              "RelativeDocumentMoniker": "api\\ApiModel.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\ApiModel.cs",
+              "RelativeToolTip": "api\\ApiModel.cs",
+              "ViewState": "AgIAADsDAAAAAAAAAIA8wEoDAAAVAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-14T02:39:17.635Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 17,
+              "Title": "Startup.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\Startup.cs",
+              "RelativeDocumentMoniker": "api\\Startup.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\Startup.cs",
+              "RelativeToolTip": "api\\Startup.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAAeAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-30T00:50:07.591Z"
             },
             {
               "$type": "Document",
               "DocumentIndex": 16,
+              "Title": "AgvController.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\AgvController.cs",
+              "RelativeDocumentMoniker": "api\\AgvController.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\AgvController.cs",
+              "RelativeToolTip": "api\\AgvController.cs",
+              "ViewState": "AgIAABwAAAAAAAAAAAAAwCUAAAASAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-13T03:17:31.542Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 19,
+              "Title": "Program.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\Program.cs",
+              "RelativeDocumentMoniker": "Program.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\Program.cs",
+              "RelativeToolTip": "Program.cs",
+              "ViewState": "AgIAABAAAAAAAAAAAAAewF0AAAAqAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-14T08:30:12.949Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 20,
+              "Title": "GZRobot.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\GZRobot.cs",
+              "RelativeDocumentMoniker": "dispatch\\GZRobot.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\GZRobot.cs",
+              "RelativeToolTip": "dispatch\\GZRobot.cs",
+              "ViewState": "AgIAACoBAAAAAAAAAAArwEoBAAAZAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-06-12T05:54:01.617Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 21,
               "Title": "NDCApi.cs",
               "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\NDCApi.cs",
               "RelativeDocumentMoniker": "dispatch\\NDCApi.cs",
               "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\NDCApi.cs",
               "RelativeToolTip": "dispatch\\NDCApi.cs",
-              "ViewState": "AgIAAI8AAAAAAAAAAAD4v6cAAAAjAAAAAAAAAA==",
+              "ViewState": "AgIAAJEAAAAAAAAAAIA0wKMAAAAkAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-05-27T06:31:46.399Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 19,
+              "DocumentIndex": 23,
               "Title": "WMSHelper.cs",
               "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WMSHelper.cs",
               "RelativeDocumentMoniker": "wms\\WMSHelper.cs",
@@ -359,19 +427,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 18,
-              "Title": "ContainerHelper.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\ContainerHelper.cs",
-              "RelativeDocumentMoniker": "wms\\ContainerHelper.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\ContainerHelper.cs",
-              "RelativeToolTip": "wms\\ContainerHelper.cs",
-              "ViewState": "AgIAADwAAAAAAAAAAAArwFYAAAAiAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-06-23T09:31:28.026Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 17,
+              "DocumentIndex": 22,
               "Title": "HttpHelper.cs",
               "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\HttpHelper.cs",
               "RelativeDocumentMoniker": "util\\HttpHelper.cs",
@@ -383,43 +439,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 20,
-              "Title": "Program.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\Program.cs",
-              "RelativeDocumentMoniker": "Program.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\Program.cs",
-              "RelativeToolTip": "Program.cs",
-              "ViewState": "AgIAAEgAAAAAAAAAAAAjwHAAAABCAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-14T08:30:12.949Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 21,
-              "Title": "LogHelper.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\LogHelper.cs",
-              "RelativeDocumentMoniker": "util\\LogHelper.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\LogHelper.cs",
-              "RelativeToolTip": "util\\LogHelper.cs",
-              "ViewState": "AgIAAEEAAAAAAAAAAAAiwFcAAABJAQAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-29T07:39:06.007Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 22,
-              "Title": "Startup.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\Startup.cs",
-              "RelativeDocumentMoniker": "api\\Startup.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\Startup.cs",
-              "RelativeToolTip": "api\\Startup.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-30T00:50:07.591Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 23,
+              "DocumentIndex": 24,
               "Title": "TopSdk.dll",
               "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\TopSdk.dll",
               "RelativeDocumentMoniker": "util\\TopSdk.dll",
@@ -430,7 +450,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 24,
+              "DocumentIndex": 25,
               "Title": "STAttribute.cs",
               "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\STAttribute.cs",
               "RelativeDocumentMoniker": "util\\STAttribute.cs",
@@ -442,7 +462,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 25,
+              "DocumentIndex": 26,
               "Title": "DingTalk.cs",
               "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\DingTalk.cs",
               "RelativeDocumentMoniker": "util\\DingTalk.cs",
diff --git a/.vs/HH.WCS.ZhongCeJinTan/v17/DocumentLayout.json b/.vs/HH.WCS.ZhongCeJinTan/v17/DocumentLayout.json
index 622dbcc..38b6a0d 100644
--- a/.vs/HH.WCS.ZhongCeJinTan/v17/DocumentLayout.json
+++ b/.vs/HH.WCS.ZhongCeJinTan/v17/DocumentLayout.json
@@ -1,109 +1,113 @@
 {
   "Version": 1,
-  "WorkspaceRootPath": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\",
+  "WorkspaceRootPath": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\",
   "Documents": [
     {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|c:\\users\\29562\\desktop\\hh-0129_zhongcejintan\\process\\taskprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:process\\taskprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\dispatch\\ndcapi.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:dispatch\\ndcapi.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\process\\deviceprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:process\\deviceprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\core\\taskcore.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:core\\taskcore.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\dispatch\\wcstask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:dispatch\\wcstask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\api\\wmscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\wmscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\core\\monitor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\monitor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:core\\monitor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\wms\\locationhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\locationhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\api\\agvcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\agvcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\api\\moboxcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\moboxcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\api\\apimodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\apimodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\wms\\taskhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\taskhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\taskhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\wms\\wmsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\wmsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\dispatch\\gzrobot.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:dispatch\\gzrobot.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\wms\\wcsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\wcsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\util\\settings.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:util\\settings.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\config\\config.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:config\\config.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\util\\httphelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:util\\httphelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\wms\\containerhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\containerhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\containerhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\wms\\wmshelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\wmshelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\taskcore.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:core\\taskcore.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\util\\loghelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\wmscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\wmscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\locationhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\locationhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\agvcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\agvcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|c:\\users\\29562\\source\\repos\\hh-0129_zhongcejintan\\dispatch\\wcstask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:dispatch\\wcstask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\process\\taskprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:process\\taskprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\wmsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\wmsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\httphelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:util\\httphelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\loghelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:util\\loghelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\api\\startup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\process\\deviceprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:process\\deviceprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\wcscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\wcscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\settings.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:util\\settings.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\config\\config.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:config\\config.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\wcsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\wcsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\moboxcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\moboxcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\startup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\startup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\util\\topsdk.dll||{177559E0-D141-11D0-92DF-00A0C9138C45}",
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\apimodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\apimodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\gzrobot.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:dispatch\\gzrobot.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\ndcapi.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:dispatch\\ndcapi.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\wmshelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\wmshelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\topsdk.dll||{177559E0-D141-11D0-92DF-00A0C9138C45}",
       "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:util\\topsdk.dll||{177559E0-D141-11D0-92DF-00A0C9138C45}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\util\\stattribute.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\stattribute.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:util\\stattribute.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\util\\dingtalk.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\dingtalk.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:util\\dingtalk.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     }
   ],
@@ -114,242 +118,323 @@
       "DocumentGroups": [
         {
           "DockedHeight": 387,
-          "SelectedChildIndex": 0,
+          "SelectedChildIndex": 6,
           "Children": [
             {
-              "$type": "Document",
-              "DocumentIndex": 0,
-              "Title": "TaskProcess.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\process\\TaskProcess.cs",
-              "RelativeDocumentMoniker": "process\\TaskProcess.cs",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\process\\TaskProcess.cs*",
-              "RelativeToolTip": "process\\TaskProcess.cs*",
-              "ViewState": "AQIAAJkBAAAAAAAAAAAawLoBAAAfAAAA",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-13T00:45:23.095Z",
-              "EditorCaption": ""
+              "$type": "Bookmark",
+              "Name": "ST:129:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:128:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 8,
-              "Title": "LocationHelper.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\wms\\LocationHelper.cs",
-              "RelativeDocumentMoniker": "wms\\LocationHelper.cs",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\wms\\LocationHelper.cs",
-              "RelativeToolTip": "wms\\LocationHelper.cs",
-              "ViewState": "AQIAACMEAAAAAAAAAAAtwEQEAAA/AAAA",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-13T09:13:15.283Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 9,
-              "Title": "AgvController.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\api\\AgvController.cs",
-              "RelativeDocumentMoniker": "api\\AgvController.cs",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\api\\AgvController.cs",
-              "RelativeToolTip": "api\\AgvController.cs",
-              "ViewState": "AQIAAA8AAAAAAAAAAAAAABoAAAAgAAAA",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-13T03:17:31.542Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 5,
-              "Title": "WmsController.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\api\\WmsController.cs",
-              "RelativeDocumentMoniker": "api\\WmsController.cs",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\api\\WmsController.cs",
-              "RelativeToolTip": "api\\WmsController.cs",
-              "ViewState": "AQIAAFUAAAAAAAAAAAAUwIYAAAAqAAAA",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-12T09:36:08.931Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 6,
-              "Title": "Monitor.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\core\\Monitor.cs",
-              "RelativeDocumentMoniker": "core\\Monitor.cs",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\core\\Monitor.cs",
-              "RelativeToolTip": "core\\Monitor.cs",
-              "ViewState": "AQIAACsAAAAAAAAAAAAAwAAAAAAAAAAA",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-14T02:11:55.478Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 14,
-              "Title": "GZRobot.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\dispatch\\GZRobot.cs",
-              "RelativeDocumentMoniker": "dispatch\\GZRobot.cs",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\dispatch\\GZRobot.cs",
-              "RelativeToolTip": "dispatch\\GZRobot.cs",
-              "ViewState": "AgIAAOcAAAAAAAAAAAAjwAMBAABFAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-06-12T05:54:01.617Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 2,
-              "Title": "DeviceProcess.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\process\\DeviceProcess.cs",
-              "RelativeDocumentMoniker": "process\\DeviceProcess.cs",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\process\\DeviceProcess.cs",
-              "RelativeToolTip": "process\\DeviceProcess.cs",
-              "ViewState": "AQIAAMIAAAAAAAAAAAAtwJ4AAAAjAAAA",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-13T09:22:54.115Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 11,
-              "Title": "ApiModel.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\api\\ApiModel.cs",
-              "RelativeDocumentMoniker": "api\\ApiModel.cs",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\api\\ApiModel.cs",
-              "RelativeToolTip": "api\\ApiModel.cs",
-              "ViewState": "AgIAAEEAAAAAAAAAAAAMwFYAAAAVAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-14T02:39:17.635Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 3,
-              "Title": "TaskCore.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\core\\TaskCore.cs",
-              "RelativeDocumentMoniker": "core\\TaskCore.cs",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\core\\TaskCore.cs",
-              "RelativeToolTip": "core\\TaskCore.cs",
-              "ViewState": "AQIAAEkAAAAAAAAAAAAAwG0AAAAnAAAA",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-13T01:45:08.835Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 12,
-              "Title": "TaskHelper.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\wms\\TaskHelper.cs",
-              "RelativeDocumentMoniker": "wms\\TaskHelper.cs",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\wms\\TaskHelper.cs",
-              "RelativeToolTip": "wms\\TaskHelper.cs",
-              "ViewState": "AgIAAOMDAAAAAAAAAAArwAYEAAAsAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-14T02:35:57.671Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 10,
-              "Title": "MoboxController.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\api\\MoboxController.cs",
-              "RelativeDocumentMoniker": "api\\MoboxController.cs",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\api\\MoboxController.cs",
-              "RelativeToolTip": "api\\MoboxController.cs",
-              "ViewState": "AQIAAD4AAAAAAAAAAAAAAFUAAAAxAAAA",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-20T00:59:46.638Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 4,
+              "DocumentIndex": 7,
               "Title": "WcsTask.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\dispatch\\WcsTask.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\WcsTask.cs",
               "RelativeDocumentMoniker": "dispatch\\WcsTask.cs",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\dispatch\\WcsTask.cs",
-              "RelativeToolTip": "dispatch\\WcsTask.cs",
-              "ViewState": "AQIAADUEAAAAAAAAAAAMwE0CAAA6AAAA",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\WcsTask.cs*",
+              "RelativeToolTip": "dispatch\\WcsTask.cs*",
+              "ViewState": "AgIAAJ8CAAAAAAAAAAAhwMcCAADRAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-05-13T09:19:48.409Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 15,
-              "Title": "WcsModel.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\wms\\WcsModel.cs",
-              "RelativeDocumentMoniker": "wms\\WcsModel.cs",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\wms\\WcsModel.cs",
-              "RelativeToolTip": "wms\\WcsModel.cs",
-              "ViewState": "AgIAAEUAAAAAAAAAAIA1wFcAAAAVAAAAAAAAAA==",
+              "DocumentIndex": 3,
+              "Title": "TaskCore.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\TaskCore.cs",
+              "RelativeDocumentMoniker": "core\\TaskCore.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\TaskCore.cs",
+              "RelativeToolTip": "core\\TaskCore.cs",
+              "ViewState": "AgIAABgAAAAAAAAAAADgvyAAAAAuAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-14T06:24:55.849Z"
+              "WhenOpened": "2025-05-13T01:45:08.835Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 16,
-              "Title": "Settings.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\util\\Settings.cs",
-              "RelativeDocumentMoniker": "util\\Settings.cs",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\util\\Settings.cs",
-              "RelativeToolTip": "util\\Settings.cs",
-              "ViewState": "AgIAABwAAAAAAAAAAAA4wDgAAAAIAAAAAAAAAA==",
+              "DocumentIndex": 8,
+              "Title": "TaskProcess.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\process\\TaskProcess.cs",
+              "RelativeDocumentMoniker": "process\\TaskProcess.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\process\\TaskProcess.cs*",
+              "RelativeToolTip": "process\\TaskProcess.cs*",
+              "ViewState": "AgIAAJoBAAAAAAAAAAAhwKkBAAB9AAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-22T02:36:21.595Z"
+              "WhenOpened": "2025-05-13T00:45:23.095Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 7,
-              "Title": "Program.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\Program.cs",
-              "RelativeDocumentMoniker": "Program.cs",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\Program.cs",
-              "RelativeToolTip": "Program.cs",
-              "ViewState": "AQIAAE8AAAAAAAAAAAAawGEAAAAwAAAA",
+              "DocumentIndex": 0,
+              "Title": "Monitor.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\Monitor.cs",
+              "RelativeDocumentMoniker": "core\\Monitor.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\Monitor.cs*",
+              "RelativeToolTip": "core\\Monitor.cs*",
+              "ViewState": "AgIAALoAAAAAAAAAAAAhwN4AAAALAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-14T08:30:12.949Z",
+              "WhenOpened": "2025-05-14T02:11:55.478Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 4,
+              "Title": "WmsController.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\WmsController.cs",
+              "RelativeDocumentMoniker": "api\\WmsController.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\WmsController.cs",
+              "RelativeToolTip": "api\\WmsController.cs",
+              "ViewState": "AgIAAHsAAAAAAAAAAAAhwI0AAAAjAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-12T09:36:08.931Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 1,
-              "Title": "NDCApi.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\dispatch\\NDCApi.cs",
-              "RelativeDocumentMoniker": "dispatch\\NDCApi.cs",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\dispatch\\NDCApi.cs",
-              "RelativeToolTip": "dispatch\\NDCApi.cs",
-              "ViewState": "AQIAAIYAAAAAAAAAAAAtwKcAAAAOAAAA",
+              "Title": "TaskHelper.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\TaskHelper.cs",
+              "RelativeDocumentMoniker": "wms\\TaskHelper.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\TaskHelper.cs*",
+              "RelativeToolTip": "wms\\TaskHelper.cs*",
+              "ViewState": "AgIAAAcDAAAAAAAAAAAawCMDAAAOAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-27T06:31:46.399Z",
+              "WhenOpened": "2025-05-14T02:35:57.671Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 11,
+              "Title": "LogHelper.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\LogHelper.cs",
+              "RelativeDocumentMoniker": "util\\LogHelper.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\LogHelper.cs",
+              "RelativeToolTip": "util\\LogHelper.cs",
+              "ViewState": "AgIAAEEAAAAAAAAAAAAiwFcAAABeAQAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-29T07:39:06.007Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 10,
+              "Title": "HttpHelper.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\HttpHelper.cs",
+              "RelativeDocumentMoniker": "util\\HttpHelper.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\HttpHelper.cs",
+              "RelativeToolTip": "util\\HttpHelper.cs",
+              "ViewState": "AgIAAKMAAAAAAAAAAAAhwK0AAAAWAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-06-24T08:21:19.702Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 5,
+              "Title": "LocationHelper.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\LocationHelper.cs",
+              "RelativeDocumentMoniker": "wms\\LocationHelper.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\LocationHelper.cs",
+              "RelativeToolTip": "wms\\LocationHelper.cs",
+              "ViewState": "AgIAAA4GAAAAAAAAAAASwCIGAAAdAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-13T09:13:15.283Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 2,
+              "Title": "ContainerHelper.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\ContainerHelper.cs",
+              "RelativeDocumentMoniker": "wms\\ContainerHelper.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\ContainerHelper.cs",
+              "RelativeToolTip": "wms\\ContainerHelper.cs",
+              "ViewState": "AgIAACIAAAAAAAAAAAASwDYAAAAdAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-06-23T09:31:28.026Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 9,
+              "Title": "WMSModel.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WMSModel.cs",
+              "RelativeDocumentMoniker": "wms\\WMSModel.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WMSModel.cs",
+              "RelativeToolTip": "wms\\WMSModel.cs",
+              "ViewState": "AgIAAKwCAAAAAAAAAADgv74CAAAWAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-12T09:36:05.064Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 6,
+              "Title": "AgvController.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\AgvController.cs",
+              "RelativeDocumentMoniker": "api\\AgvController.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\AgvController.cs",
+              "RelativeToolTip": "api\\AgvController.cs",
+              "ViewState": "AgIAABwAAAAAAAAAAAAAwCUAAAASAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-13T03:17:31.542Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 12,
+              "Title": "DeviceProcess.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\process\\DeviceProcess.cs",
+              "RelativeDocumentMoniker": "process\\DeviceProcess.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\process\\DeviceProcess.cs",
+              "RelativeToolTip": "process\\DeviceProcess.cs",
+              "ViewState": "AgIAAJABAAAAAAAAAAAhwHkBAAAdAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-13T09:22:54.115Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 13,
-              "Title": "WMSModel.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\wms\\WMSModel.cs",
-              "RelativeDocumentMoniker": "wms\\WMSModel.cs",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\wms\\WMSModel.cs",
-              "RelativeToolTip": "wms\\WMSModel.cs",
-              "ViewState": "AgIAAAwGAAAAAAAAAAAjwB4GAAARAAAAAAAAAA==",
+              "Title": "WcsController.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\WcsController.cs",
+              "RelativeDocumentMoniker": "api\\WcsController.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\WcsController.cs",
+              "RelativeToolTip": "api\\WcsController.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvw4AAAAIAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-12T09:36:05.064Z"
+              "WhenOpened": "2025-06-30T05:56:36.418Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 14,
+              "Title": "Settings.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\Settings.cs",
+              "RelativeDocumentMoniker": "util\\Settings.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\Settings.cs",
+              "RelativeToolTip": "util\\Settings.cs",
+              "ViewState": "AgIAAA0AAAAAAAAAAAAtwB8AAAAkAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-22T02:36:21.595Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 15,
+              "Title": "config.json",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\config\\config.json",
+              "RelativeDocumentMoniker": "config\\config.json",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\config\\config.json",
+              "RelativeToolTip": "config\\config.json",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAApAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
+              "WhenOpened": "2025-05-13T02:21:47.086Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 16,
+              "Title": "WcsModel.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WcsModel.cs",
+              "RelativeDocumentMoniker": "wms\\WcsModel.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WcsModel.cs",
+              "RelativeToolTip": "wms\\WcsModel.cs",
+              "ViewState": "AgIAAFsAAAAAAAAAAAAhwHEAAAAVAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-14T06:24:55.849Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 17,
-              "Title": "config.json",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\config\\config.json",
-              "RelativeDocumentMoniker": "config\\config.json",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\config\\config.json",
-              "RelativeToolTip": "config\\config.json",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
-              "WhenOpened": "2025-05-13T02:21:47.086Z"
+              "Title": "MoboxController.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\MoboxController.cs",
+              "RelativeDocumentMoniker": "api\\MoboxController.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\MoboxController.cs",
+              "RelativeToolTip": "api\\MoboxController.cs",
+              "ViewState": "AgIAAAoAAAAAAAAAAAAqwGcAAAAsAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-20T00:59:46.638Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 19,
+              "Title": "ApiModel.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\ApiModel.cs",
+              "RelativeDocumentMoniker": "api\\ApiModel.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\ApiModel.cs",
+              "RelativeToolTip": "api\\ApiModel.cs",
+              "ViewState": "AgIAADsDAAAAAAAAAIA8wEoDAAAVAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-14T02:39:17.635Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 18,
+              "Title": "Startup.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\Startup.cs",
+              "RelativeDocumentMoniker": "api\\Startup.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\Startup.cs",
+              "RelativeToolTip": "api\\Startup.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAAeAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-30T00:50:07.591Z"
             },
             {
               "$type": "Document",
               "DocumentIndex": 20,
+              "Title": "Program.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\Program.cs",
+              "RelativeDocumentMoniker": "Program.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\Program.cs",
+              "RelativeToolTip": "Program.cs",
+              "ViewState": "AgIAABAAAAAAAAAAAAAewF0AAAAqAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-14T08:30:12.949Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 21,
+              "Title": "GZRobot.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\GZRobot.cs",
+              "RelativeDocumentMoniker": "dispatch\\GZRobot.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\GZRobot.cs",
+              "RelativeToolTip": "dispatch\\GZRobot.cs",
+              "ViewState": "AgIAACoBAAAAAAAAAAArwEoBAAAZAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-06-12T05:54:01.617Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 22,
+              "Title": "NDCApi.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\NDCApi.cs",
+              "RelativeDocumentMoniker": "dispatch\\NDCApi.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\NDCApi.cs",
+              "RelativeToolTip": "dispatch\\NDCApi.cs",
+              "ViewState": "AgIAAJEAAAAAAAAAAIA0wKMAAAAkAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-27T06:31:46.399Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 23,
               "Title": "WMSHelper.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\wms\\WMSHelper.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WMSHelper.cs",
               "RelativeDocumentMoniker": "wms\\WMSHelper.cs",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\wms\\WMSHelper.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WMSHelper.cs",
               "RelativeToolTip": "wms\\WMSHelper.cs",
               "ViewState": "AgIAAAgAAAAAAAAAAAD4vyMAAAAdAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
@@ -357,70 +442,22 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 19,
-              "Title": "ContainerHelper.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\wms\\ContainerHelper.cs",
-              "RelativeDocumentMoniker": "wms\\ContainerHelper.cs",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\wms\\ContainerHelper.cs",
-              "RelativeToolTip": "wms\\ContainerHelper.cs",
-              "ViewState": "AgIAADwAAAAAAAAAAAArwFYAAAAiAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-06-23T09:31:28.026Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 18,
-              "Title": "HttpHelper.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\util\\HttpHelper.cs",
-              "RelativeDocumentMoniker": "util\\HttpHelper.cs",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\util\\HttpHelper.cs",
-              "RelativeToolTip": "util\\HttpHelper.cs",
-              "ViewState": "AgIAAAkAAAAAAAAAAAAMwCAAAAASAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-06-24T08:21:19.702Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 21,
-              "Title": "LogHelper.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\util\\LogHelper.cs",
-              "RelativeDocumentMoniker": "util\\LogHelper.cs",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\util\\LogHelper.cs",
-              "RelativeToolTip": "util\\LogHelper.cs",
-              "ViewState": "AgIAAEEAAAAAAAAAAAAiwFcAAABJAQAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-29T07:39:06.007Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 22,
-              "Title": "Startup.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\api\\Startup.cs",
-              "RelativeDocumentMoniker": "api\\Startup.cs",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\api\\Startup.cs",
-              "RelativeToolTip": "api\\Startup.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-30T00:50:07.591Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 23,
+              "DocumentIndex": 24,
               "Title": "TopSdk.dll",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\util\\TopSdk.dll",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\TopSdk.dll",
               "RelativeDocumentMoniker": "util\\TopSdk.dll",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\util\\TopSdk.dll",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\TopSdk.dll",
               "RelativeToolTip": "util\\TopSdk.dll",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001697|",
               "WhenOpened": "2025-06-23T01:24:38.765Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 24,
+              "DocumentIndex": 25,
               "Title": "STAttribute.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\util\\STAttribute.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\STAttribute.cs",
               "RelativeDocumentMoniker": "util\\STAttribute.cs",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\util\\STAttribute.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\STAttribute.cs",
               "RelativeToolTip": "util\\STAttribute.cs",
               "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
@@ -428,11 +465,11 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 25,
+              "DocumentIndex": 26,
               "Title": "DingTalk.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\util\\DingTalk.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\DingTalk.cs",
               "RelativeDocumentMoniker": "util\\DingTalk.cs",
-              "ToolTip": "C:\\Users\\29562\\Desktop\\HH-0129_ZhongCeJinTan\\util\\DingTalk.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\DingTalk.cs",
               "RelativeToolTip": "util\\DingTalk.cs",
               "ViewState": "AgIAAFQBAAAAAAAAAAAswGsBAAAPAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
diff --git a/HH.WCS.ZhongCeJinTan.csproj b/HH.WCS.ZhongCeJinTan.csproj
index 41a295f..b3d6980 100644
--- a/HH.WCS.ZhongCeJinTan.csproj
+++ b/HH.WCS.ZhongCeJinTan.csproj
@@ -127,6 +127,7 @@
     <Compile Include="api\MoboxController.cs" />
     <Compile Include="api\AgvController.cs" />
     <Compile Include="api\ApiModel.cs" />
+    <Compile Include="api\WcsController.cs" />
     <Compile Include="api\WmsController.cs" />
     <Compile Include="device\ModbusHelper.cs" />
     <Compile Include="device\PlcHelper.cs" />
diff --git a/api/WcsController.cs b/api/WcsController.cs
new file mode 100644
index 0000000..ce51fa3
--- /dev/null
+++ b/api/WcsController.cs
@@ -0,0 +1,22 @@
+锘縰sing HH.WCS.ZhongCeJinTan.dispatch;
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using static HH.WCS.ZhongCeJinTan.api.ApiModel;
+using System.Web.Http;
+
+namespace HH.WCS.ZhongCeJinTan.api
+{
+    internal class WcsController : System.Web.Http.ApiController
+    {
+        
+
+
+
+
+
+    }
+}
diff --git a/api/WmsController.cs b/api/WmsController.cs
index d5ccd81..52ef1c7 100644
--- a/api/WmsController.cs
+++ b/api/WmsController.cs
@@ -26,6 +26,7 @@
         /// <param name="jsonData"></param>
         /// <returns></returns>
         [HttpPost]
+        [Route("api/ZcInWorkArea")]
         public Result ZcInWorkArea(ZcInWorkAreaParme model)
         {
             LogHelper.Info("ZcInWorkArea 鍙傛暟锛� + JsonConvert.SerializeObject(model), "Mes浠诲姟涓嬪彂");
@@ -43,6 +44,7 @@
         /// <param name="model"></param>
         /// <returns></returns>
         [HttpPost]
+        [Route("api/SendTaskZCMes")]
         public Result SendTaskZCMes(PtpTaskParme model)
         {
             LogHelper.Info("SendTaskZCMes 鍙傛暟锛� + JsonConvert.SerializeObject(model), "鐐瑰埌鐐�);
@@ -57,6 +59,7 @@
         /// 鍙栨秷浠诲姟
         /// </summary>
         [HttpPost]
+        [Route("api/CancelTask")]
         public Result CancelTask(cancleTaskParme model)
         {
             LogHelper.Info("cancelTask 鍙傛暟锛� + JsonConvert.SerializeObject(model), "鍙栨秷");
@@ -70,6 +73,7 @@
         /// MES鐗╂枡缁戝畾璐т綅鎺ュ彛
         /// </summary>
         [HttpPost]
+        [Route("api/MesBindUnbind")]
         public Result MesBindUnbind(BindUnbindParme model)
         {
             LogHelper.Info("MesBindUnbind 鍙傛暟锛� + JsonConvert.SerializeObject(model), "鐗╂枡缁戝畾瑙g粦");
@@ -84,6 +88,7 @@
         /// </summary>
         /// <returns></returns>
         [HttpPost]
+        [Route("api/InventoryRecords")]
         public MesAreaSecItemReturn InventoryRecords(MesAreaSecItemParme model)
         {
             LogHelper.Info("InventoryRecords 鍙傛暟锛� + JsonConvert.SerializeObject(model), "鐗╂枡缁戝畾瑙g粦");
@@ -97,6 +102,7 @@
         /// </summary>
         /// <returns></returns>
         [HttpPost]
+        [Route("api/MesUdeItem")]
         public Result MesUdeItem(MesUdeItemParme model)
         {
             LogHelper.Info("MesUdeItem 鍙傛暟锛� + JsonConvert.SerializeObject(model), "鐗╂枡缁戝畾瑙g粦");
@@ -110,14 +116,14 @@
         /// 搴撲綅鎿嶄綔璁板綍鎺ュ彛
         /// </summary>
         /// <returns></returns>
-        [HttpPost]
-        public Result LocationRecords(MesUdeItemParme model)
-        {
-            LogHelper.Info("MesUdeItem 鍙傛暟锛� + JsonConvert.SerializeObject(model), "鐗╂枡缁戝畾瑙g粦");
-            var res = TaskProcess.MesUdeItem(model);
-            LogHelper.Info("MesUdeItem 杩斿洖锛� + JsonConvert.SerializeObject(res), "鐗╂枡缁戝畾瑙g粦");
-            return res;
-        }
+        //[HttpPost]
+        //public Result LocationRecords(MesUdeItemParme model)
+        //{
+        //    LogHelper.Info("MesUdeItem 鍙傛暟锛� + JsonConvert.SerializeObject(model), "鐗╂枡缁戝畾瑙g粦");
+        //    var res = TaskProcess.MesUdeItem(model);
+        //    LogHelper.Info("MesUdeItem 杩斿洖锛� + JsonConvert.SerializeObject(res), "鐗╂枡缁戝畾瑙g粦");
+        //    return res;
+        //}
 
 
 
@@ -129,6 +135,7 @@
         /// </summary>
         /// <returns></returns>
         [HttpPost]
+        [Route("api/WcsOperateTask")]
         public WcsWarningReurn WcsOperateTask(WcsOperateTaskParme model)
         {
             LogHelper.Info("WcsOperateTask浠诲姟鎵ц閫氱煡 鍙傛暟锛� + JsonConvert.SerializeObject(model), "Wcs浠诲姟鎵ц閫氱煡 ");
@@ -143,6 +150,7 @@
         /// </summary>
         /// <returns></returns>
         [HttpPost]
+        [Route("api/WcsTaskProcessing")]
         public WcsWarningReurn WcsTaskProcessing(WcsWarningParme model)
         {
             LogHelper.Info("WcsTaskProcessing鎶ヨ涓婃姤 鍙傛暟锛� + JsonConvert.SerializeObject(model), "鎶ヨ涓婃姤");
@@ -157,6 +165,7 @@
         /// </summary>
         /// <returns></returns>
         [HttpPost]
+        [Route("api/WcsRoadwaystate")]
         public WcsWarningReurn WcsRoadwaystate(WcsRoadwaystateParme model)
         {
             LogHelper.Info("WcsRoadwaystate宸烽亾鍙敤涓婃姤 鍙傛暟锛� + JsonConvert.SerializeObject(model), "宸烽亾鍙敤涓婃姤");
@@ -171,6 +180,7 @@
         /// </summary>
         /// <returns></returns>
         [HttpPost]
+        [Route("api/ZcSafetyRequest")]
         public WcsWarningReurn agvResponse(agvResponseParme model)
         {
             LogHelper.Info("agvResponse閫氱煡纭 鍙傛暟锛� + JsonConvert.SerializeObject(model), "閫氱煡纭");
@@ -181,15 +191,16 @@
 
 
         /// <summary>
-        /// Wcs鏀捐揣鏈夎揣 闇�鏀归亾
+        /// Wcs鏀捐揣鏈夎揣 闇�鏀归亾  鍙栬揣鏃犺揣 鍙栨秷浠诲姟
         /// </summary>
         /// <returns></returns>
         [HttpPost]
+        [Route("api/ZcInChangeBit")]
         public WcsWarningReurn ZcInChangeBit(changeBitParme model)
         {
-            LogHelper.Info("ZcInChangeBit 鏀捐揣鏈夎揣鍙傛暟锛� + JsonConvert.SerializeObject(model), "鏀捐揣鏈夎揣");
+            LogHelper.Info("ZcInChangeBit 鏀捐揣鏈夎揣鎴栧彇璐ф棤璐у弬鏁帮細" + JsonConvert.SerializeObject(model), "鏀捐揣鏈夎揣");
             var res = WcsTask.ZcInChangeBit(model);
-            LogHelper.Info("ZcInChangeBit 鏀捐揣鏈夎揣杩斿洖锛� + JsonConvert.SerializeObject(res), "鏀捐揣鏈夎揣");
+            LogHelper.Info("ZcInChangeBit 鏀捐揣鏈夎揣鎴栧彇璐ф棤璐ц繑鍥烇細" + JsonConvert.SerializeObject(res), "鏀捐揣鏈夎揣");
             return res;
         }
 
@@ -197,7 +208,8 @@
         /// Wcs涓嬪彂浠诲姟
         /// </summary>
         /// <returns></returns>
-        [HttpPost]
+        [HttpPost] 
+        [Route("api/ZcWcsInWorkArea")]
         public WcsWarningReurn ZcWcsInWorkArea(WcsOperateTaskParme1 model)
         {
             LogHelper.Info("ZcWcsInWorkArea 鍙傛暟锛� + JsonConvert.SerializeObject(model), "Wcs涓嬪彂浠诲姟");
diff --git a/config/config.json b/config/config.json
index e4e9b97..35419b2 100644
--- a/config/config.json
+++ b/config/config.json
@@ -4,6 +4,8 @@
   "MesGetItemApi": "http://192.168.1.126:3305/mes-admin/api/ssd", //鑾峰彇mes鐗╂枡淇℃伅
   "WcsApiAddres": "http://192.168.1.126:3305/wcs-admin/api/", //wcs鎺ュ彛
   "NDCApiUrl": "http://192.168.1.143:3305/api/order/", //hosttoagv
+
+  "MesApiAddres": "http://192.168.1.126:3305/wcs-admin/api/", //mes鎺ュ彛
   "TmDeviceIp": "192.168.1.126", //璁惧浜や簰ip
   "TmDevicePort": 508, //璁惧浜や簰绔彛
   "AppKey": "OpenInfo",
diff --git a/core/Monitor.cs b/core/Monitor.cs
index e625389..0f1e4ee 100644
--- a/core/Monitor.cs
+++ b/core/Monitor.cs
@@ -157,6 +157,7 @@
                                         TaskHelper.Begin(wmsTask, model.forklift_no);
                                         //鑳庨潰浜や簰
                                         TaskHelper.TmSafety(wmsTask);
+                                        TaskHelper.opMesTask(wmsTask,1);
                                         break;
                                     case 3:
                                         TaskHelper.UpdateStatus(wmsTask, "寮�鍙栬揣");
@@ -188,20 +189,21 @@
                                         LogHelper.Info($"浠诲姟{wmsTask.S_CODE}瀹屾垚锛屽垽鏂叆搴撲紭鍏堢骇", "鍏ュ簱浼樺厛绾�);
                                         TaskProcess.inPri(wmsTask);
                                         TaskHelper.End(wmsTask);
+                                        TaskHelper.opMesTask(wmsTask, 2);
                                         break;
                                     case 7:
-
-                                        var wcsTask1 = TaskHelper.GetTaskByWorkNo(wmsTask.S_OP_CODE, "wcs");
-                                        if (wcsTask1 != null)
-                                        {
-                                            //agv鎵ц閫氱煡 wcs鍙栨秷
-                                            WcsTask.WcsCallback(wmsTask, model.state, model.forklift_no);
-                                            if (!TaskHelper.CheckActionRecordExist(wcsTask1.S_CODE, "6"))
+                                            var wcsTask1 = TaskHelper.GetTaskByWorkNo(wmsTask.S_OP_CODE, "wcs");
+                                            if (wcsTask1 != null)
                                             {
+                                                //agv鎵ц閫氱煡 wcs鍙栨秷  
+                                                if (wcsTask1.S_B_STATE != "鏈墽琛� && wcsTask1.S_B_STATE != "瀹屾垚" && wcsTask1.S_B_STATE != "鍙栨秷")
+                                                {
+                                                    WcsTask.WcsCallback(wmsTask, model.state, model.forklift_no.ToString());
+                                                }
                                                 TaskHelper.Fail(wcsTask1);
                                                 TaskProcess.OperateStatus(wcsTask1, 7);
                                             }
-                                        }
+                                        
 
                                         TaskHelper.Fail(wmsTask);
                                         TaskProcess.OperateStatus(wmsTask, 7);
@@ -220,6 +222,7 @@
                                             ContainerHelper.delCntr(wmsTask.S_CNTR_CODE);
                                             ContainerHelper.delCntrItem(wmsTask.S_CNTR_CODE);
                                         }
+                                        TaskHelper.opMesTask(wmsTask, 3);
                                         break;
 
                                 }
@@ -353,15 +356,14 @@
                         var cntrCode = LocationHelper.GetLocCntrCode(start.S_CODE);
 
                         if (workFlow.SENDWCS == "Y")
-                        {
-
+                        {   
                             //姝e紡浠g爜锛岃皟鐢ㄦ帴鍙e鎵惧彲鐢ㄦ帴椹充綅
                             var connectionList = LocationHelper.GetConnectionList(workFlow.CONNECTION);
 
                             var balanceConnectionList = LocationHelper.GetBalanceConnectionList(connectionList);
                             foreach (var item in balanceConnectionList)
                             {
-                                if (item.loc.N_CURRENT_NUM < 2)
+                                if (item.loc.N_CURRENT_NUM < 2 && item.loc.CONNEC_ROADWAY == start.N_ROADWAY)
                                 {
                                     connection = item.loc.S_CODE;
                                     connectionArea = item.loc.S_AREA_Name;
diff --git a/core/TaskCore.cs b/core/TaskCore.cs
index 19cbf6f..755865b 100644
--- a/core/TaskCore.cs
+++ b/core/TaskCore.cs
@@ -20,96 +20,97 @@
     internal class TaskCore
     {
         public static void OperateTaskStatus(AgvTaskState model) {
-            var wmsTask = TaskHelper.GetTask(model.task_no);
-            var db = new SqlHelper<object>().GetInstance();
+            //var wmsTask = TaskHelper.GetTask(model.task_no);
+            //var db = new SqlHelper<object>().GetInstance();
 
-            LogHelper.Info("OperateTaskStatus--浠诲姟淇℃伅" + JsonConvert.SerializeObject(wmsTask), "API");
-            LogHelper.Info("OperateTaskStatus--鍙傛暟淇℃伅" + JsonConvert.SerializeObject(model), "API");
-            if (wmsTask != null)
-                {
-                    if (model.state <= 7)
-                    {
-                        //鏈変换鍔″彿璇锋眰
-                        switch (model.state)
-                        {
-                            case 1:
-                                TaskHelper.Begin(wmsTask,model.forklift_no.ToString());
-                                //鑳庨潰浜や簰
-                                TaskHelper.TmSafety(wmsTask);
-                                break;
-                            case 3:
-                                TaskHelper.UpdateStatus(wmsTask, "寮�鍙栬揣");
-                            break;
-                            case 4:
-                                TaskHelper.UpdateStatus(wmsTask, "鍙栬揣瀹屾垚");
-                                LocationHelper.UnLockLoc(wmsTask.S_START_LOC);
-                                TaskProcess.OperateStatus(wmsTask, 4);
-                            break;
-                            case 5:
-                                TaskHelper.UpdateStatus(wmsTask, "寮�鍗歌揣");
-                                break;
-                            case 6:
-                                TaskHelper.UpdateStatus(wmsTask, "鍗歌揣瀹屾垚");
-                                LocationHelper.UnLockLoc(wmsTask.S_END_LOC);
-                                TaskProcess.OperateStatus(wmsTask, 6);
+            //LogHelper.Info("OperateTaskStatus--浠诲姟淇℃伅" + JsonConvert.SerializeObject(wmsTask), "API");
+            //LogHelper.Info("OperateTaskStatus--鍙傛暟淇℃伅" + JsonConvert.SerializeObject(model), "API");
+            //if (wmsTask != null)
+            //    {
+            //        if (model.state <= 7)
+            //        {
+            //            //鏈変换鍔″彿璇锋眰
+            //            switch (model.state)
+            //            {
+            //                case 1:
+            //                    TaskHelper.Begin(wmsTask,model.forklift_no.ToString());
+            //                    //鑳庨潰浜や簰
+            //                    TaskHelper.TmSafety(wmsTask);
+            //                    break;
+            //                case 3:
+            //                    TaskHelper.UpdateStatus(wmsTask, "寮�鍙栬揣");
+            //                break;
+            //                case 4:
+            //                    TaskHelper.UpdateStatus(wmsTask, "鍙栬揣瀹屾垚");
+            //                    LocationHelper.UnLockLoc(wmsTask.S_START_LOC);
+            //                    TaskProcess.OperateStatus(wmsTask, 4);
+            //                break;
+            //                case 5:
+            //                    TaskHelper.UpdateStatus(wmsTask, "寮�鍗歌揣");
+            //                    break;
+            //                case 6:
+            //                    TaskHelper.UpdateStatus(wmsTask, "鍗歌揣瀹屾垚");
+            //                    LocationHelper.UnLockLoc(wmsTask.S_END_LOC);
+            //                    TaskProcess.OperateStatus(wmsTask, 6);
 
-                                //濡傛灉鏄簩娈典换鍔″垯涓嬪彂绔嬪簱浠诲姟
-                                var wcsTask = TaskHelper.GetTaskByState("鏈墽琛�, "wcs", wmsTask.S_OP_CODE,"鍏ュ簱");
-                                if (wcsTask!=null)
-                                {
-                                    LocationHelper.LockLoc(wcsTask.S_START_LOC, "鍑哄簱閿�, 2);
-                                    WcsTask.WcsTaskEntity(wcsTask);
-                                }                        
-                            break;
-                            case 2:
-                            //绌烘墭鍑烘垨鑰呮弧鎵樺嚭浠诲姟瀹屾垚鍒ゆ柇鏄惁瑕佹彁楂樺叆搴撲紭鍏堢骇
+            //                    //濡傛灉鏄簩娈典换鍔″垯涓嬪彂绔嬪簱浠诲姟
+            //                    var wcsTask = TaskHelper.GetTaskByState("鏈墽琛�, "wcs", wmsTask.S_OP_CODE,"鍏ュ簱");
+            //                    if (wcsTask!=null)
+            //                    {
+            //                        LocationHelper.LockLoc(wcsTask.S_START_LOC, "鍑哄簱閿�, 2);
+            //                        WcsTask.WcsTaskEntity(wcsTask);
+            //                    }                        
+            //                break;
+            //                case 2:
+            //                //绌烘墭鍑烘垨鑰呮弧鎵樺嚭浠诲姟瀹屾垚鍒ゆ柇鏄惁瑕佹彁楂樺叆搴撲紭鍏堢骇
 
-                            LogHelper.Info($"浠诲姟{wmsTask.S_CODE}瀹屾垚锛屽垽鏂叆搴撲紭鍏堢骇", "鍏ュ簱浼樺厛绾�);
-                            TaskProcess.inPri(wmsTask);
-                            TaskHelper.End(wmsTask); 
-                            break;
-                            case 7:
+            //                LogHelper.Info($"浠诲姟{wmsTask.S_CODE}瀹屾垚锛屽垽鏂叆搴撲紭鍏堢骇", "鍏ュ簱浼樺厛绾�);
+            //                TaskProcess.inPri(wmsTask);
+            //                TaskHelper.End(wmsTask); 
+            //                break;
+            //                case 7:
 
-                                var wcsTask1 = TaskHelper.GetTaskByWorkNo(wmsTask.S_OP_CODE, "wcs");
-                                if (wcsTask1!=null)
-                                {
-                                    //agv鎵ц閫氱煡 wcs鍙栨秷
-                                    WcsTask.WcsCallback(wmsTask, model.state, model.forklift_no.ToString());
-                                    if (!TaskHelper.CheckActionRecordExist(wcsTask1.S_CODE, "6"))
-                                    {
-                                        TaskHelper.Fail(wcsTask1);
-                                        TaskProcess.OperateStatus(wcsTask1, 7);
-                                    }
-                                }
+            //                    var wcsTask1 = TaskHelper.GetTaskByWorkNo(wmsTask.S_OP_CODE, "wcs");
+            //                    if (wcsTask1!=null)
+            //                    {
+            //                            //閫�簱浠诲姟涓嶉�鐭�+            //                            //agv鎵ц閫氱煡 wcs鍙栨秷  
+            //                            if (wcsTask1.S_B_STATE!="鏈墽琛�&& wcsTask1.S_B_STATE != "瀹屾垚"&& wcsTask1.S_B_STATE != "鍙栨秷")
+            //                            {
+            //                                WcsTask.WcsCallback(wmsTask, model.state, model.forklift_no.ToString());
+            //                            }
+            //                            TaskHelper.Fail(wcsTask1);
+            //                            TaskProcess.OperateStatus(wcsTask1, 7);
+            //                    }
 
-                                TaskHelper.Fail(wmsTask);
-                                TaskProcess.OperateStatus(wmsTask, 7);
-                                //鍏ュ簱鎴栬�鍥炲簱浠诲姟鍙栨秷鍒犻櫎鎵樼洏鐗╂枡
-                                if (wmsTask.S_TYPE.Contains("鍏ュ簱") || wmsTask.S_TYPE.Contains("鍥炲簱"))
-                                {
-                                    ContainerHelper.delCntr(wmsTask.S_CNTR_CODE);
-                                    ContainerHelper.delCntrItem(wmsTask.S_CNTR_CODE);
-                                }
+            //                    TaskHelper.Fail(wmsTask);
+            //                    TaskProcess.OperateStatus(wmsTask, 7);
+            //                    //鍏ュ簱鎴栬�鍥炲簱浠诲姟鍙栨秷鍒犻櫎鎵樼洏鐗╂枡
+            //                    if (wmsTask.S_TYPE.Contains("鍏ュ簱") || wmsTask.S_TYPE.Contains("鍥炲簱"))
+            //                    {
+            //                        ContainerHelper.delCntr(wmsTask.S_CNTR_CODE);
+            //                        ContainerHelper.delCntrItem(wmsTask.S_CNTR_CODE);
+            //                    }
 
-                                //鍑哄簱鍙栨秷鍒ゆ柇鎺ラ┏浣嶆槸鍚︽湁璐э紝鏈夎揣闇�瑙g粦
-                                if (!WcsTask.WcsCvstate(wmsTask))
-                                {
-                                    LogHelper.Info($"Wcs绔嬪簱鎺ラ┏浣嶆棤璐э紝瑙g粦璐т綅:{wmsTask.S_START_LOC}", "绔嬪簱");
-                                    TaskProcess.OperateStatus(wmsTask, 4);
-                                    ContainerHelper.delCntr(wmsTask.S_CNTR_CODE);
-                                    ContainerHelper.delCntrItem(wmsTask.S_CNTR_CODE);
-                                }
-                            break;
+            //                    //鍑哄簱鍙栨秷鍒ゆ柇鎺ラ┏浣嶆槸鍚︽湁璐э紝鏈夎揣闇�瑙g粦
+            //                    if (!WcsTask.WcsCvstate(wmsTask))
+            //                    {
+            //                        LogHelper.Info($"Wcs绔嬪簱鎺ラ┏浣嶆棤璐э紝瑙g粦璐т綅:{wmsTask.S_START_LOC}", "绔嬪簱");
+            //                        TaskProcess.OperateStatus(wmsTask, 4);
+            //                        ContainerHelper.delCntr(wmsTask.S_CNTR_CODE);
+            //                        ContainerHelper.delCntrItem(wmsTask.S_CNTR_CODE);
+            //                    }
+            //                break;
 
-                        }
-                         TaskHelper.AddActionRecord(wmsTask.S_CODE, model.state, model.forklift_no.ToString());          
-                }
-                else
-                {
-                    //瀹夊叏璇锋眰绛�-                    TaskProcess.OperateReq(model.task_no, model.state, model.forklift_no.ToString());
-                }
-            }
+            //            }
+            //             TaskHelper.AddActionRecord(wmsTask.S_CODE, model.state, model.forklift_no.ToString());          
+            //    }
+            //    else
+            //    {
+            //        //瀹夊叏璇锋眰绛�+            //        TaskProcess.OperateReq(model.task_no, model.state, model.forklift_no.ToString());
+            //    }
+            //}
         }
 
         public static void addAgvActionState(AgvTaskState model)
diff --git a/dispatch/WcsTask.cs b/dispatch/WcsTask.cs
index 1c79251..819e2e3 100644
--- a/dispatch/WcsTask.cs
+++ b/dispatch/WcsTask.cs
@@ -5,6 +5,7 @@
 using HH.WCS.ZhongCeJinTan.util;
 using HH.WCS.ZhongCeJinTan.wms;
 using Newtonsoft.Json;
+using Org.BouncyCastle.Asn1.Ocsp;
 using S7.Net.Types;
 using System;
 using System.Collections.Generic;
@@ -13,6 +14,7 @@
 using System.Text;
 using System.Threading.Tasks;
 using System.Web.Services.Description;
+using Top.Api;
 using static HH.WCS.ZhongCeJinTan.api.ApiModel;
 using static HH.WCS.ZhongCeJinTan.wms.WcsModel;
 
@@ -253,10 +255,12 @@
                 {
                     result.msg = "Wcs涓嬪彂浠诲姟鎴愬姛";
                     result.code = "0";
+                    result.requestPk = model.requestPk;
                 }
                 else {
                     result.msg = "Wcs涓嬪彂浠诲姟澶辫触";
                     result.code = "1";
+                    result.requestPk = model.requestPk;
                 }
                 return result;
 
@@ -264,8 +268,9 @@
             catch (Exception ex)
             {
                 newDb.RollbackTran();
-                result.msg = ex.Message;
+                result.msg = "Wcs涓嬪彂浠诲姟寮傚父";
                 result.code = "1";
+                result.requestPk = model.requestPk;
                 LogHelper.Info("Wcs涓嬪彂浠诲姟寮傚父" + ex.Message, "Wcs涓嬪彂浠诲姟");
                 return result;
             }
@@ -684,7 +689,8 @@
                                     //鏌ユ壘缁堢偣
                                     var endList = LocationHelper.GetAllLocList1(workFlow.ERRORAREA);
 
-                                    var end = LocationHelper.FindBalanceEndcolByLocList(endList, workFlow.ERRORAREA,workFlow.ROADWAY);
+                                    //var end = LocationHelper.FindBalanceEndcolByLocList(endList, workFlow.ERRORAREA,workFlow.ROADWAY);
+                                    var  end = LocationHelper.FindEndcolByLoc(endList, workFlow.ERRORAREA);
                                     LogHelper.Info($"RFID鏍¢獙澶辫触涓嬪彂寮傚父缁堢偣淇℃伅" + JsonConvert.SerializeObject(end), "Wcs浠诲姟鎵ц閫氱煡");
 
 
@@ -693,13 +699,17 @@
                                         LogHelper.Info($"RFID鏍¢獙澶辫触涓嬪彂浠诲姟澶辫触锛岀粓鐐瑰簱鍖簕workFlow.ERRORAREA},娌℃壘鍒扮粓鐐�, "Wcs浠诲姟鎵ц閫氱煡");
                                         throw new Exception($"RFID鏍¢獙澶辫触缁堢偣搴撳尯{workFlow.ERRORAREA},娌℃壘鍒扮粓鐐�);
                                     }
+                                    LocationHelper.LockLoc(end.S_CODE, "鍏ュ簱閿�, 1);
                                     agvTask.S_START_LOC = agvTask.S_END_LOC;
                                     agvTask.S_START_AREA = agvTask.S_END_AREA;
+                                    agvTask.S_START_AREA_NAME = agvTask.S_END_AREA_NAME;
                                     agvTask.S_END_LOC = end.S_CODE;
                                     agvTask.S_END_AREA = end.S_AREA_CODE;
+                                    agvTask.S_END_AREA_NAME = end.S_AREA_Name;
                                     agvTask.S_TYPE = workFlow.FLOWNAME;
+
                                     newDb.BeginTran();
-                                    var I = newDb.Updateable(agvTask).UpdateColumns(it => new { it.S_START_LOC, it.S_START_AREA,it.S_END_LOC,it.S_END_AREA,it.S_TYPE,it.S_B_STATE }).ExecuteCommand();
+                                    var I = newDb.Updateable(agvTask).UpdateColumns(it => new { it.S_START_LOC, it.S_START_AREA,it.S_END_LOC,it.S_END_AREA,it.S_TYPE,it.S_B_STATE, it.S_START_AREA_NAME, it.S_END_AREA_NAME }).ExecuteCommand();
                                     if (I == 0)
                                     {
                                         throw new Exception("淇敼浠诲姟琛ㄥけ璐�);
@@ -707,7 +717,6 @@
                                     newDb.CommitTran();
                                 }
                             }
-
                             newDb.BeginTran();
                             var R = newDb.Insertable(RfidChek).ExecuteCommand();
                             if (R == 0)
@@ -715,25 +724,36 @@
                                 throw new Exception("娣诲姞RFID鏍¢獙琛ㄥけ璐�);
                             }
                             newDb.CommitTran();
-
                         }
                         break;
-                    //9鍙栬揣鏃犺揣
-                    case "9":
-                        LogHelper.Info($"浠诲姟鍙穥transportTask.S_CODE},鍙栬揣鏃犺揣,鍙栨秷浠诲姟", "Wcs浠诲姟鎵ц閫氱煡");
-                        if (WcsCancellTask(transportTask)) {
-                            LogHelper.Info($"浠诲姟鍙穥transportTask.S_CODE},鍙栨秷浠诲姟鎴愬姛锛岃捣鐐箋transportTask.S_START_LOC}璁句负寮傚父", "Wcs浠诲姟鎵ц閫氱煡");
-                            TaskHelper.Fail(transportTask);
-                            TaskProcess.OperateStatus(transportTask, 7);
-                            LocationHelper.updateLocLock(transportTask.S_START_LOC, 4, "寮傚父閿�);
-                            var agvTask = TaskHelper.GetTaskByWorkNo(transportTask.S_OP_CODE, "agv");
-                            if (agvTask!=null)
+                    //鍙栬揣瀹屾垚
+                    case "5":
+                        if (transportTask.S_TYPE.Contains("鍑哄簱")) {
+                            LocationHelper.UnBindingLoc(transportTask.S_START_LOC, transportTask.S_CNTR_CODE.Split(',').ToList());
+                        }
+                        break;
+
+                    //7鍙栨秷
+                    case "7":
+                        LogHelper.Info($"浠诲姟鍙穥transportTask.S_CODE},鍙栨秷浠诲姟鎴愬姛", "Wcs浠诲姟鎵ц閫氱煡");
+                        TaskHelper.Fail(transportTask);
+                        TaskProcess.OperateStatus(transportTask, 7);
+
+                        if (transportTask.S_TYPE.Contains("鍑哄簱"))
+                        {
+                            var agvTask1 = TaskHelper.GetTaskByWorkNo(transportTask.S_OP_CODE, "agv");
+                            if (agvTask1 != null)
                             {
-                                TaskHelper.Fail(agvTask);
-                                NDCApi.CancelOrder(agvTask.S_CODE.Trim());
-                                TaskProcess.CacheBitCancelUpdate(agvTask);
+                                TaskHelper.Fail(agvTask1);
+                                NDCApi.CancelOrder(agvTask1.S_CODE.Trim());
+                                TaskProcess.CacheBitCancelUpdate(agvTask1);
                             }
                         }
+                        else {
+                            ContainerHelper.delCntr(transportTask.S_CNTR_CODE);
+                            ContainerHelper.delCntrItem(transportTask.S_CNTR_CODE);
+                        }
+
                         break;
                     default:
                         break;
@@ -741,13 +761,15 @@
 
                 result.msg = "閫氱煡鎴愬姛";
                 result.code = "0";
+                result.requestPk = model.requestPk;
 
             }
             catch (Exception ex)
             {
                 newDb.RollbackTran();
-                result.msg = ex.Message;
+                result.msg = "Wcs浠诲姟鎵ц閫氱煡寮傚父";
                 result.code = "1";
+                result.requestPk = model.requestPk;
                 LogHelper.Info("Wcs浠诲姟鎵ц閫氱煡寮傚父" + ex.Message, "Wcs浠诲姟鎵ц閫氱煡");
                 return result;
             }
@@ -800,14 +822,16 @@
                 newDb.CommitTran();
                 result.code = "0";
                 result.msg = "鎴愬姛";
+                result.requestPk = model.requestPk;
                 LogHelper.Info("Wcs鎶ヨ涓婃姤杩斿洖"+ JsonConvert.SerializeObject(result), "鎶ヨ涓婃姤");
                 return result;
             }
             catch (Exception ex)
             {
                 newDb.RollbackTran();
-                result.msg = ex.Message;
+                result.msg = "Wcs鎶ヨ淇℃伅寮傚父";
                 result.code = "1";
+                result.requestPk = model.requestPk;
                 LogHelper.Info("Wcs鎶ヨ淇℃伅寮傚父" + ex.Message, "鎶ヨ涓婃姤");
                 return result;
             }
@@ -925,14 +949,16 @@
                
                 result.code = "0";
                 result.msg = "鎴愬姛";
+                result.requestPk = model.requestPk;
                 LogHelper.Info("Wcs宸烽亾鍙敤涓婃姤杩斿洖" + JsonConvert.SerializeObject(result), "宸烽亾鍙敤涓婃姤");
                 return result;
             }
             catch (Exception ex)
             {
                 newDb.RollbackTran();
-                result.msg = ex.Message;
+                result.msg = "Wcs宸烽亾鍙敤涓婃姤寮傚父";
                 result.code = "1";
+                result.requestPk = model.requestPk;
                 LogHelper.Info("Wcs宸烽亾鍙敤涓婃姤寮傚父" + ex.Message, "宸烽亾鍙敤涓婃姤");
                 return result;
             }
@@ -982,7 +1008,14 @@
                     break;
                 case 7:
                     Type = "5";
-                    bit = mst.S_END_LOC;
+                    if (mst.S_TYPE.Contains("鍑哄簱"))
+                    {
+                        bit = mst.S_START_LOC;
+                    }
+                    else {
+                        bit = mst.S_END_LOC;
+                    }
+                   
                     Meshod = "AgvRequestCancel";
                     break;
             }
@@ -1158,41 +1191,68 @@
                             throw new Exception($"鏈煡璇㈠埌浠诲姟鍙穥model.taskNo}鐨勪换鍔�);
                         }
 
-                        if (task.S_B_STATE.Contains("瀹屾垚")|| task.S_B_STATE.Contains("鍙栨秷") || task.S_B_STATE.Contains("澶辫触"))
+                    if (task.S_TYPE.Contains("鍑哄簱"))
+                    {
+                        //鍙栬揣鏃犺揣
+                        LogHelper.Info($"浠诲姟鍙穥task.S_CODE},鍙栬揣鏃犺揣,鍙栨秷浠诲姟", "鏀捐揣鏈夎揣");
+                        if (WcsCancellTask(task))
+                        {
+                            LogHelper.Info($"浠诲姟鍙穥task.S_CODE},鍙栨秷浠诲姟鎴愬姛锛岃捣鐐箋task.S_START_LOC}璁句负寮傚父", "鏀捐揣鏈夎揣");
+                            TaskHelper.Fail(task);
+                            TaskProcess.OperateStatus(task, 7);
+                            LocationHelper.updateLocLock(task.S_START_LOC, 4, "寮傚父閿�);
+                            var agvTask = TaskHelper.GetTaskByWorkNo(task.S_OP_CODE, "agv");
+                            if (agvTask != null)
+                            {
+                                TaskHelper.Fail(agvTask);
+                                NDCApi.CancelOrder(agvTask.S_CODE.Trim());
+                                TaskProcess.CacheBitCancelUpdate(agvTask);
+                            }
+                        }
+
+                    }
+                    else {
+                        //鍗歌揣鏈夎揣
+                        if (task.S_B_STATE.Contains("瀹屾垚") || task.S_B_STATE.Contains("鍙栨秷") || task.S_B_STATE.Contains("澶辫触"))
                         {
                             throw new Exception($"浠诲姟鍙穥model.taskNo}锛屼换鍔$姸鎬侊細{task.S_B_STATE}锛屼笉鑳芥敼閬�);
                         }
 
-                      var endLoc = LocationHelper.GetLocOne(task.S_END_LOC);
+                        var endLoc = LocationHelper.GetLocOne(task.S_END_LOC);
 
-                       var end = newDb.Queryable<Location>().Where(a => a.S_AREA_CODE == endLoc.S_AREA_CODE && a.N_ROW == endLoc.N_ROW && a.N_COL > endLoc.N_COL && a.S_LOCK_STATE == "鏃� && a.N_CURRENT_NUM == 0 && a.C_ENABLE=="Y").OrderBy(b=>b.N_COL).First();
+                        var end = newDb.Queryable<Location>().Where(a => a.S_AREA_CODE == endLoc.S_AREA_CODE && a.N_ROW == endLoc.N_ROW && a.N_COL > endLoc.N_COL && a.S_LOCK_STATE == "鏃� && a.N_CURRENT_NUM == 0 && a.C_ENABLE == "Y").OrderBy(b => b.N_COL).First();
 
-                      LogHelper.Info($"Wcs鏀捐揣鏈夎揣瀵绘壘鏂扮粓鐐逛俊鎭� + JsonConvert.SerializeObject(end), "鏀捐揣鏈夎揣");
+                        LogHelper.Info($"Wcs鏀捐揣鏈夎揣瀵绘壘鏂扮粓鐐逛俊鎭� + JsonConvert.SerializeObject(end), "鏀捐揣鏈夎揣");
 
-                    if (end!=null)
-                    {
-                        newDb.BeginTran();
-                        endLoc.N_LOCK_STATE = 4;
-                        endLoc.S_LOCK_STATE = "寮傚父閿�;
-                        newDb.Updateable(endLoc).UpdateColumns(it => new { it.N_LOCK_STATE, it.S_LOCK_STATE }).ExecuteCommand();
-                        task.S_END_LOC = end.S_CODE;
-                        newDb.Updateable(task).UpdateColumns(it => new { it.S_END_LOC }).ExecuteCommand();
-                        newDb.CommitTran();
-                        LocationHelper.LockLoc(end.S_CODE, "鍏ュ簱閿�, 1);
-                        result.msg = end.S_CODE;
-                        result.code = "0";
+                        if (end != null)
+                        {
+                            newDb.BeginTran();
+                            endLoc.N_LOCK_STATE = 4;
+                            endLoc.S_LOCK_STATE = "寮傚父閿�;
+                            newDb.Updateable(endLoc).UpdateColumns(it => new { it.N_LOCK_STATE, it.S_LOCK_STATE }).ExecuteCommand();
+                            task.S_END_LOC = end.S_CODE;
+                            newDb.Updateable(task).UpdateColumns(it => new { it.S_END_LOC }).ExecuteCommand();
+                            newDb.CommitTran();
+                            LocationHelper.LockLoc(end.S_CODE, "鍏ュ簱閿�, 1);
+                            result.msg = end.S_CODE;
+                            result.code = "0";
+                            result.requestPk = model.requestPk;
+                        }
+                        else
+                        {
+                            throw new Exception($"鏈煡璇㈠埌搴撳尯{endLoc.S_AREA_CODE}鏈夌鍚堢殑璐т綅");
+                        }
                     }
-                    else
-                    {
-                        throw new Exception($"鏈煡璇㈠埌搴撳尯{endLoc.S_AREA_CODE}鏈夌鍚堢殑璐т綅");
-                     }
+
+                       
 
                     }
                     catch (Exception ex)
                     {
                         newDb.RollbackTran();
-                        result.msg = ex.Message;
+                        result.msg = "Wcs鏀捐揣鏈夎揣寮傚父";
                         result.code = "1";
+                        result.requestPk = model.requestPk;
                         LogHelper.Info("Wcs鏀捐揣鏈夎揣寮傚父" + ex.Message, "鏀捐揣鏈夎揣");
                     return result;
                     }
@@ -1230,14 +1290,16 @@
                 newDb.CommitTran();
                 result.code = "0";
                 result.msg = "鎴愬姛";
+                result.requestPk = model.requestPk;
                 LogHelper.Info("Wcs閫氱煡纭杩斿洖" + JsonConvert.SerializeObject(result), "閫氱煡纭");
                 return result;
             }
             catch (Exception ex)
             {
                 newDb.RollbackTran();
-                result.msg = ex.Message;
+                result.msg = "Wcs閫氱煡纭寮傚父";
                 result.code = "1";
+                result.requestPk = model.requestPk;
                 LogHelper.Info("Wcs閫氱煡纭寮傚父" + ex.Message, "閫氱煡纭");
                 return result;
             }
@@ -1260,6 +1322,18 @@
             public string status { get; set; }
     }
 
+
+    /// <summary>
+    /// mes姹囨姤浠诲姟杩斿洖
+    /// </summary>
+    public class MesTaskReturn
+    {
+        public string code { get; set; }
+        public string msg { get; set; }
+        public bool success { get; set; }
+        public DataItem lastTime { get; set; }
+    }
+
     /// <summary>
     /// Mes鎺ュ彛杩斿洖
     /// </summary>
diff --git a/process/DeviceProcess.cs b/process/DeviceProcess.cs
index 9be624d..ca86b07 100644
--- a/process/DeviceProcess.cs
+++ b/process/DeviceProcess.cs
@@ -173,6 +173,20 @@
                         //1涓烘帴椹充綅浜や簰
                         if (safety.type == 1)
                         {
+
+                            var wcsTask1 = TaskHelper.GetTaskByWorkNo(mst.S_OP_CODE, "wcs");
+                            if (wcsTask1 != null)
+                            {
+                                if (wcsTask1.S_B_STATE != "瀹屾垚")
+                                {
+                                    return;
+                                }
+                            }
+                            else {
+                                return;
+                            }
+
+                           
                             LogHelper.Info($"鎺ラ┏浣嶅畨鍏ㄤ氦浜掑紑濮�浠诲姟鍙�{mst.S_CODE},鍙栬揣搴撳尯鎺ラ┏浣嶄氦浜� , "瀹夊叏浜や簰");
 
                             //鍏堢粰绔嬪簱鍙戦�鍗歌揣閫氱煡
@@ -273,7 +287,8 @@
                         //1涓烘帴椹充綅浜や簰
                         if (safety.type == 1)
                         {
-                            LogHelper.Info($"鎺ラ┏浣嶅畨鍏ㄤ氦浜掑紑濮�浠诲姟鍙�{mst.S_CODE},浜や簰绫诲瀷涓�锛屽嵏璐у簱鍖鸿揣鏋朵氦浜�, "瀹夊叏浜や簰");
+
+                            LogHelper.Info($"鎺ラ┏浣嶅畨鍏ㄤ氦浜掑紑濮�浠诲姟鍙�{mst.S_CODE},浜や簰绫诲瀷涓�锛屽嵏璐у簱鍖烘帴椹充綅浜や簰", "瀹夊叏浜や簰");
 
                             //鍏堢粰绔嬪簱鍙戦�鍗歌揣閫氱煡
                             WcsTask.WcsCallback(mst, state, fkNo);
diff --git a/process/TaskProcess.cs b/process/TaskProcess.cs
index 5f2c653..e88f347 100644
--- a/process/TaskProcess.cs
+++ b/process/TaskProcess.cs
@@ -174,6 +174,7 @@
                         NDCApi.ChangeOrderParam(mst.S_CODE, 1, startSite);
                         NDCApi.ChangeOrderParam(mst.S_CODE, 2, endSite);
                         NDCApi.ChangeOrderParam(mst.S_CODE, 4, "0");
+                        Thread.Sleep(1000);
                         NDCApi.ChangeOrderParam(mst.S_CODE, 6, "2");
                     }
                 }
@@ -203,13 +204,16 @@
         /// <param name="state"></param>
         internal static void OperateStatus(WMSTask mst, int state)
         {
-            if (state == 4)
+            if (state == 4)//鍙栬揣瀹屾垚
             {
                 CacheBitUpdate(mst, true);
             }
             if (state == 6)//鍗歌揣瀹屾垚
             {
-                CacheBitUpdate(mst, false);
+                //閫�簱浠诲姟涓嶇粦瀹�+                if (!LocationHelper.GetErroArea(mst.S_END_AREA)) {
+                    CacheBitUpdate(mst, false);
+                }  
             }
             if (state == 7)
             {
@@ -261,7 +265,9 @@
                             //鏀逛竴娈典换鍔$粓鐐�                             task.S_END_LOC = end.S_CODE;
                             task.S_END_AREA = end.S_AREA_CODE;
-                            db.Updateable(task).UpdateColumns(it => new { it.S_END_LOC, it.S_END_AREA }).ExecuteCommand();
+                            task.S_END_AREA_NAME = end.S_AREA_Name;
+
+                            db.Updateable(task).UpdateColumns(it => new { it.S_END_LOC, it.S_END_AREA ,it.S_END_AREA_NAME}).ExecuteCommand();
                             kt.Status = "Y";
                             db.Updateable(kt).UpdateColumns(it => new { it.Status }).ExecuteCommand();
                             db.CommitTran();
@@ -269,6 +275,7 @@
                             LogHelper.Info($"浠诲姟{task.S_CODE}鏀归亾鎴愬姛锛屾敼鍙傛暟2涓簕site},鍙傛暟6涓�锛�涓�", "鏀归亾瀹夊叏浜や簰");
                             NDCApi.ChangeOrderParam(task.S_CODE, 2, site);
                             NDCApi.ChangeOrderParam(task.S_CODE, 4, "0");
+                            Thread.Sleep(1000);
                             NDCApi.ChangeOrderParam(task.S_CODE, 6, "2");
                             return;
                         }
@@ -397,11 +404,6 @@
                         db.Updateable(wcsTask).UpdateColumns(it => new { it.S_END_LOC }).ExecuteCommand();
                         db.CommitTran();
 
-                        
-
-                       
-
-
                         LocationHelper.LockLoc(connection.S_CODE, "鍏ュ簱閿�, 1);
                         var endLoc1 = LocationHelper.GetLocOne(task.S_END_LOC);
                         endLoc1.N_LOCK_STATE = 0;
@@ -411,19 +413,24 @@
                         //鏀逛竴娈典换鍔$粓鐐�                         task.S_END_LOC = connection.S_CODE;
                         task.S_END_AREA = connection.S_AREA_CODE;
-                        db.Updateable(task).UpdateColumns(it => new { it.S_END_LOC, it.S_END_AREA }).ExecuteCommand();
+
+                        task.S_END_AREA_NAME = connection.S_AREA_Name;
+                        db.Updateable(task).UpdateColumns(it => new { it.S_END_LOC, it.S_END_AREA,it.S_END_AREA_NAME }).ExecuteCommand();
 
 
                         //鏀逛簩娈典换鍔¤捣鐐�                         wcsTask.S_START_LOC = connection.S_CODE;
                         wcsTask.S_START_AREA = connection.S_AREA_CODE;
-                        db.Updateable(wcsTask).UpdateColumns(it => new { it.S_START_LOC, it.S_START_AREA }).ExecuteCommand();
+
+                        wcsTask.S_START_AREA_NAME = connection.S_AREA_Name;
+                        db.Updateable(wcsTask).UpdateColumns(it => new { it.S_START_LOC, it.S_START_AREA,it.S_START_AREA_NAME}).ExecuteCommand();
                         db.CommitTran();
 
                         var site = LocationHelper.GetAgvSiteZc(connection.S_CODE);
                         LogHelper.Info($"浠诲姟{task.S_CODE}鏀归亾鎴愬姛锛屾敼鍙傛暟2涓簕site},鍙傛暟6涓�,4涓�024", "鏀归亾瀹夊叏浜や簰");
                         NDCApi.ChangeOrderParam(task.S_CODE, 2, site);
                         NDCApi.ChangeOrderParam(task.S_CODE, 4, "1024");
+                        Thread.Sleep(1000);
                         NDCApi.ChangeOrderParam(task.S_CODE, 6, "2");
 
                         //} else if (workFlow.FLOWNAME.Contains("鍑哄簱")) {
@@ -441,6 +448,7 @@
                     else {
                         LogHelper.Info($"褰撳墠浠诲姟{task.S_CODE}鎺ラ┏浣峽task.S_END_LOC}鍙敤,褰撳墠搴撳尯{wcsTask.S_END_AREA}褰撳墠宸烽亾{loc1.N_ROADWAY}鍙敤锛屼笉闇�鏀归亾锛岀洿鎺ヤ慨鏀瑰弬鏁�涓�锛�涓�024", "鏀归亾瀹夊叏浜や簰");
                         NDCApi.ChangeOrderParam(task.S_CODE, 4, "1024");
+                        Thread.Sleep(1000);
                         NDCApi.ChangeOrderParam(task.S_CODE, 6, "2");
                     }
                 }
@@ -738,14 +746,14 @@
                     var TrayLocation = db.Queryable<LocCntrRel>().Where(e => e.S_CNTR_CODE == model.TOOLS_NO).ToList();
                     if (TrayLocation.Count() > 0)
                     {
-                        LogHelper.Info("鏌ヨ鍒拌宸ヨ宸茬粡缁戝畾浜嗚揣浣嶄俊鎭�, "鐗╂枡缁戝畾瑙g粦");
-                        throw new Exception("鏌ヨ鍒拌宸ヨ宸茬粡缁戝畾浜嗚揣浣嶄俊鎭�);
+                        LogHelper.Info("鏌ヨ鍒拌宸ヨ鎵樼洏鐮佸凡缁忕粦瀹氫簡璐т綅淇℃伅", "鐗╂枡缁戝畾瑙g粦");
+                        throw new Exception("鏌ヨ鍒拌宸ヨ鎵樼洏鐮佸凡缁忕粦瀹氫簡璐т綅淇℃伅");
                     }
                     var TrayItems = db.Queryable<CntrItemRel>().Where(e => e.S_CNTR_CODE == model.TOOLS_NO).ToList();
                     if (TrayItems.Count() > 0)
                     {
-                        LogHelper.Info("鏌ヨ鍒拌宸ヨ宸茬粡缁戝畾浜嗙墿鏂欎俊鎭�, "鐗╂枡缁戝畾瑙g粦");
-                        throw new Exception("鏌ヨ鍒拌宸ヨ宸茬粡缁戝畾浜嗙墿鏂欎俊鎭�);
+                        LogHelper.Info("鏌ヨ鍒拌宸ヨ鎵樼洏鐮佸凡缁忕粦瀹氫簡鐗╂枡淇℃伅", "鐗╂枡缁戝畾瑙g粦");
+                        throw new Exception("鏌ヨ鍒拌宸ヨ鎵樼洏鐮佸凡缁忕粦瀹氫簡鐗╂枡淇℃伅");
                     }
                     var Locations = db.Queryable<Location>().Where(e => e.S_CODE == model.LOCATION_CODE)?.First();
                     if (Locations == null)
@@ -937,6 +945,9 @@
                             ContainerHelper.delCntr(task.S_CNTR_CODE);
                             ContainerHelper.delCntrItem(task.S_CNTR_CODE);
                         }
+                        else {
+                           WcsTask.WcsCancellTask(wcsTask);
+                        }
                         
                        
                         TaskHelper.Fail(wcsTask);
@@ -970,6 +981,9 @@
                         {
                             ContainerHelper.delCntr(task.S_CNTR_CODE);
                             ContainerHelper.delCntrItem(task.S_CNTR_CODE);
+                        }
+                        else {
+                            WcsTask.WcsCancellTask(wcsTask);
                         }
                         TaskHelper.Fail(wcsTask);
                         TaskProcess.OperateStatus(wcsTask, 7);
@@ -1479,6 +1493,14 @@
                             {
                                 //婊℃墭鍏�                                 balanceLocList = LocationHelper.FindBalanceEndLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY);
+
+                                if (TOOLSTYPE == "25" || TOOLSTYPE == "35") {
+                                    LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟宸ヨ鏄簩鍚堜竴搴�闇�鐗╂枡鍧囪 ", "Mes浠诲姟涓嬪彂");
+                                    balanceLocList = LocationHelper.RoadWayBalance1ByItem(balanceLocList, model.PROD_NO);
+                                }
+
+                                
+
                             }
                             else if (workFlow.FLOWCODE == "3")
                             {
@@ -1506,12 +1528,6 @@
                                             break;
                                         }
                                     }
-                                    if (connection == "")
-                                    {
-                                        LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂娌℃壘鍒版帴椹充綅", "Mes浠诲姟涓嬪彂");
-                                        throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂娌℃壘鍒版帴椹充綅");
-                                    }
-
                                     if (end!=null)
                                     {
                                         LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鍒扮粓鐐箋end.S_CODE}", "Mes浠诲姟涓嬪彂");
@@ -1519,11 +1535,16 @@
                                     }
                                 }
                             }
+                            if (connection == "")
+                            {
+                                LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂娌℃壘鍒版帴椹充綅", "Mes浠诲姟涓嬪彂");
+                                throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂娌℃壘鍒版帴椹充綅");
+                            }
                         }
                         else
                         {
-                            LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶅け璐�, "Mes浠诲姟涓嬪彂");
-                            throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶅け璐�);
+                            LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶆帴鍙eけ璐�, "Mes浠诲姟涓嬪彂");
+                            throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶆帴鍙eけ璐�);
                         }
 
                        
@@ -1580,7 +1601,7 @@
                         var EXPIRED_TIME = model.EXPIRED_TIME.ToString();
                         if (EXPIRED_TIME == "0001/1/1 0:00:00")
                         {
-                            rel.expireTime = model.SHELF_LIFE_TIME.AddHours(model.EXPIRED_REP);
+                            rel.expireTime = model.PRODUCE_TIME.AddHours(model.EXPIRED_REP);
                             LogHelper.Info($"澶辨晥鏃堕棿涓�001/1/1 0:00:00锛屼慨鏀逛负锛歿rel.expireTime}", "Mes浠诲姟涓嬪彂");
                         }
                         else
@@ -1591,7 +1612,7 @@
                         var SHELF_LIFE_TIME = model.SHELF_LIFE_TIME.ToString();
                         if (SHELF_LIFE_TIME == "0001/1/1 0:00:00")
                         {
-                            rel.takeEffectTime = model.SHELF_LIFE_TIME.AddHours(-model.SHELF_REP);
+                            rel.takeEffectTime = model.PRODUCE_TIME.AddHours(-model.SHELF_REP);
                             LogHelper.Info($"鐢熸晥鏃堕棿涓�001/1/1 0:00:00锛屼慨鏀逛负锛歿rel.takeEffectTime}", "Mes浠诲姟涓嬪彂");
                         }
                         else
@@ -1763,7 +1784,7 @@
 
 
 
-                    if (workFlow.FLOWCODE == "9")
+                    if (workFlow.FLOWCODE == "9" || workFlow.FLOWCODE == "4")
                     {
                         if (TOOLSTYPE == "85" || TOOLSTYPE == "95")
                         {
@@ -1773,7 +1794,7 @@
                         else
                         {
                             //鏍规嵁鍒跺搧缂栧彿瀵绘壘绔嬪簱鍖哄搴旂墿鏂欐墭鐩�-                            start = LocationHelper.FindStartcolByLoclistAndItem(strrtList, model.PROD_NO, workFlow.STARTAREA, workFlow.ROADWAY);
+                            start = LocationHelper.FindStartcolByLoclistAndItem(strrtList, model.PROD_NO, workFlow.STARTAREA, workFlow.ROADWAY,workFlow.CONNECTION);
                             if (start == null)
                             {
                                 strrtList = LocationHelper.GetAllLocList2(workFlow.STARTAREA);
diff --git a/util/LogHelper.cs b/util/LogHelper.cs
index b635643..c211100 100644
--- a/util/LogHelper.cs
+++ b/util/LogHelper.cs
@@ -85,7 +85,7 @@
         /// 閫氳繃閰嶇疆鏂囦欢閰嶇疆鏃ュ織
         /// </summary>
         static LogFactory() {
-            var loggerNames = new List<string>() { "ModBus", "API", "HosttoagvTask", "浠诲姟","寮哄埗瀹屾垚","鐐瑰埌鐐�,"鍙栨秷", "NDC", "鐗╂枡缁戝畾瑙g粦", "淇敼鐗╂枡", "绔嬪簱", "鎶ヨ涓婃姤", "Mes浠诲姟涓嬪彂", "鎺ラ┏浣�, "Wcs浠诲姟鎵ц閫氱煡 ", "绔嬪簱涓嬪彂浠诲姟", "绔嬪簱鍙栨秷浠诲姟", "宸烽亾鍙敤涓婃姤", "閫氱煡纭", "agv鎵ц閫氱煡", "瀹夊叏浜や簰", "鏀捐揣鏈夎揣", "鑳庨潰浜や簰", "鏀归亾瀹夊叏浜や簰", "涓婁笅鏋惰褰�, "Wcs涓嬪彂浠诲姟", "闂ㄤ氦浜�, "HosttoagvCar", "閽夐拤閫氱煡", "绌烘墭鍑哄簱", "鍏ュ簱浼樺厛绾�, "agv鍔ㄤ綔缂撳瓨" };
+            var loggerNames = new List<string>() { "ModBus", "API", "HosttoagvTask", "浠诲姟","寮哄埗瀹屾垚","鐐瑰埌鐐�,"鍙栨秷", "NDC", "鐗╂枡缁戝畾瑙g粦", "淇敼鐗╂枡", "绔嬪簱", "鎶ヨ涓婃姤", "Mes浠诲姟涓嬪彂", "鎺ラ┏浣�, "Wcs浠诲姟鎵ц閫氱煡 ", "绔嬪簱涓嬪彂浠诲姟", "绔嬪簱鍙栨秷浠诲姟", "宸烽亾鍙敤涓婃姤", "閫氱煡纭", "agv鎵ц閫氱煡", "瀹夊叏浜や簰", "鏀捐揣鏈夎揣", "鑳庨潰浜や簰", "鏀归亾瀹夊叏浜や簰", "涓婁笅鏋惰褰�, "Wcs涓嬪彂浠诲姟", "闂ㄤ氦浜�, "HosttoagvCar", "閽夐拤閫氱煡", "绌烘墭鍑哄簱", "鍏ュ簱浼樺厛绾�, "agv鍔ㄤ綔缂撳瓨", "鍥炴姤Mes浠诲姟" };
             LogManager.Configuration = DefaultConfig(loggerNames);
         }
         public static ILogger CreateLogger(string name) {
diff --git a/util/Settings.cs b/util/Settings.cs
index fcc8827..0260dcb 100644
--- a/util/Settings.cs
+++ b/util/Settings.cs
@@ -29,6 +29,8 @@
         public static List<safetyLocation> safetyLocations { get; set; }
         public static string WcsApiAddres { get; set; }
 
+        public static string MesApiAddres { get; set; }
+
         /// <summary>
         /// 绌烘墭缂撳瓨鍖�         /// </summary>
@@ -84,7 +86,11 @@
                             {
                                 WcsApiAddres = keyValue.Value.ToString();
                             }
-
+                            if (keyValue.Name == "MesApiAddres")
+                            {
+                                MesApiAddres = keyValue.Value.ToString();
+                            }
+                            
                             if (keyValue.Name == "MesGetItemApi")
                             {
                                 MesGetItemApi = keyValue.Value.ToString();
diff --git a/wms/LocationHelper.cs b/wms/LocationHelper.cs
index 531baa1..9c7c0df 100644
--- a/wms/LocationHelper.cs
+++ b/wms/LocationHelper.cs
@@ -15,6 +15,7 @@
 using static HH.WCS.ZhongCeJinTan.api.ApiModel;
 using static HH.WCS.ZhongCeJinTan.util.Settings;
 using static HH.WCS.ZhongCeJinTan.wms.WcsModel;
+using static ICSharpCode.SharpZipLib.Zip.ExtendedUnixData;
 
 namespace HH.WCS.ZhongCeJinTan.wms
 {
@@ -94,6 +95,21 @@
         {
             var db = new SqlHelper<object>().GetInstance();
             var ConnectionList = db.Queryable<Location>().Where(s => s.S_AREA_CODE == S_AREA_CODE && s.C_ENABLE == "Y").OrderBy(a => a.N_ROW).OrderBy(a => a.N_COL).ToList();
+            List<string> result = new List<string>();
+            foreach (var item in ConnectionList)
+            {
+                result.Add(item.S_CODE);
+            }
+            return result;
+        }
+
+        /// <summary>
+        /// 鑾峰彇璐т綅淇℃伅,鍙傛暟搴撳尯缂栧彿
+        /// </summary>
+        internal static List<string> GetConnectionListByN(string S_AREA_CODE)
+        {
+            var db = new SqlHelper<object>().GetInstance();
+            var ConnectionList = db.Queryable<Location>().Where(s => s.S_AREA_CODE == S_AREA_CODE && s.C_ENABLE == "N").OrderBy(a => a.N_ROW).OrderBy(a => a.N_COL).ToList();
             List<string> result = new List<string>();
             foreach (var item in ConnectionList)
             {
@@ -501,6 +517,93 @@
 
 
         /// <summary>
+        /// 鐗╂枡鍧囪 
+        /// </summary>
+        /// <param name="lstTrueLocation"></param>
+        /// <returns></returns>
+        public static List<Location> RoadWayBalance1ByItem(List<Location> lstTrueLocation, string itemCode)
+        {
+            var db = new SqlHelper<object>().GetInstance();
+
+
+            //鎸囧畾璁$畻鍚庤繑鍥炵殑瀹炰綋
+            List<Location> location_roadray = new List<Location>();
+
+
+            List<connectionBalance> result = new List<connectionBalance>();
+
+            var newlstTrueLocation = lstTrueLocation.GroupBy(c => c.N_ROADWAY)
+    .Select(g => g.First()) // 鎴栬� g.FirstOrDefault()
+    .ToList();
+
+            foreach (var item in newlstTrueLocation)
+            {
+                var ConnectionList = 0;
+               
+                var loclist = lstTrueLocation.Where(o => o.N_ROADWAY == item.N_ROADWAY && o.N_CURRENT_NUM>0).OrderBy(b => b.N_ROW).OrderBy(b => b.N_COL).ToList();
+                foreach (var item1 in loclist)
+                {
+                    var tp = db.Queryable<LocCntrRel>().Where(s => s.S_LOC_CODE == item1.S_CODE).First();
+
+                    // LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂璧风偣璐т綅瀹瑰櫒淇℃伅" + JsonConvert.SerializeObject(tp), "Mes浠诲姟涓嬪彂");
+                    if (tp != null && item1.S_LOCK_STATE == "鏃�)
+                    {
+                        var tp1 = db.Queryable<CntrItemRel>().Where(s => s.S_CNTR_CODE == tp.S_CNTR_CODE).First();
+                        //LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂璧风偣瀹瑰櫒鐗╂枡淇℃伅" + JsonConvert.SerializeObject(tp1), "Mes浠诲姟涓嬪彂");
+
+                        if (tp1 != null && tp1.S_ITEM_CODE == itemCode)
+                        {
+                            ConnectionList += 1;
+                        }
+                    }
+                }
+
+                var re = new connectionBalance();
+
+                var con = LocationHelper.GetLoc(item.S_CODE);
+                re.loc = con;
+                re.taskCount = ConnectionList;
+                result.Add(re);
+            }
+
+            
+
+               result =  result.OrderBy(a=>a.taskCount).ToList();
+
+                foreach (var item in result)
+                {
+                    location_roadray.Add(item.loc);
+                }
+
+
+                return location_roadray;
+            }
+
+
+
+        /// <summary>
+        /// 杩斿洖鍧囪 鐨勬帴椹充綅闆嗗悎
+        /// </summary>
+        internal static List<connectionBalance> GetBalanceConnectionList3(List<string> locList)
+        {
+            var db = new SqlHelper<object>().GetInstance();
+
+            List<connectionBalance> result = new List<connectionBalance>();
+
+            foreach (var item in locList)
+            {
+                var ConnectionList = 0;
+                ConnectionList = db.Queryable<WMSTask>().Where(a => (a.S_END_LOC.Contains(item) || a.S_START_LOC.Contains(item)) && a.S_B_STATE != "瀹屾垚" && a.S_B_STATE != "鍙栨秷" && a.S_B_STATE != "澶辫触" && a.S_B_STATE != "宸插畬鎴� && a.S_B_STATE != "鏈墽琛�).ToList().Count();
+                var re = new connectionBalance();
+                var con = LocationHelper.GetLoc(item);
+                re.loc = con;
+                re.taskCount = ConnectionList;
+                result.Add(re);
+            }
+            return result.OrderBy(a => a.taskCount).ToList();
+        }
+
+        /// <summary>
         /// 鎵剧粓鐐瑰彲鐢ㄧ┖璐т綅鎺掗櫎涓嶅彲鐢ㄥ贩閬�         /// </summary>
         /// <param name="locations"></param>
@@ -681,10 +784,17 @@
         /// </summary>
         /// <param name="locations"></param>
         /// <returns></returns>
-        internal static Location FindStartcolByLoclistAndcntr(List<Location> locations,string startArea) {
+        internal static Location FindStartcolByLoclistAndcntr(List<Location> locations,string startArea, string CONNECTION = "") {
             var db = new SqlHelper<object>().GetInstance();
             try
             {
+                
+
+               var connectionList = LocationHelper.GetConnectionList(CONNECTION);
+
+
+                var balanceConnectionList = LocationHelper.GetConnectionListByst(connectionList);
+
                 Location start = null;
                 var rowsStart = locations.Select(a => a.N_ROW).Distinct().ToList();
 
@@ -698,6 +808,8 @@
 
                     var flag = false;
 
+                    var flag2 = false;
+
                     foreach (var item in rowdwa)
                     {
                         if (rowList.Count(a => a.N_ROADWAY.ToString() == item.roadWay) > 0)
@@ -707,7 +819,17 @@
                         }
                     }
 
-                    if (flag)
+                    foreach (var item2 in balanceConnectionList)
+                    {
+                        if (rowList.Count(a => a.N_ROADWAY != item2.CONNEC_ROADWAY) > 0)
+                        {
+                            flag2 = true;
+                            break;
+                        }
+                    }
+
+
+                    if (flag || flag2)
                     {
                         continue;
                     }
@@ -916,13 +1038,21 @@
         /// </summary>
         /// <param name="locations"></param>
         /// <returns></returns>
-        internal static Location FindStartcolByLoclistAndItem(List<Location> locations,string itemCode,string endArea,string rodway="")
+        internal static Location FindStartcolByLoclistAndItem(List<Location> locations,string itemCode,string endArea,string rodway="",string CONNECTION="")
         {
             var db = new SqlHelper<object>().GetInstance();
             try
             {
                 Location start = null;
                 var rowsStart = locations.Select(a => a.N_ROW).Distinct().ToList();
+
+
+                var connectionList = LocationHelper.GetConnectionListByN(CONNECTION);
+
+
+                var balanceConnectionList = LocationHelper.GetConnectionListByst(connectionList);
+
+
 
                 LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟鎺掗櫎涓嶅彲鐢ㄥ贩閬撳紑濮�, "Mes浠诲姟涓嬪彂");
                 //浣滀笟娴佺▼鐨勫贩閬�@@ -937,7 +1067,7 @@
                 }
                 else
                 {
-                    //鏌ユ壘鍙敤宸烽亾
+                    //鏌ユ壘涓嶅彲鐢ㄥ贩閬�                     rowdwa = db.Queryable<RoadWayEnable>().Where(x => x.areaCode == endArea && x.status == "0").ToList();
                 }
 
@@ -946,7 +1076,7 @@
                 //    LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟璧风偣搴撳尯{endArea}鎵句笉鍒板彲鐢ㄥ贩閬�, "Mes浠诲姟涓嬪彂");
                 //    return null;
                 //}
-                
+
 
                 for (int i = 0; i < rowsStart.Count; i++)
                 {
@@ -954,6 +1084,7 @@
 
                     var flag = false;
                     var flag1 = false;
+                    var flag2 = false;
 
                     foreach (var item in rowdwa)
                     {
@@ -972,59 +1103,69 @@
                         }
                     }
 
-                    if (flag1 || flag)
+                    foreach (var item2 in balanceConnectionList)
                     {
-                        locations.RemoveAll(a => a.N_ROW == rowsStart[i]);
-                    }
-
-                    //rowList.Count(a => a.S_LOCK_STATE.Trim() != "鏃�) > 0 ||
-                    //褰撳墠鎺掓湁閿佸苟涓旀病鏈夋弧璐т綅锛屾帓闄�-                    if ( rowList.Count(a => a.N_CURRENT_NUM == 1) == 0)
-                    {
-                        locations.RemoveAll(a => a.N_ROW == rowsStart[i]);
-                    }
-                }
-
-                DateTime date = DateTime.Now;
-                List<CntrItemRel> startList = new List<CntrItemRel>(); ;
-
-                LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟鎺掗櫎涓嶅彲鐢ㄥ贩閬撳畬鎴�, "Mes浠诲姟涓嬪彂");
-
-                foreach (var item in locations) {
-                    if (item.N_CURRENT_NUM==0)
-                    {
-                        continue;
-                    }
-
-                    var tp = db.Queryable<LocCntrRel>().Where(s => s.S_LOC_CODE == item.S_CODE).First();
-
-                    LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂璧风偣璐т綅瀹瑰櫒淇℃伅" + JsonConvert.SerializeObject(tp), "Mes浠诲姟涓嬪彂");
-                    if (tp != null && item.S_LOCK_STATE == "鏃�)
-                    {
-                        var tp1 = db.Queryable<CntrItemRel>().Where(s => s.S_CNTR_CODE == tp.S_CNTR_CODE).First();
-                        LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂璧风偣瀹瑰櫒鐗╂枡淇℃伅" + JsonConvert.SerializeObject(tp1), "Mes浠诲姟涓嬪彂");
-                       
-                        if (tp1 != null && tp1.S_ITEM_CODE== itemCode&& tp1.S_ITEM_STATE == "鍚堟牸" && tp1.takeEffectTime < date && tp1.expireTime > date)
+                        if (rowList.Count(a => a.N_ROADWAY == item2.CONNEC_ROADWAY) > 0)
                         {
-                            LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂璧风偣鍚堟牸瀹瑰櫒鐗╂枡锛屽鍣ㄥ彿{tp1.S_CNTR_CODE}", "Mes浠诲姟涓嬪彂");
-                            startList.Add(tp1);
+                            flag2 = true;
+                            break;
                         }
                     }
-                }
 
-                LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂璧风偣鍚堟牸鐗╂枡鏁伴噺{startList.Count}", "Mes浠诲姟涓嬪彂");
-                var startItem = startList.OrderBy(a => a.PRODUCTIONDATE).FirstOrDefault();
+                        if (flag1 || flag || flag2)
+                        {
+                            locations.RemoveAll(a => a.N_ROW == rowsStart[i]);
+                        }
 
-                LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂璧风偣鎸夌敓浜ф椂闂存帓搴忕墿鏂欎俊鎭� + JsonConvert.SerializeObject(startItem), "Mes浠诲姟涓嬪彂");
-                if (startItem!=null)
-                {
-                   
+                        //rowList.Count(a => a.S_LOCK_STATE.Trim() != "鏃�) > 0 ||
+                        //褰撳墠鎺掓湁閿佸苟涓旀病鏈夋弧璐т綅锛屾帓闄�+                        if (rowList.Count(a => a.N_CURRENT_NUM == 1) == 0)
+                        {
+                            locations.RemoveAll(a => a.N_ROW == rowsStart[i]);
+                        }
+                    }
 
-                    var tp = db.Queryable<LocCntrRel>().Where(s => s.S_CNTR_CODE == startItem.S_CNTR_CODE).First();
-                    start = LocationHelper.GetLocOne(tp.S_LOC_CODE);
-                    LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂璧风偣璐т綅淇℃伅" + JsonConvert.SerializeObject(start), "Mes浠诲姟涓嬪彂");
-                }
-                return start;
+                    DateTime date = DateTime.Now;
+                    List<CntrItemRel> startList = new List<CntrItemRel>(); ;
+
+                    LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟鎺掗櫎涓嶅彲鐢ㄥ贩閬撳畬鎴�, "Mes浠诲姟涓嬪彂");
+
+                LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟鎺掗櫎瀹屾垚璐т綅鏁伴噺{locations.Count}", "Mes浠诲姟涓嬪彂");
+
+                foreach (var item in locations)
+                    {
+                        if (item.N_CURRENT_NUM == 0)
+                        {
+                            continue;
+                        }
+
+                        var tp = db.Queryable<LocCntrRel>().Where(s => s.S_LOC_CODE == item.S_CODE).First();
+
+                        LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂璧风偣璐т綅瀹瑰櫒淇℃伅" + JsonConvert.SerializeObject(tp), "Mes浠诲姟涓嬪彂");
+                        if (tp != null && item.S_LOCK_STATE == "鏃�)
+                        {
+                            var tp1 = db.Queryable<CntrItemRel>().Where(s => s.S_CNTR_CODE == tp.S_CNTR_CODE).First();
+                            LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂璧风偣瀹瑰櫒鐗╂枡淇℃伅" + JsonConvert.SerializeObject(tp1), "Mes浠诲姟涓嬪彂");
+
+                            if (tp1 != null && tp1.S_ITEM_CODE == itemCode && tp1.S_ITEM_STATE == "鍚堟牸" && tp1.takeEffectTime < date && tp1.expireTime > date)
+                            {
+                                LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂璧风偣鍚堟牸瀹瑰櫒鐗╂枡锛屽鍣ㄥ彿{tp1.S_CNTR_CODE}", "Mes浠诲姟涓嬪彂");
+                                startList.Add(tp1);
+                            }
+                        }
+                    }
+
+                    LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂璧风偣鍚堟牸鐗╂枡鏁伴噺{startList.Count}", "Mes浠诲姟涓嬪彂");
+                    var startItem = startList.OrderBy(a => a.PRODUCTIONDATE).FirstOrDefault();
+
+                    LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂璧风偣鎸夌敓浜ф椂闂存帓搴忕墿鏂欎俊鎭� + JsonConvert.SerializeObject(startItem), "Mes浠诲姟涓嬪彂");
+                    if (startItem != null)
+                    {
+                        var tp = db.Queryable<LocCntrRel>().Where(s => s.S_CNTR_CODE == startItem.S_CNTR_CODE).First();
+                        start = LocationHelper.GetLocOne(tp.S_LOC_CODE);
+                        LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂璧风偣璐т綅淇℃伅" + JsonConvert.SerializeObject(start), "Mes浠诲姟涓嬪彂");
+                    }
+                    return start;
             }
             catch (Exception)
             {
@@ -1104,9 +1245,6 @@
                 for (int i = 0; i < rowsStart.Count; i++)
                 {
                     var rowList = locations.Where(r => r.N_ROW == rowsStart[i]).ToList().OrderByDescending(a => a.N_COL);
-
-         
-                 
 
                     //rowList.Count(a => a.S_LOCK_STATE.Trim() != "鏃�) > 0 ||
                     //褰撳墠鎺掓湁閿佸苟涓旀病鏈夋弧璐т綅锛屾帓闄�@@ -1427,6 +1565,25 @@
         }
 
         /// <summary>
+        /// 鑾峰彇寮傚父搴撳尯
+        /// </summary>
+        /// <returns></returns>
+        internal static bool GetErroArea(string area)
+        {
+            var db = new SqlHelper<object>().GetInstance();
+            var erroArea = db.Queryable<Area>().Where(a => a.S_NAME.Contains("寮傚父") && a.S_CODE.Contains(area)).First();
+
+            if (erroArea == null)
+            {
+                return false;
+            }
+            else {
+                return true;
+            }
+        }
+
+
+        /// <summary>
         /// 鍏ュ簱閿佸畾缁堢偣锛屽嚭搴撻攣瀹氳捣鐐�         /// </summary>
         /// <param name="loc"></param>
diff --git a/wms/TaskHelper.cs b/wms/TaskHelper.cs
index bf54db7..d983393 100644
--- a/wms/TaskHelper.cs
+++ b/wms/TaskHelper.cs
@@ -1,6 +1,8 @@
-锘縰sing HH.WCS.ZhongCeJinTan.device;
+锘縰sing HH.WCS.ZhongCeJinTan.api;
+using HH.WCS.ZhongCeJinTan.device;
 using HH.WCS.ZhongCeJinTan.dispatch;
 using HH.WCS.ZhongCeJinTan.util;
+using ICSharpCode.SharpZipLib.Zip;
 using Newtonsoft.Json;
 using SqlSugar;
 using System;
@@ -12,6 +14,8 @@
 using System.Xml.Linq;
 using static HH.WCS.ZhongCeJinTan.util.Settings;
 using static HH.WCS.ZhongCeJinTan.wms.WcsModel;
+
+
 
 namespace HH.WCS.ZhongCeJinTan.wms
 {
@@ -304,12 +308,14 @@
                 {
                     LocationHelper.LockLoc(operation.S_START_LOC, "鍑哄簱閿�, 2);
                     LocationHelper.LockLoc(operation.S_END_LOC, "鍏ュ簱閿�, 1);
-                    LogHelper.Info($"浠诲姟{task1.S_OP_CODE}鍒涘缓鎴愬姛", "浠诲姟");
+                    LogHelper.Info($"浠诲姟{task1.S_CODE}鍒涘缓鎴愬姛", "浠诲姟");
                     var db = new SqlHelper<object>().GetInstance();
                     db.Updateable(operation).UpdateColumns(it => new { it.N_B_STATE, it.S_B_STATE }).ExecuteCommand();
+
+                    TaskHelper.opMesTask(task1, 0);
                 }
                 else {
-                    LogHelper.Info($"浠诲姟{task1.S_OP_CODE}鍒涘缓澶辫触", "浠诲姟");
+                    LogHelper.Info($"浠诲姟{task1.S_CODE}鍒涘缓澶辫触", "浠诲姟");
                 }
 
             }
@@ -419,6 +425,8 @@
                     LogHelper.Info($"浠诲姟{task1.S_CODE},{task2.S_CODE}鍒涘缓鎴愬姛", "浠诲姟");
                     var db = new SqlHelper<object>().GetInstance();
                     db.Updateable(operation).UpdateColumns(it => new { it.N_B_STATE, it.S_B_STATE }).ExecuteCommand();
+
+                    TaskHelper.opMesTask(task1, 0);
                 }
                 else
                 {
@@ -531,6 +539,8 @@
                         LogHelper.Info($"浠诲姟{task1.S_CODE},{task2.S_CODE}鍒涘缓鎴愬姛", "浠诲姟");
                         var db = new SqlHelper<object>().GetInstance();
                         db.Updateable(operation).UpdateColumns(it => new { it.N_B_STATE, it.S_B_STATE }).ExecuteCommand();
+
+                        TaskHelper.opMesTask(task2, 0);
                     }
                     else
                     {
@@ -576,7 +586,53 @@
             };
             return db.Insertable(action).ExecuteCommand() > 0;
         }
-        internal static WmsTaskAction GetActionRecord(string taskNo,string action)
+
+        internal static bool opMesTask(WMSTask task, int state)
+        {
+
+            HttpHelper apiHelper = new HttpHelper();
+            string baseUrl = Settings.MesApiAddres;
+            try
+            {
+
+                var interact = new
+                {
+                    taskNo = task.S_OP_CODE,//浠诲姟鍙�+                    updater = "WMS",// 鎿嶄綔浜�濡俉MS/MES绛�+                    endStock = task.S_END_LOC,//缁堢偣
+                    taskStatus = state,//0锛氬垵濮嬬姸鎬侊紝1锛氳繘琛屼腑锛�锛氬畬鎴愶紝3锛氫换鍔″彇娑�+                    updateTime = DateTime.Now.ToString()//鎿嶄綔鏃堕棿
+                };
+                LogHelper.Info("Mes鏇存柊浠诲姟鐘舵� 鍦板潃淇℃伅:" + baseUrl + "updateTask", "鍥炴姤Mes浠诲姟");
+                LogHelper.Info("Mes鏇存柊浠诲姟鐘舵� 鍙傛暟淇℃伅:" + JsonConvert.SerializeObject(interact), "鍥炴姤Mes浠诲姟");
+                var result = apiHelper.Post(baseUrl + "updateTask", JsonConvert.SerializeObject(interact));
+                LogHelper.Info("Mes鏇存柊浠诲姟鐘舵� 杩斿洖淇℃伅:" + JsonConvert.SerializeObject(result), "鍥炴姤Mes浠诲姟");
+                if (!string.IsNullOrEmpty(result))
+                {
+                    var res = JsonConvert.DeserializeObject<MesTaskReturn>(result);
+                    if (res.success && res.code == "0")
+                    {
+                        return true;
+                    }
+                    else
+                    {
+                        return false;
+                    }
+                }
+                else
+                {
+                    LogHelper.Info("Mes鏇存柊浠诲姟鐘舵� 杩斿洖淇℃伅涓虹┖", "鍥炴姤Mes浠诲姟");
+                    return false;
+                }
+            }
+            catch (Exception ex)
+            {
+                LogHelper.Info("Mes鏇存柊浠诲姟鐘舵�寮傚父"+ex.Message, "鍥炴姤Mes浠诲姟");
+                return false;
+            }
+
+        }
+            internal static WmsTaskAction GetActionRecord(string taskNo,string action)
         {
             var db = new SqlHelper<WmsTaskAction>().GetInstance();
 
@@ -741,6 +797,15 @@
                 db.Deleteable<LocCntrRel>().Where(it => it.S_CNTR_CODE == task.S_CNTR_CODE).ExecuteCommand();
                 db.Deleteable<CntrItemRel>().Where(it => it.S_CNTR_CODE == task.S_CNTR_CODE).ExecuteCommand();
             }
+
+
+            if (LocationHelper.GetErroArea(task.S_END_AREA)) {
+                db.Deleteable<Container>().Where(it => it.S_CODE == task.S_CNTR_CODE).ExecuteCommand();
+                db.Deleteable<LocCntrRel>().Where(it => it.S_CNTR_CODE == task.S_CNTR_CODE).ExecuteCommand();
+                db.Deleteable<CntrItemRel>().Where(it => it.S_CNTR_CODE == task.S_CNTR_CODE).ExecuteCommand();
+            }
+
+
         }
 
 
diff --git a/wms/WMSModel.cs b/wms/WMSModel.cs
index d05e33a..5c3a029 100644
--- a/wms/WMSModel.cs
+++ b/wms/WMSModel.cs
@@ -1596,5 +1596,15 @@
         public string Enable { get; set; }
     }
 
+    [ST("搴撳尯琛�)]
+    public class Area : BaseModel
+    {
+        //搴撳尯缂栫爜
+        public string S_CODE { get; set; }
 
+        /// <summary>
+        /// 搴撳尯鍚嶇О
+        /// </summary>
+        public string S_NAME { get; set; }
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.1