海波 张
2025-07-07 00b6105b34870f6f5a33551534d0088f3f741906
退库修改
1个文件已添加
16个文件已修改
2145 ■■■■■ 已修改文件
.vs/HH.WCS.ZhongCeJinTan.csproj.dtbcache.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
.vs/HH.WCS.ZhongCeJinTan/v17/DocumentLayout.backup.json 588 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.vs/HH.WCS.ZhongCeJinTan/v17/DocumentLayout.json 693 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.ZhongCeJinTan.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/WcsController.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/WmsController.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
config/config.json 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
core/Monitor.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
core/TaskCore.cs 167 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dispatch/WcsTask.cs 162 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
process/DeviceProcess.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
process/TaskProcess.cs 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
util/LogHelper.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
util/Settings.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wms/LocationHelper.cs 265 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wms/TaskHelper.cs 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wms/WMSModel.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.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":[]}
{"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":[]}
.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",
.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|",
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" />
api/WcsController.cs
New file
@@ -0,0 +1,22 @@
using 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
    {
    }
}
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), "物料绑定解绑");
@@ -84,6 +88,7 @@
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        [Route("api/InventoryRecords")]
        public MesAreaSecItemReturn InventoryRecords(MesAreaSecItemParme model)
        {
            LogHelper.Info("InventoryRecords 参数:" + JsonConvert.SerializeObject(model), "物料绑定解绑");
@@ -97,6 +102,7 @@
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        [Route("api/MesUdeItem")]
        public Result MesUdeItem(MesUdeItemParme model)
        {
            LogHelper.Info("MesUdeItem 参数:" + JsonConvert.SerializeObject(model), "物料绑定解绑");
@@ -110,14 +116,14 @@
        /// 库位操作记录接口
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        public Result LocationRecords(MesUdeItemParme model)
        {
            LogHelper.Info("MesUdeItem 参数:" + JsonConvert.SerializeObject(model), "物料绑定解绑");
            var res = TaskProcess.MesUdeItem(model);
            LogHelper.Info("MesUdeItem 返回:" + JsonConvert.SerializeObject(res), "物料绑定解绑");
            return res;
        }
        //[HttpPost]
        //public Result LocationRecords(MesUdeItemParme model)
        //{
        //    LogHelper.Info("MesUdeItem 参数:" + JsonConvert.SerializeObject(model), "物料绑定解绑");
        //    var res = TaskProcess.MesUdeItem(model);
        //    LogHelper.Info("MesUdeItem 返回:" + JsonConvert.SerializeObject(res), "物料绑定解绑");
        //    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下发任务");
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",
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")
                        {
                        {
                            //正式代码,调用接口寻找可用接驳位
                            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;
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);
            //                    }
                                //出库取消判断接驳位是否有货,有货需要解绑
                                if (!WcsTask.WcsCvstate(wmsTask))
                                {
                                    LogHelper.Info($"Wcs立库接驳位无货,解绑货位:{wmsTask.S_START_LOC}", "立库");
                                    TaskProcess.OperateStatus(wmsTask, 4);
                                    ContainerHelper.delCntr(wmsTask.S_CNTR_CODE);
                                    ContainerHelper.delCntrItem(wmsTask.S_CNTR_CODE);
                                }
                            break;
            //                    //出库取消判断接驳位是否有货,有货需要解绑
            //                    if (!WcsTask.WcsCvstate(wmsTask))
            //                    {
            //                        LogHelper.Info($"Wcs立库接驳位无货,解绑货位:{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)
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>
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},交互类型为1,卸货库区货架交互", "安全交互");
                            LogHelper.Info($"接驳位安全交互开始 任务号={mst.S_CODE},交互类型为1,卸货库区接驳位交互", "安全交互");
                            //先给立库发送卸货通知
                            WcsTask.WcsCallback(mst, state, fkNo);
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为2,4为0", "改道安全交互");
                            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为2,4为1024", "改道安全交互");
                        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}可用,不需要改道,直接修改参数6为2,4为1024", "改道安全交互");
                        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("查询到该工装已经绑定了货位信息", "物料绑定解绑");
                        throw new Exception("查询到该工装已经绑定了货位信息");
                        LogHelper.Info("查询到该工装托盘码已经绑定了货位信息", "物料绑定解绑");
                        throw new Exception("查询到该工装托盘码已经绑定了货位信息");
                    }
                    var TrayItems = db.Queryable<CntrItemRel>().Where(e => e.S_CNTR_CODE == model.TOOLS_NO).ToList();
                    if (TrayItems.Count() > 0)
                    {
                        LogHelper.Info("查询到该工装已经绑定了物料信息", "物料绑定解绑");
                        throw new Exception("查询到该工装已经绑定了物料信息");
                        LogHelper.Info("查询到该工装托盘码已经绑定了物料信息", "物料绑定解绑");
                        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入库任务下发寻找接驳位接口失败", "Mes任务下发");
                            throw new Exception($"ZCSendTask入库任务下发寻找接驳位接口失败");
                        }
                       
@@ -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($"失效时间为0001/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($"生效时间为0001/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);
util/LogHelper.cs
@@ -85,7 +85,7 @@
        /// 通过配置文件配置日志
        /// </summary>
        static LogFactory() {
            var loggerNames = new List<string>() { "ModBus", "API", "HosttoagvTask", "任务","强制完成","点到点","取消", "NDC", "物料绑定解绑", "修改物料", "立库", "报警上报", "Mes任务下发", "接驳位", "Wcs任务执行通知 ", "立库下发任务", "立库取消任务", "巷道可用上报", "通知确认", "agv执行通知", "安全交互", "放货有货", "胎面交互", "改道安全交互", "上下架记录", "Wcs下发任务", "门交互", "HosttoagvCar", "钉钉通知", "空托出库", "入库优先级", "agv动作缓存" };
            var loggerNames = new List<string>() { "ModBus", "API", "HosttoagvTask", "任务","强制完成","点到点","取消", "NDC", "物料绑定解绑", "修改物料", "立库", "报警上报", "Mes任务下发", "接驳位", "Wcs任务执行通知 ", "立库下发任务", "立库取消任务", "巷道可用上报", "通知确认", "agv执行通知", "安全交互", "放货有货", "胎面交互", "改道安全交互", "上下架记录", "Wcs下发任务", "门交互", "HosttoagvCar", "钉钉通知", "空托出库", "入库优先级", "agv动作缓存", "回报Mes任务" };
            LogManager.Configuration = DefaultConfig(loggerNames);
        }
        public static ILogger CreateLogger(string name) {
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();
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>
wms/TaskHelper.cs
@@ -1,6 +1,8 @@
using HH.WCS.ZhongCeJinTan.device;
using 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",// 操作人 如WMS/MES等
                    endStock = task.S_END_LOC,//终点
                    taskStatus = state,//0:初始状态,1:进行中,2:完成,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();
            }
        }
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; }
    }
}