From eb72ad7c5ec8f4f0cd8b291d16534a10e9eb113c Mon Sep 17 00:00:00 2001
From: Zhang-Hong-Lin <a3219986988@163.com>
Date: 星期一, 10 三月 2025 14:50:01 +0800
Subject: [PATCH] 后端

---
 项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json        |  158 ++++++-----
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/WMSPart/Dt_StockInfo.cs      |    4 
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json                   |    4 
 项目资料/通信协议/~$有色WMS与天车交互协议.docx                                                   |    0 
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs            |  304 +++++++++++++++--------
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/GZJ/GZJJob.cs                       |   93 +++++++
 项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json |  144 +++++-----
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs                       |    1 
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ZXJ/ZXJJob.cs                       |    2 
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_WMSPart/LocationInfoService.cs            |   47 ++-
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/LocationEnum/LocationEnum.cs       |    8 
 项目资料/通信协议/~$机组通信协议.doc                                                          |    0 
 12 files changed, 486 insertions(+), 279 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json"
index 522a1e6..9d8a860 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json"
@@ -3,32 +3,32 @@
   "WorkspaceRootPath": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\",
   "Documents": [
     {
-      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\zxj\\zxjjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\zxj\\zxjjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\gzj\\gzjjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\gzj\\gzjjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\oht\\ohtjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\oht\\ohtjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_common\\taskenum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\taskenum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_common\\taskenum\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\taskenum\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{B17BAF3C-2BAD-4162-B6DC-46ED7A1E3D8D}|WIDESEAWCS_WMSPart\\WIDESEAWCS_WMSPart.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_wmspart\\locationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{B17BAF3C-2BAD-4162-B6DC-46ED7A1E3D8D}|WIDESEAWCS_WMSPart\\WIDESEAWCS_WMSPart.csproj|solutionrelative:wideseawcs_wmspart\\locationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\gzj\\gzjjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\gzj\\gzjjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\wmspart\\dt_stockinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\wmspart\\dt_stockinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
+      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{B17BAF3C-2BAD-4162-B6DC-46ED7A1E3D8D}|WIDESEAWCS_WMSPart\\WIDESEAWCS_WMSPart.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_wmspart\\locationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{B17BAF3C-2BAD-4162-B6DC-46ED7A1E3D8D}|WIDESEAWCS_WMSPart\\WIDESEAWCS_WMSPart.csproj|solutionrelative:wideseawcs_wmspart\\locationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     }
   ],
   "DocumentGroupContainers": [
@@ -42,88 +42,94 @@
           "Children": [
             {
               "$type": "Document",
+              "DocumentIndex": 4,
+              "Title": "Dt_StockInfo.cs",
+              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\WMSPart\\Dt_StockInfo.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\WMSPart\\Dt_StockInfo.cs",
+              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\WMSPart\\Dt_StockInfo.cs",
+              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\WMSPart\\Dt_StockInfo.cs",
+              "ViewState": "AgIAACYAAAAAAAAAAAAswDUAAAAZAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-10T06:22:34.139Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
               "DocumentIndex": 5,
+              "Title": "appsettings.json",
+              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json",
+              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json",
+              "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json",
+              "ViewState": "AgIAAAMAAAAAAAAAAADwvxUAAABRAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
+              "WhenOpened": "2025-03-08T11:49:11.693Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 6,
               "Title": "LocationInfoService.cs",
               "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_WMSPart\\LocationInfoService.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_WMSPart\\LocationInfoService.cs",
               "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_WMSPart\\LocationInfoService.cs",
               "RelativeToolTip": "WIDESEAWCS_WMSPart\\LocationInfoService.cs",
-              "ViewState": "AgIAAGMAAAAAAAAAAAAswHAAAAAfAAAAAAAAAA==",
+              "ViewState": "AgIAAJkAAAAAAAAAAAAAALMAAAAIAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-07T02:00:34.89Z"
+              "WhenOpened": "2025-03-07T02:00:34.89Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 6,
+              "DocumentIndex": 1,
               "Title": "TaskService.cs",
               "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
               "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
               "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "ViewState": "AgIAAJkBAAAAAAAAAAAYwBcBAAATAAAAAAAAAA==",
+              "ViewState": "AgIAAOMCAAAAAAAAAAAAwP4CAAA7AAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-06T08:14:42.09Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 4,
-              "Title": "TaskTypeEnum.cs",
-              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
-              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
-              "RelativeToolTip": "WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
-              "ViewState": "AgIAADkAAAAAAAAAAAA0wFIAAAAMAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-06T06:43:37.389Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 3,
-              "Title": "TaskStatusEnum.cs",
-              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\TaskEnum\\TaskStatusEnum.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Common\\TaskEnum\\TaskStatusEnum.cs",
-              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\TaskEnum\\TaskStatusEnum.cs",
-              "RelativeToolTip": "WIDESEAWCS_Common\\TaskEnum\\TaskStatusEnum.cs",
-              "ViewState": "AgIAAEUAAAAAAAAAAAAswFcAAAAQAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-06T06:13:39.322Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 1,
-              "Title": "GZJJob.cs",
-              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
-              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
-              "RelativeToolTip": "WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
-              "ViewState": "AgIAAIIAAAAAAAAAAAAYwIAAAAAhAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-06T05:57:13.072Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 0,
-              "Title": "ZXJJob.cs",
-              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ZXJ\\ZXJJob.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ZXJ\\ZXJJob.cs",
-              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ZXJ\\ZXJJob.cs",
-              "RelativeToolTip": "WIDESEAWCS_Tasks\\ZXJ\\ZXJJob.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAIoAAAAtAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-06T05:57:04.98Z",
+              "WhenOpened": "2025-03-06T08:14:42.09Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 2,
+              "Title": "TaskTypeEnum.cs",
+              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
+              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
+              "RelativeToolTip": "WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
+              "ViewState": "AgIAADQAAAAAAAAAAAAQwFIAAAAMAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-06T06:43:37.389Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 0,
               "Title": "OHTJob.cs",
               "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
               "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
-              "ViewState": "AgIAABUAAAAAAAAAAAAAAJMAAABCAAAAAAAAAA==",
+              "ViewState": "AgIAAFwAAAAAAAAAAAAAAHUAAAAYAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-06T05:56:59.413Z"
+              "WhenOpened": "2025-03-06T05:56:59.413Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 3,
+              "Title": "GZJJob.cs",
+              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
+              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
+              "ViewState": "AgIAAF8AAAAAAAAAAAAQwHkAAAAQAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-06T05:57:13.072Z",
+              "EditorCaption": ""
             }
           ]
         }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json"
index 076add8..16a8519 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json"
@@ -3,10 +3,6 @@
   "WorkspaceRootPath": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\",
   "Documents": [
     {
-      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
-      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\zxj\\zxjjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\zxj\\zxjjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
@@ -19,20 +15,24 @@
       "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\oht\\ohtjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_common\\taskenum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\taskenum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_common\\taskenum\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\taskenum\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{B17BAF3C-2BAD-4162-B6DC-46ED7A1E3D8D}|WIDESEAWCS_WMSPart\\WIDESEAWCS_WMSPart.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_wmspart\\locationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{B17BAF3C-2BAD-4162-B6DC-46ED7A1E3D8D}|WIDESEAWCS_WMSPart\\WIDESEAWCS_WMSPart.csproj|solutionrelative:wideseawcs_wmspart\\locationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\wmspart\\dt_stockinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\wmspart\\dt_stockinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
+      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{B17BAF3C-2BAD-4162-B6DC-46ED7A1E3D8D}|WIDESEAWCS_WMSPart\\WIDESEAWCS_WMSPart.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_wmspart\\locationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{B17BAF3C-2BAD-4162-B6DC-46ED7A1E3D8D}|WIDESEAWCS_WMSPart\\WIDESEAWCS_WMSPart.csproj|solutionrelative:wideseawcs_wmspart\\locationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     }
   ],
   "DocumentGroupContainers": [
@@ -47,100 +47,106 @@
             {
               "$type": "Document",
               "DocumentIndex": 0,
+              "Title": "ZXJJob.cs",
+              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ZXJ\\ZXJJob.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ZXJ\\ZXJJob.cs",
+              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ZXJ\\ZXJJob.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\ZXJ\\ZXJJob.cs",
+              "ViewState": "AgIAAB4AAAAAAAAAAADwvy0AAAAJAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-10T06:48:51.93Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 5,
+              "Title": "Dt_StockInfo.cs",
+              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\WMSPart\\Dt_StockInfo.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\WMSPart\\Dt_StockInfo.cs",
+              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\WMSPart\\Dt_StockInfo.cs",
+              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\WMSPart\\Dt_StockInfo.cs",
+              "ViewState": "AgIAACYAAAAAAAAAAAAswDUAAAAZAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-10T06:22:34.139Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 6,
               "Title": "appsettings.json",
               "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json",
               "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json",
               "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json",
               "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json",
-              "ViewState": "AgIAAAAAAAAAAAAAAADwvxYAAABWAAAAAAAAAA==",
+              "ViewState": "AgIAAAMAAAAAAAAAAADwvxUAAABRAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
               "WhenOpened": "2025-03-08T11:49:11.693Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 6,
+              "DocumentIndex": 7,
               "Title": "LocationInfoService.cs",
               "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_WMSPart\\LocationInfoService.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_WMSPart\\LocationInfoService.cs",
               "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_WMSPart\\LocationInfoService.cs",
               "RelativeToolTip": "WIDESEAWCS_WMSPart\\LocationInfoService.cs",
-              "ViewState": "AgIAAGMAAAAAAAAAAAAswHAAAAAfAAAAAAAAAA==",
+              "ViewState": "AgIAAJkAAAAAAAAAAAAAALMAAAAIAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-07T02:00:34.89Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 7,
-              "Title": "TaskService.cs",
-              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "ViewState": "AgIAAJkBAAAAAAAAAAAYwBcBAAATAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-06T08:14:42.09Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 5,
-              "Title": "TaskTypeEnum.cs",
-              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
-              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
-              "RelativeToolTip": "WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
-              "ViewState": "AgIAADkAAAAAAAAAAAA0wFIAAAAMAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-06T06:43:37.389Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 4,
-              "Title": "TaskStatusEnum.cs",
-              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\TaskEnum\\TaskStatusEnum.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Common\\TaskEnum\\TaskStatusEnum.cs",
-              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\TaskEnum\\TaskStatusEnum.cs",
-              "RelativeToolTip": "WIDESEAWCS_Common\\TaskEnum\\TaskStatusEnum.cs",
-              "ViewState": "AgIAAEUAAAAAAAAAAAAswFcAAAAQAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-06T06:13:39.322Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 2,
-              "Title": "GZJJob.cs",
-              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
-              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
-              "RelativeToolTip": "WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
-              "ViewState": "AgIAAIIAAAAAAAAAAAAYwIAAAAAhAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-06T05:57:13.072Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 1,
-              "Title": "ZXJJob.cs",
-              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ZXJ\\ZXJJob.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ZXJ\\ZXJJob.cs",
-              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ZXJ\\ZXJJob.cs",
-              "RelativeToolTip": "WIDESEAWCS_Tasks\\ZXJ\\ZXJJob.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAIoAAAAtAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-06T05:57:04.98Z",
+              "WhenOpened": "2025-03-07T02:00:34.89Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 3,
+              "Title": "TaskService.cs",
+              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "ViewState": "AgIAAEsCAAAAAAAAAAAowGUCAAAWAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-06T08:14:42.09Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 4,
+              "Title": "TaskTypeEnum.cs",
+              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
+              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
+              "RelativeToolTip": "WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
+              "ViewState": "AgIAADQAAAAAAAAAAAAQwFIAAAAMAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-06T06:43:37.389Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 2,
               "Title": "OHTJob.cs",
               "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
               "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
-              "ViewState": "AgIAABUAAAAAAAAAAAAAAJMAAABCAAAAAAAAAA==",
+              "ViewState": "AgIAACcAAAAAAAAAAAAowDUAAAAaAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-06T05:56:59.413Z"
+              "WhenOpened": "2025-03-06T05:56:59.413Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 1,
+              "Title": "GZJJob.cs",
+              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
+              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
+              "ViewState": "AgIAADwAAAAAAAAAAAAAwHkAAAAQAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-06T05:57:13.072Z",
+              "EditorCaption": ""
             }
           ]
         }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/LocationEnum/LocationEnum.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/LocationEnum/LocationEnum.cs"
index 3b195f2..3e4bbbc 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/LocationEnum/LocationEnum.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/LocationEnum/LocationEnum.cs"
@@ -51,15 +51,15 @@
     public enum LocationTypeEnum
     {
         /// <summary>
-        /// 绔嬪簱
+        /// 鍓旈櫎璐т綅
         /// </summary>
-        [Description("绔嬪簱璐т綅")]
+        [Description("鍓旈櫎璐т綅")]
         Cube = 1,
 
         /// <summary>
-        /// 骞冲簱
+        /// 姝e父璐т綅
         /// </summary>
-        [Description("骞冲簱璐т綅")]
+        [Description("姝e父璐т綅")]
         Flat = 2
     }
 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/WMSPart/Dt_StockInfo.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/WMSPart/Dt_StockInfo.cs"
index 7b62696..c200a93 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/WMSPart/Dt_StockInfo.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/WMSPart/Dt_StockInfo.cs"
@@ -51,9 +51,9 @@
         public int StockStatus { get; set; }
 
         /// <summary>
-        /// 0鑷骇  1澶栬喘
+        /// 0鑷骇  1澶栬喘  3鍓旈櫎
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDescription = "0鑷骇  1澶栬喘")]
+        [SugarColumn(IsNullable = true, ColumnDescription = "0鑷骇  1澶栬喘  3鍓旈櫎")]
         public int Remark { get; set; }
 
         /// <summary>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json"
index 146f422..792da8f 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json"
@@ -19,8 +19,8 @@
     //杩炴帴瀛楃涓�
     //"ConnectionString": "HTI6FB1H05Krd07mNm9yBCNhofW6edA5zLs9TY~MNthRYW3kn0qKbMIsGp~3yyPDF1YZUCPBQx8U0Jfk4PH~ajNFXVIwlH85M3F~v_qKYQ3CeAz3q1mLVDn8O5uWt1~3Ut2V3KRkEwYHvW2oMDN~QIDXPxDgXN0R2oTIhc9dNu7QNaLEknblqmHhjaNSSpERdDVZIgHnMKejU_SL49tralBkZmDNi0hmkbL~837j1NWe37u9fJKmv91QPb~16JsuI9uu0EvNZ06g6PuZfOSAeFH9GMMIZiketdcJG3tHelo=",
     //"ConnectionString": "Data Source=.;Initial Catalog=WIDESEAWCS_TEST555;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
-    //"ConnectionString": "server=localhost;Database=wideseawcs_yangji;Uid=root;Pwd=123456;Port=3306;Allow User Variables=True;AllowLoadLocalInfile=true",
-    "ConnectionString": "server=localhost;Database=wideseawcs_yangji;Uid=root;Pwd=root;Port=3306;Allow User Variables=True;AllowLoadLocalInfile=true",
+    "ConnectionString": "server=192.168.0.161;Database=wideseawcs_yangji;Uid=user;Pwd=123456;Port=3306;Allow User Variables=True;AllowLoadLocalInfile=true",
+    //"ConnectionString": "server=localhost;Database=wideseawcs_yangji;Uid=root;Pwd=root;Port=3306;Allow User Variables=True;AllowLoadLocalInfile=true",
 
 
 
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
index 17d369e..5619d95 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -50,6 +50,7 @@
         private readonly IRepository<dt_errormsgInfo> _errorinfoRepository;
         private readonly Idt_ErrormsginfoService _ErrormsginfoService;
         private readonly IMapper _mapper;
+        private readonly IRepository<dt_stationInfo> _dt_stationInfoRepository;
 
         private Dictionary<string, OrderByType> _taskOrderBy = new()
             {
@@ -78,6 +79,7 @@
             IRepository<dt_batchInfo> batchRepository,
             IRepository<Dt_Task_hty> taskhtyRepository,
             IRepository<dt_errormsgInfo> errorinfoRepository,
+            IRepository<dt_stationInfo> dt_stationInfoRepository,
             Idt_ErrormsginfoService errormsginfoService,
             IUnitOfWorkManage unitOfWorkManage,
             IMapper mapper) : base(BaseDal)
@@ -93,6 +95,7 @@
             _errorinfoRepository = errorinfoRepository;
             _ErrormsginfoService = errormsginfoService;
             _mapper = mapper;
+            _dt_stationInfoRepository = dt_stationInfoRepository;
         }
 
         /// <summary>
@@ -621,127 +624,210 @@
                 {
                     throw new Exception(string.Format("澶╄溅鏀捐揣瀹屾垚浠诲姟鏈煡璇㈠埌浠诲姟鍙穥0}", taskNum));
                 }
-                
-                
+
                 if (nawtask.TaskType == (int)TaskInboundTypeEnum.Inbound)
                 {
-                    var batck = _batchinfoRepository.QueryFirst(v=>v.Id==1);
-                    //鏂板缓搴撳瓨
-                    Dt_StockInfo stock = new Dt_StockInfo();
-                    stock.LocationCode = nawtask.TargetAddress;
-                    stock.Weight = (decimal)weight;
-                    stock.StockStatus = (int)stockEnum.Free;
-                    stock.BatchNo = batck.InBatch;
-                    if (nawtask.Remark== (int)MateTypeEnum.ZiChan)
+                    var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "鍓旈櫎鏋�");
+                    string sourceAddress = station.Row + "-" + station.Column + "-1";
+                    if (nawtask.SourceAddress.Equals(sourceAddress))
                     {
-                        stock.Remark = (int)MateTypeEnum.ZiChan;
+                        var batck = _batchinfoRepository.QueryFirst(v => v.Id == 1);
+                        //鏂板缓搴撳瓨
+                        Dt_StockInfo stock = new Dt_StockInfo();
+                        stock.LocationCode = nawtask.TargetAddress;
+                        stock.Weight = (decimal)weight;
+                        stock.StockStatus = (int)stockEnum.Free;
+                        stock.BatchNo = batck.InBatch;
+                        stock.Remark = 3;
+                        //淇敼璐т綅淇℃伅
+                        var location = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.TargetAddress);
+                        location.LocationStatus = (int)LocationStatusEnum.InStock;
+                        //澶勭悊浠诲姟淇℃伅
+                        Dt_Task_hty taskhty = new Dt_Task_hty();
+                        taskhty.TaskNum = nawtask.TaskNum;
+                        taskhty.Roadway = nawtask.Roadway;
+                        taskhty.TaskType = nawtask.TaskType;
+                        taskhty.TaskState = (int)TaskInStatusEnum.Line_InFinish;
+                        taskhty.SourceAddress = nawtask.SourceAddress;
+                        taskhty.TargetAddress = nawtask.TargetAddress;
+                        taskhty.ExceptionMessage = nawtask.ExceptionMessage;
+                        taskhty.Grade = nawtask.Grade;
+                        taskhty.Dispatchertime = nawtask.Dispatchertime;
+                        taskhty.Remark = nawtask.Remark;
+                        taskhty.PalletCode = nawtask.PalletCode;
+                        taskhty.NextAddress = nawtask.NextAddress;
+                        taskhty.CurrentAddress = nawtask.CurrentAddress;
+
+                        //寮�濮嬫暟鎹簱浜嬪姟
+                        _unitOfWorkManage.BeginTran();
+                        _stockRepository.AddData(stock);
+                        _locationRepository.UpdateData(location);
+                        _taskhtyRepository.AddData(taskhty);
+                        BaseDal.DeleteData(nawtask);
+                        //鎻愪氦浜嬪姟
+                        _unitOfWorkManage.CommitTran();
                     }
                     else
                     {
-                        stock.Remark = (int)MateTypeEnum.WaiGou;
+                        var batck = _batchinfoRepository.QueryFirst(v => v.Id == 1);
+                        //鏂板缓搴撳瓨
+                        Dt_StockInfo stock = new Dt_StockInfo();
+                        stock.LocationCode = nawtask.TargetAddress;
+                        stock.Weight = (decimal)weight;
+                        stock.StockStatus = (int)stockEnum.Free;
+                        stock.BatchNo = batck.InBatch;
+                        if (nawtask.Remark == (int)MateTypeEnum.ZiChan)
+                        {
+                            stock.Remark = (int)MateTypeEnum.ZiChan;
+                        }
+                        else
+                        {
+                            stock.Remark = (int)MateTypeEnum.WaiGou;
+                        }
+                        Dt_StockInfo stockTow = new Dt_StockInfo();
+                        stockTow.LocationCode = nawtask.NextAddress;
+                        stockTow.Weight = (decimal)weight;
+                        stockTow.StockStatus = (int)stockEnum.Free;
+                        stockTow.BatchNo = batck.InBatch;
+                        if (nawtask.Remark == (int)MateTypeEnum.ZiChan)
+                        {
+                            stockTow.Remark = (int)MateTypeEnum.ZiChan;
+                        }
+                        else
+                        {
+                            stockTow.Remark = (int)MateTypeEnum.WaiGou;
+                        }
+                        //淇敼璐т綅淇℃伅
+                        var location = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.TargetAddress);
+                        location.LocationStatus = (int)LocationStatusEnum.InStock;
+                        //淇敼璐т綅淇℃伅
+                        var locationtow = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.NextAddress);
+                        locationtow.LocationStatus = (int)LocationStatusEnum.InStock;
+                        //澶勭悊浠诲姟淇℃伅
+                        Dt_Task_hty taskhty = new Dt_Task_hty();
+                        taskhty.TaskNum = nawtask.TaskNum;
+                        taskhty.Roadway = nawtask.Roadway;
+                        taskhty.TaskType = nawtask.TaskType;
+                        taskhty.TaskState = (int)TaskInStatusEnum.Line_InFinish;
+                        taskhty.SourceAddress = nawtask.SourceAddress;
+                        taskhty.TargetAddress = nawtask.TargetAddress;
+                        taskhty.ExceptionMessage = nawtask.ExceptionMessage;
+                        taskhty.Grade = nawtask.Grade;
+                        taskhty.Dispatchertime = nawtask.Dispatchertime;
+                        taskhty.Remark = nawtask.Remark;
+                        taskhty.PalletCode = nawtask.PalletCode;
+                        taskhty.NextAddress = nawtask.NextAddress;
+                        taskhty.CurrentAddress = nawtask.CurrentAddress;
+
+                        //寮�濮嬫暟鎹簱浜嬪姟
+                        _unitOfWorkManage.BeginTran();
+                        _stockRepository.AddData(stock);
+                        _stockRepository.AddData(stockTow);
+                        _locationRepository.UpdateData(location);
+                        _locationRepository.UpdateData(locationtow);
+                        _taskhtyRepository.AddData(taskhty);
+                        BaseDal.DeleteData(nawtask);
+                        //鎻愪氦浜嬪姟
+                        _unitOfWorkManage.CommitTran();
                     }
-                    Dt_StockInfo stockTow = new Dt_StockInfo();
-                    stockTow.LocationCode = nawtask.NextAddress;
-                    stockTow.Weight = (decimal)weight;
-                    stockTow.StockStatus = (int)stockEnum.Free;
-                    stockTow.BatchNo = batck.InBatch;
-                    if (nawtask.Remark == (int)MateTypeEnum.ZiChan)
-                    {
-                        stockTow.Remark = (int)MateTypeEnum.ZiChan;
-                    }
-                    else
-                    {
-                        stockTow.Remark = (int)MateTypeEnum.WaiGou;
-                    }
-                    //淇敼璐т綅淇℃伅
-                    var location = _locationRepository.QueryFirst(v=>v.LocationCode==nawtask.TargetAddress);
-                    location.LocationStatus = (int)LocationStatusEnum.InStock;
-                    //淇敼璐т綅淇℃伅
-                    var locationtow = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.NextAddress);
-                    locationtow.LocationStatus = (int)LocationStatusEnum.InStock;
-                    //澶勭悊浠诲姟淇℃伅
-                    Dt_Task_hty taskhty = new Dt_Task_hty();
-                    taskhty.TaskNum = nawtask.TaskNum;
-                    taskhty.Roadway = nawtask.Roadway;
-                    taskhty.TaskType = nawtask.TaskType;
-                    taskhty.TaskState = (int)TaskInStatusEnum.Line_InFinish;
-                    taskhty.SourceAddress = nawtask.SourceAddress;
-                    taskhty.TargetAddress = nawtask.TargetAddress;
-                    taskhty.ExceptionMessage = nawtask.ExceptionMessage;
-                    taskhty.Grade = nawtask.Grade;
-                    taskhty.Dispatchertime = nawtask.Dispatchertime;
-                    taskhty.Remark = nawtask.Remark;
-                    taskhty.PalletCode = nawtask.PalletCode;
-                    taskhty.NextAddress = nawtask.NextAddress;
-                    taskhty.CurrentAddress = nawtask.CurrentAddress;
-                    
-                    //寮�濮嬫暟鎹簱浜嬪姟
-                    _unitOfWorkManage.BeginTran();
-                    _stockRepository.AddData(stock);
-                    _stockRepository.AddData(stockTow);
-                    _locationRepository.UpdateData(location);
-                    _locationRepository.UpdateData(locationtow);
-                    _taskhtyRepository.AddData(taskhty);
-                    BaseDal.DeleteData(nawtask);
-                    //鎻愪氦浜嬪姟
-                    _unitOfWorkManage.CommitTran();
                 }
                 else if (nawtask.TaskType == (int)TaskOutboundTypeEnum.Outbound)
                 {
-                    //鏌ユ壘搴撳瓨
-                    var stock = _stockRepository.QueryFirst(v=>v.LocationCode== nawtask.SourceAddress);
-                    if (stock == null) 
+                    var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "瑗胯法鏋跺瓙");
+                    string targetAddress = station.Row + "-" + station.Column + "-1";
+                    if (nawtask.TargetAddress.Equals(targetAddress))
                     {
-                        throw new Exception($"鏈壘鍒板簱瀛樹俊鎭揣浣嶅彿:銆恵nawtask.TargetAddress}銆�");
+                        //鏌ユ壘搴撳瓨
+                        var stock = _stockRepository.QueryFirst(v => v.LocationCode == nawtask.SourceAddress);
+                        if (stock == null)
+                        {
+                            throw new Exception($"鏈壘鍒板簱瀛樹俊鎭揣浣嶅彿:銆恵nawtask.TargetAddress}銆�");
+                        }
+                        //淇敼璐т綅鐘舵��
+                        var location = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.SourceAddress);
+                        location.LocationStatus = (int)LocationStatusEnum.Free;
+                        //鍑嗗鍘嗗彶浠诲姟鏁版嵁
+                        Dt_Task_hty taskhty = new Dt_Task_hty();
+                        taskhty.TaskNum = nawtask.TaskNum;
+                        taskhty.Roadway = nawtask.Roadway;
+                        taskhty.TaskType = nawtask.TaskType;
+                        taskhty.TaskState = (int)TaskOutStatusEnum.OutFinish;
+                        taskhty.SourceAddress = nawtask.SourceAddress;
+                        taskhty.TargetAddress = nawtask.TargetAddress;
+                        taskhty.ExceptionMessage = nawtask.ExceptionMessage;
+                        taskhty.Grade = nawtask.Grade;
+                        taskhty.Dispatchertime = nawtask.Dispatchertime;
+                        taskhty.Remark = nawtask.Remark;
+                        taskhty.PalletCode = nawtask.PalletCode;
+                        taskhty.NextAddress = nawtask.NextAddress;
+                        taskhty.CurrentAddress = nawtask.CurrentAddress;
+                        //寮�濮嬫暟鎹簱浜嬪姟
+
+                        _unitOfWorkManage.BeginTran();
+                        _stockRepository.DeleteData(stock);
+                        _locationRepository.UpdateData(location);
+                        _taskhtyRepository.AddData(taskhty);
+                        BaseDal.DeleteData(nawtask);
+                        //鎻愪氦浜嬪姟
+                        _unitOfWorkManage.CommitTran();
                     }
-                    var Towstock = _stockRepository.QueryFirst(v => v.LocationCode == nawtask.NextAddress);
-                    //淇敼璐т綅鐘舵��
-                    var location = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.SourceAddress);
-                    location.LocationStatus = (int)LocationStatusEnum.Free;
-                    //淇敼璐т綅鐘舵��
-                    var locationTow = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.NextAddress);
-                    locationTow.LocationStatus = (int)LocationStatusEnum.Free;
-                    //鍑嗗鍘嗗彶浠诲姟鏁版嵁
-                    Dt_Task_hty taskhty = new Dt_Task_hty();
-                    taskhty.TaskNum = nawtask.TaskNum;
-                    taskhty.Roadway = nawtask.Roadway;
-                    taskhty.TaskType = nawtask.TaskType;
-                    taskhty.TaskState = (int)TaskOutStatusEnum.OutFinish;
-                    taskhty.SourceAddress = nawtask.SourceAddress;
-                    taskhty.TargetAddress = nawtask.TargetAddress;
-                    taskhty.ExceptionMessage = nawtask.ExceptionMessage;
-                    taskhty.Grade = nawtask.Grade;
-                    taskhty.Dispatchertime = nawtask.Dispatchertime;
-                    taskhty.Remark = nawtask.Remark;
-                    taskhty.PalletCode = nawtask.PalletCode;
-                    taskhty.NextAddress = nawtask.NextAddress;
-                    taskhty.CurrentAddress = nawtask.CurrentAddress;
-                    //濡傛灉鏀捐揣浣嶇疆琛屾槸40锛屽垯绔嬮┈鐢熸垚涓�鏉$Щ鍔ㄤ换鍔�
-                    //寮�濮嬪垱寤轰换鍔�
-                    Dt_Task Movstask = new Dt_Task();
-                    Movstask.Roadway = "TC01";
-                    Movstask.TaskType = (int)TaskMoveEnum.Mowe;
-                    Movstask.TaskState = (int)TaskMoveStatusEnum.OutNewMove;
-                    Movstask.SourceAddress = "0";
-                    Movstask.TargetAddress = "1-5-1";
-                    Movstask.NextAddress = "text";
-                    Movstask.Grade = 1;
-                    Movstask.WMSId = 3;
-                    Movstask.Remark = 0;
-                    Movstask.PalletCode = "text";
-                    Movstask.CurrentAddress = "text";
-                    //寮�濮嬫暟鎹簱浜嬪姟
-                    
-                    _unitOfWorkManage.BeginTran();
-                    BaseDal.AddData(Movstask);
-                    _stockRepository.DeleteData(stock);
-                    _stockRepository.DeleteData(Towstock);
-                    _locationRepository.UpdateData(location);
-                    _locationRepository.UpdateData(locationTow);
-                    _taskhtyRepository.AddData(taskhty);
-                    BaseDal.DeleteData(nawtask);
-                    //鎻愪氦浜嬪姟
-                    _unitOfWorkManage.CommitTran();
+                    else
+                    {
+                        //鏌ユ壘搴撳瓨
+                        var stock = _stockRepository.QueryFirst(v => v.LocationCode == nawtask.SourceAddress);
+                        if (stock == null)
+                        {
+                            throw new Exception($"鏈壘鍒板簱瀛樹俊鎭揣浣嶅彿:銆恵nawtask.TargetAddress}銆�");
+                        }
+                        var Towstock = _stockRepository.QueryFirst(v => v.LocationCode == nawtask.NextAddress);
+                        //淇敼璐т綅鐘舵��
+                        var location = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.SourceAddress);
+                        location.LocationStatus = (int)LocationStatusEnum.Free;
+                        //淇敼璐т綅鐘舵��
+                        var locationTow = _locationRepository.QueryFirst(v => v.LocationCode == nawtask.NextAddress);
+                        locationTow.LocationStatus = (int)LocationStatusEnum.Free;
+                        //鍑嗗鍘嗗彶浠诲姟鏁版嵁
+                        Dt_Task_hty taskhty = new Dt_Task_hty();
+                        taskhty.TaskNum = nawtask.TaskNum;
+                        taskhty.Roadway = nawtask.Roadway;
+                        taskhty.TaskType = nawtask.TaskType;
+                        taskhty.TaskState = (int)TaskOutStatusEnum.OutFinish;
+                        taskhty.SourceAddress = nawtask.SourceAddress;
+                        taskhty.TargetAddress = nawtask.TargetAddress;
+                        taskhty.ExceptionMessage = nawtask.ExceptionMessage;
+                        taskhty.Grade = nawtask.Grade;
+                        taskhty.Dispatchertime = nawtask.Dispatchertime;
+                        taskhty.Remark = nawtask.Remark;
+                        taskhty.PalletCode = nawtask.PalletCode;
+                        taskhty.NextAddress = nawtask.NextAddress;
+                        taskhty.CurrentAddress = nawtask.CurrentAddress;
+                        //濡傛灉鏀捐揣浣嶇疆琛屾槸40锛屽垯绔嬮┈鐢熸垚涓�鏉$Щ鍔ㄤ换鍔�
+                        //寮�濮嬪垱寤轰换鍔�
+                        Dt_Task Movstask = new Dt_Task();
+                        Movstask.Roadway = "TC01";
+                        Movstask.TaskType = (int)TaskMoveEnum.Mowe;
+                        Movstask.TaskState = (int)TaskMoveStatusEnum.OutNewMove;
+                        Movstask.SourceAddress = "0";
+                        Movstask.TargetAddress = "1-5-1";
+                        Movstask.NextAddress = "text";
+                        Movstask.Grade = 1;
+                        Movstask.WMSId = 3;
+                        Movstask.Remark = 0;
+                        Movstask.PalletCode = "text";
+                        Movstask.CurrentAddress = "text";
+                        //寮�濮嬫暟鎹簱浜嬪姟
+
+                        _unitOfWorkManage.BeginTran();
+                        BaseDal.AddData(Movstask);
+                        _stockRepository.DeleteData(stock);
+                        _stockRepository.DeleteData(Towstock);
+                        _locationRepository.UpdateData(location);
+                        _locationRepository.UpdateData(locationTow);
+                        _taskhtyRepository.AddData(taskhty);
+                        BaseDal.DeleteData(nawtask);
+                        //鎻愪氦浜嬪姟
+                        _unitOfWorkManage.CommitTran();
+                    }
                 }
                 else if (nawtask.TaskType == (int)TaskOutboundTypeEnum.OutInventory || nawtask.TaskType == (int)TaskMoveEnum.Mowe)
                 {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/GZJ/GZJJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/GZJ/GZJJob.cs"
index b6c7193..b6c9f94 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/GZJ/GZJJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/GZJ/GZJJob.cs"
@@ -78,14 +78,105 @@
 
         public Task Execute(IJobExecutionContext context)
         {
-           
+            //return Task.CompletedTask;
             bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
             if (flag && value != null)
             {
                 OtherDevice device = (OtherDevice)value;
+
+                try
+                {
+                    #region 鐢熸垚鍓旈櫎璐т綅鍏ュ簱浠诲姟
+                    //鍒ゆ柇鏁村舰鏈轰俊鍙�
+                    if(!OHTJob.oHTReadData.R_ZXJ_TC_isready&& !OHTJob.oHTReadData.R_TCMode_TC)
+                    {
+                        throw new Exception($"鏁村舰鏈烘姇鍏ヤ娇鐢ㄤ俊鍙蜂负false");
+                    }
+                    Dt_Task task = new Dt_Task();
+                    var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "鍓旈櫎鏋�");
+                    task.SourceAddress = station.Row + "-" + station.Column + "-1";
+                    var oldhtytask = _dt_taskRepositiry.QueryFirst(v => v.SourceAddress == task.SourceAddress);
+                    if (oldhtytask == null)
+                    {
+                        task.TargetAddress = _locationInfoService.GetInLocation(6).LocationCode;
+                        task.Grade = 1;
+                        task.Remark = (int)MateTypeEnum.ZiChan;
+                        task.NextAddress = "text";
+                        task.Roadway = "TC01";
+                        task.TaskType = (int)TaskInboundTypeEnum.Inbound;
+                        task.TaskState = (int)TaskInStatusEnum.InNew;
+                        task.PalletCode = "text";
+                        task.CurrentAddress = "text";
+                        task.WMSId = 2;
+                        _dt_taskRepositiry.AddData(task);
+                    }
+
+                    #endregion
+                }
+                catch (Exception ex)
+                {
+                    _ErrormsginfoService.UpdateErrorMsg(ex.Message, 5);
+                }
+
+                try
+                {
+                    #region 鐢熸垚鍓旈櫎璐т綅鍑哄簱浠诲姟
+                    if (!OHTJob.oHTReadData.R_TCMode && !OHTJob.oHTReadData.R_TC_isready)
+                    {
+                        throw new Exception($"瑙勬暣鏈哄墧闄ゆ灦瀛愬彲鏀炬澘鎴栧墧闄や笂鏂欐ā寮忎俊鍙蜂负false");
+                    }
+                    //鏌ヨ褰撳墠浠诲姟姹犱腑鏄惁瀛樺湪鍑哄簱浠诲姟锛屽嚭搴撲换鍔″彧鑳藉瓨鍦ㄤ竴鏉�
+                    var oldtask = _dt_taskRepositiry.QueryFirst(v => v.TaskType == (int)TaskOutboundTypeEnum.Outbound);
+                    if (oldtask != null)
+                    {
+                        throw new Exception($"褰撳墠浠诲姟姹犱腑宸插瓨鍦ㄤ竴鏉″嚭搴撲换鍔�");
+                    }
+                    //鏌ヨ褰撳墠闇�瑕佸嚭搴撶殑鎵规鍙凤紝浠ュ強鍑哄簱鐗╂枡绫诲瀷
+                    var batch = _batchInfoRepository.QueryFirst(v => v.Id == 1);
+                    //鏌ヨ搴撳瓨鐗╂枡搴撳瓨淇℃伅
+                    var stocks = _StockInfoRepository.QueryData(v => v.Remark == 3 && v.BatchNo == batch.OutBatch && v.StockStatus == 0)
+                        .OrderBy(v => v.CreateDate).ToList();
+                    if (stocks.Count <= 0)
+                    {
+                        throw new Exception($"褰撳墠搴撳瓨涓病鏈夈�恵batch.materType}銆戯紙0鑷骇 1澶栬喘锛変笖鎵规涓恒�恵batch.OutBatch}銆戠殑鐗╂枡");
+                    }
+                    //鏌ヨ璐т綅
+                    var locaOne = _LocationInfoRepository.QueryFirst(v => v.LocationCode == stocks[0].LocationCode);
+                    locaOne.LocationStatus = (int)LocationStatusEnum.Lock;
+                    stocks[0].StockStatus = 1;
+                    //鏌ヨ缁堢偣绔欏彴淇℃伅
+                    var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "瑗胯法鏋跺瓙");
+                    //寮�濮嬪垱寤轰换鍔�
+                    Dt_Task outtask = new Dt_Task();
+                    outtask.Roadway = "TC01";
+                    outtask.TaskType = (int)TaskOutboundTypeEnum.Outbound;
+                    outtask.TaskState = (int)TaskOutStatusEnum.OutNew;
+                    outtask.SourceAddress = stocks[0].LocationCode;
+                    outtask.TargetAddress = station.Row + "-" + station.Column + "-1";
+                    outtask.NextAddress = "text";
+                    outtask.Grade = 1;
+                    outtask.WMSId = 2;
+                    outtask.Remark = 3;
+                    outtask.PalletCode = "text";
+                    outtask.CurrentAddress = "text";
+
+                    _unitOfWorkManage.BeginTran();
+                    _LocationInfoRepository.UpdateData(locaOne);
+                    _dt_taskRepositiry.AddData(outtask);
+                    _StockInfoRepository.UpdateData(stocks[0]);
+                    _unitOfWorkManage.CommitTran();
+                    #endregion
+                }
+                catch (Exception ex)
+                {
+                    _ErrormsginfoService.UpdateErrorMsg(ex.Message, 6);
+                }
+
                 try
                 {
                     #region 鐢熸垚鍏ュ簱浠诲姟
+                    
+
                     //if (!OHTJob.oHTReadData.R_GZJ_isWork)
                     //{
                     //    throw new Exception($"瑙勬暣鏈烘姇鍏ヤ娇鐢ㄤ俊鍙蜂负false");
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs"
index 4f6742d..31e44ab 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs"
@@ -45,6 +45,7 @@
         }
         public Task Execute(IJobExecutionContext context)
         {
+            //return Task.CompletedTask;
             bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
             if (flag && value != null)
             {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ZXJ/ZXJJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ZXJ/ZXJJob.cs"
index 0a73430..ade9765 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ZXJ/ZXJJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ZXJ/ZXJJob.cs"
@@ -44,7 +44,7 @@
 
         public Task Execute(IJobExecutionContext context)
         {
-           
+            //return Task.CompletedTask;
             bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
             if (flag && value != null)
             {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_WMSPart/LocationInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_WMSPart/LocationInfoService.cs"
index f1d957e..be04ba4 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_WMSPart/LocationInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_WMSPart/LocationInfoService.cs"
@@ -116,9 +116,18 @@
             try
             {
                 var mode = _dt_storagemode.QueryFirst(v=>v.Id==1);
-                if (mode.storagemode==(int)StorageModeEnum.Out)
+                if (InMode == 6)
                 {
-                    var locations = BaseDal.QueryData(v=>v.EnableStatus== (int)EnableStatusEnum.Normal && v.LocationStatus==(int)LocationStatusEnum.Free).OrderBy(v=>v.Row).ToList();
+                    var locations = BaseDal.QueryData(v => v.EnableStatus == (int)EnableStatusEnum.Normal && v.LocationStatus == (int)LocationStatusEnum.Free && v.LocationType==(int)LocationTypeEnum.Cube).OrderBy(v => v.Row).ToList();
+                    if (locations.Count <= 0)
+                    {
+                        throw new Exception($"鍏ュ簱浼樺厛璐т綅鍒嗛厤澶辫触锛屽綋鍓嶆棤绌洪棽璐т綅");
+                    }
+                    location = locations[0];
+                }
+                else if (mode.storagemode==(int)StorageModeEnum.Out)
+                {
+                    var locations = BaseDal.QueryData(v=>v.EnableStatus== (int)EnableStatusEnum.Normal && v.LocationStatus==(int)LocationStatusEnum.Free && v.LocationType == (int)LocationTypeEnum.Flat).OrderBy(v=>v.Row).ToList();
                     if (locations.Count<=0) 
                     {
                         throw new Exception($"鍑哄簱浼樺厛璐т綅鍒嗛厤澶辫触锛屽綋鍓嶆棤绌洪棽璐т綅");
@@ -127,7 +136,7 @@
                 }
                 else if(mode.storagemode == (int)StorageModeEnum.In)
                 {
-                    var locations = BaseDal.QueryData(v => v.EnableStatus == (int)EnableStatusEnum.Normal && v.LocationStatus == (int)LocationStatusEnum.Free).OrderByDescending(v => v.Row).ToList();
+                    var locations = BaseDal.QueryData(v => v.EnableStatus == (int)EnableStatusEnum.Normal && v.LocationStatus == (int)LocationStatusEnum.Free && v.LocationType == (int)LocationTypeEnum.Flat).OrderByDescending(v => v.Row).ToList();
                     if (locations.Count <= 0)
                     {
                         throw new Exception($"鍏ュ簱浼樺厛璐т綅鍒嗛厤澶辫触锛屽綋鍓嶆棤绌洪棽璐т綅");
@@ -136,23 +145,31 @@
                 }
                 if (location!=null)
                 {
-                    //鏌ユ壘鐩搁偦鐨勫簱浣�
-                    Dt_LocationInfo Towlocation = new Dt_LocationInfo();
-
-                    var Onelocation = BaseDal.QueryFirst(v => v.LocationCode == location.LocationCode);
-
-                    if (Onelocation.Depth == 1)
+                    if (InMode == 6)
                     {
-                        Towlocation = BaseDal.QueryFirst(v => v.Row == Onelocation.Row && v.Column == Onelocation.Column && v.Depth == 2);
+                        location.LocationStatus = (int)LocationStatusEnum.Lock;
+                        BaseDal.UpdateData(location);
                     }
                     else
                     {
-                        Towlocation = BaseDal.QueryFirst(v => v.Row == Onelocation.Row && v.Column == Onelocation.Column && v.Depth == 1);
+                        //鏌ユ壘鐩搁偦鐨勫簱浣�
+                        Dt_LocationInfo Towlocation = new Dt_LocationInfo();
+
+                        var Onelocation = BaseDal.QueryFirst(v => v.LocationCode == location.LocationCode);
+
+                        if (Onelocation.Depth == 1)
+                        {
+                            Towlocation = BaseDal.QueryFirst(v => v.Row == Onelocation.Row && v.Column == Onelocation.Column && v.Depth == 2);
+                        }
+                        else
+                        {
+                            Towlocation = BaseDal.QueryFirst(v => v.Row == Onelocation.Row && v.Column == Onelocation.Column && v.Depth == 1);
+                        }
+                        location.LocationStatus = (int)LocationStatusEnum.Lock;
+                        Towlocation.LocationStatus = (int)LocationStatusEnum.Lock;
+                        BaseDal.UpdateData(location);
+                        BaseDal.UpdateData(Towlocation);
                     }
-                    location.LocationStatus = (int)LocationStatusEnum.Lock;
-                    Towlocation.LocationStatus = (int)LocationStatusEnum.Lock;
-                    BaseDal.UpdateData(location);
-                    BaseDal.UpdateData(Towlocation);
                 }
             }
             catch (Exception ex)
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/~$\346\234\211\350\211\262WMS\344\270\216\345\244\251\350\275\246\344\272\244\344\272\222\345\215\217\350\256\256.docx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/~$\346\234\211\350\211\262WMS\344\270\216\345\244\251\350\275\246\344\272\244\344\272\222\345\215\217\350\256\256.docx"
new file mode 100644
index 0000000..fcd42e3
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/~$\346\234\211\350\211\262WMS\344\270\216\345\244\251\350\275\246\344\272\244\344\272\222\345\215\217\350\256\256.docx"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/~$\346\234\272\347\273\204\351\200\232\344\277\241\345\215\217\350\256\256.doc" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/~$\346\234\272\347\273\204\351\200\232\344\277\241\345\215\217\350\256\256.doc"
new file mode 100644
index 0000000..fcd42e3
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/~$\346\234\272\347\273\204\351\200\232\344\277\241\345\215\217\350\256\256.doc"
Binary files differ

--
Gitblit v1.9.3