From 60f5c62de53256a92161813bd1098c7124ecae35 Mon Sep 17 00:00:00 2001
From: qiuyao <qiuyao@hnkhzn.com>
Date: 星期三, 26 三月 2025 09:09:48 +0800
Subject: [PATCH] Merge branch 'qy0227' of http://115.159.85.185:8098/r/MeiXinLaiRui/NiuJuKongZhi into qy0311

---
 项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Tasks/SerialPort/SerialPortTestJob.cs             |  147 +++
 项目代码/WIDESEAWCS_Server 正式/SerialPortService/NjTaskServer.cs                            |  170 ++-
 项目代码/WIDESEAWCS_Server 正式/SerialPortService/PutakeServer.cs                            |    7 
 项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Tasks/WIDESEAWCS_Tasks.csproj                     |    1 
 项目代码/WIDESEAWCS_Server 正式/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json         |  746 +++++++++--------
 项目代码/WIDESEAWCS_Server 正式/ISerialPortService/IProcessServer.cs                         |    2 
 项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_DTO/SerialPort/ProcessData.cs                     |   39 
 项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/Controllers/SerialPort/NjTaskController.cs |    2 
 项目代码/WIDESEAWCS_Server 正式/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json                | 1040 +++++++++++++++++++++--
 项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/appsettings.json                           |   63 
 项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Tasks/SerialPort/SerialPortJob.cs                 |  280 +++++-
 项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_DTO/SerialPort/AddNjtDTO.cs                       |    2 
 12 files changed, 1,849 insertions(+), 650 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json"
index 4323444..2be402b 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json"
@@ -3,80 +3,112 @@
   "WorkspaceRootPath": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\",
   "Documents": [
     {
-      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\processserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\processserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\putakeserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\putakeserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\serialportservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\serialportservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_tasks\\serialport\\serialportjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\serialport\\serialportjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\controllers\\serialport\\processcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\serialport\\processcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\processserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\processserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\njtaskserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\njtaskserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\iserialportservice\\iputakeserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|solutionrelative:iserialportservice\\iputakeserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\controllers\\serialport\\putakecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\serialport\\putakecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_dto\\serialport\\processdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\serialport\\processdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\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:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_torqueop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_torqueop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_process.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_process.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\appsettings.development.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
+      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\appsettings.development.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\controllers\\serialport\\torqueopcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\serialport\\torqueopcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\njtaskserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\njtaskserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_dto\\taskinfo\\dt_njtaskdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\taskinfo\\dt_njtaskdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_dto\\taskinfo\\wmstaskdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\taskinfo\\wmstaskdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_tasks\\serialport\\serialporttestjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\serialport\\serialporttestjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\controllers\\serialport\\processcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\serialport\\processcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\putakeserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\putakeserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\templateserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\templateserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\iserialportservice\\iprocessserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|solutionrelative:iserialportservice\\iprocessserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
+      "AbsoluteMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\iserialportservice\\injtaskserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|solutionrelative:iserialportservice\\injtaskserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\iserialportservice\\iputakeserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|solutionrelative:iserialportservice\\iputakeserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\controllers\\serialport\\njtaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\serialport\\njtaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_systemservices\\sys_userservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\sys_userservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_process.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_process.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
       "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\torqueopserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\torqueopserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\serialportservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\serialportservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\toolsserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\toolsserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\controllers\\serialport\\putakecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\serialport\\putakecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_torqueop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_torqueop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\controllers\\serialport\\torqueopcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\serialport\\torqueopcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_njtask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_njtask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_dto\\serialport\\addprocessdto.cs||{8B382828-6202-11D1-8870-0000F87579D2}",
-      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\serialport\\addprocessdto.cs||{8B382828-6202-11D1-8870-0000F87579D2}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\iserialportservice\\itorqueopserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|solutionrelative:iserialportservice\\itorqueopserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\toolsserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\toolsserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_template.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -101,14 +133,6 @@
     {
       "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_articleinfom.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_articleinfom.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\iserialportservice\\injtaskserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|solutionrelative:iserialportservice\\injtaskserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_systemservices\\sys_userservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\sys_userservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\controllers\\system\\sys_usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -141,10 +165,6 @@
     {
       "AbsoluteMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\iserialportservice\\iarticleinfomserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|solutionrelative:iserialportservice\\iarticleinfomserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\templateserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\templateserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\njcommandsserver .cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -211,10 +231,6 @@
       "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\sys_tenantservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\controllers\\serialport\\njtaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\serialport\\njtaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_systemservices\\sys_dictionaryservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\sys_dictionaryservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
@@ -242,133 +258,174 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 3,
+              "DocumentIndex": 10,
+              "Title": "ProcessController.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\ProcessController.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\SerialPort\\ProcessController.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\ProcessController.cs",
+              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\SerialPort\\ProcessController.cs",
+              "ViewState": "AgIAAB0AAAAAAAAAAAAswDQAAAAlAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T03:45:46.366Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 4,
+              "Title": "Program.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Program.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Program.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Program.cs",
+              "RelativeToolTip": "WIDESEAWCS_Server\\Program.cs",
+              "ViewState": "AgIAADcAAAAAAAAAAAAjwJsAAAAXAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-21T07:23:38.895Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 0,
               "Title": "SerialPortJob.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Tasks\\SerialPort\\SerialPortJob.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\SerialPort\\SerialPortJob.cs",
-              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Tasks\\SerialPort\\SerialPortJob.cs*",
-              "RelativeToolTip": "WIDESEAWCS_Tasks\\SerialPort\\SerialPortJob.cs*",
-              "ViewState": "AgIAADcAAAAAAAAAAAASwEoAAAAqAAAAAAAAAA==",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Tasks\\SerialPort\\SerialPortJob.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\SerialPort\\SerialPortJob.cs",
+              "ViewState": "AgIAALEBAAAAAAAAAAAtwMQBAAAxAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-03-21T02:39:47.713Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 5,
-              "Title": "NjTaskServer.cs",
-              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\NjTaskServer.cs",
-              "RelativeDocumentMoniker": "SerialPortService\\NjTaskServer.cs",
-              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\NjTaskServer.cs",
-              "RelativeToolTip": "SerialPortService\\NjTaskServer.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAC4AAAAUAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-18T08:34:48.374Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 0,
+              "DocumentIndex": 1,
               "Title": "ProcessServer.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\ProcessServer.cs",
               "RelativeDocumentMoniker": "SerialPortService\\ProcessServer.cs",
               "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\ProcessServer.cs",
               "RelativeToolTip": "SerialPortService\\ProcessServer.cs",
-              "ViewState": "AgIAAA4BAAAAAAAAAAAWwE8BAAA7AAAAAAAAAA==",
+              "ViewState": "AgIAAH0BAAAAAAAAAAAjwI4BAAAIAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-03-18T03:47:38.429Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 4,
-              "Title": "ProcessController.cs",
-              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\ProcessController.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\SerialPort\\ProcessController.cs",
-              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\ProcessController.cs",
-              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\SerialPort\\ProcessController.cs",
-              "ViewState": "AgIAADEAAAAAAAAAAAAkwD4AAAAMAAAAAAAAAA==",
+              "DocumentIndex": 6,
+              "Title": "NjTaskServer.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\NjTaskServer.cs",
+              "RelativeDocumentMoniker": "SerialPortService\\NjTaskServer.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\NjTaskServer.cs",
+              "RelativeToolTip": "SerialPortService\\NjTaskServer.cs",
+              "ViewState": "AgIAAEwBAAAAAAAAAAAewKwBAAANAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-18T03:45:46.366Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-18T08:34:48.374Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 5,
+              "Title": "appsettings.Development.json",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\appsettings.Development.json",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.Development.json",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\appsettings.Development.json",
+              "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.Development.json",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
+              "WhenOpened": "2025-03-24T01:23:41.886Z"
             },
             {
               "$type": "Document",
               "DocumentIndex": 2,
-              "Title": "SerialPortService.cs",
-              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\SerialPortService.cs",
-              "RelativeDocumentMoniker": "SerialPortService\\SerialPortService.cs",
-              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\SerialPortService.cs",
-              "RelativeToolTip": "SerialPortService\\SerialPortService.cs",
-              "ViewState": "AgIAACEAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Title": "ProcessData.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\SerialPort\\ProcessData.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\SerialPort\\ProcessData.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\SerialPort\\ProcessData.cs",
+              "RelativeToolTip": "WIDESEAWCS_DTO\\SerialPort\\ProcessData.cs",
+              "ViewState": "AgIAAAwAAAAAAAAAAAAAAAwAAAARAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-19T02:01:10.146Z",
+              "WhenOpened": "2025-03-24T06:47:01.352Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 1,
+              "DocumentIndex": 3,
+              "Title": "appsettings.json",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\appsettings.json",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\appsettings.json",
+              "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAAEAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
+              "WhenOpened": "2025-03-21T08:03:47.109Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 9,
+              "Title": "SerialPortTestJob.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Tasks\\SerialPort\\SerialPortTestJob.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\SerialPort\\SerialPortTestJob.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Tasks\\SerialPort\\SerialPortTestJob.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\SerialPort\\SerialPortTestJob.cs",
+              "ViewState": "AgIAABgAAAAAAAAAAAAAAC8AAAA0AAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-24T02:20:37.801Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 7,
+              "Title": "Dt_NjTaskDTO.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\TaskInfo\\Dt_NjTaskDTO.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\TaskInfo\\Dt_NjTaskDTO.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\TaskInfo\\Dt_NjTaskDTO.cs",
+              "RelativeToolTip": "WIDESEAWCS_DTO\\TaskInfo\\Dt_NjTaskDTO.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAABAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-24T06:46:38.794Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 8,
+              "Title": "WMSTaskDTO.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\TaskInfo\\WMSTaskDTO.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\TaskInfo\\WMSTaskDTO.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\TaskInfo\\WMSTaskDTO.cs",
+              "RelativeToolTip": "WIDESEAWCS_DTO\\TaskInfo\\WMSTaskDTO.cs",
+              "ViewState": "AgIAACQAAAAAAAAAAAAqwAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-24T06:46:41.369Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 11,
               "Title": "PutakeServer.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\PutakeServer.cs",
               "RelativeDocumentMoniker": "SerialPortService\\PutakeServer.cs",
               "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\PutakeServer.cs",
               "RelativeToolTip": "SerialPortService\\PutakeServer.cs",
-              "ViewState": "AgIAABwAAAAAAAAAAAAQwEAAAAAsAAAAAAAAAA==",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvwoAAAAjAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-19T01:54:30.012Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-24T06:29:41.815Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 6,
-              "Title": "IPutakeServer.cs",
-              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\IPutakeServer.cs",
-              "RelativeDocumentMoniker": "ISerialPortService\\IPutakeServer.cs",
-              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\IPutakeServer.cs",
-              "RelativeToolTip": "ISerialPortService\\IPutakeServer.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAswA0AAAAIAAAAAAAAAA==",
+              "DocumentIndex": 12,
+              "Title": "TemplateServer.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\TemplateServer.cs",
+              "RelativeDocumentMoniker": "SerialPortService\\TemplateServer.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\TemplateServer.cs",
+              "RelativeToolTip": "SerialPortService\\TemplateServer.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-19T01:54:23.95Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 7,
-              "Title": "PutakeController.cs",
-              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\PutakeController.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\SerialPort\\PutakeController.cs",
-              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\PutakeController.cs",
-              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\SerialPort\\PutakeController.cs",
-              "ViewState": "AgIAAAYAAAAAAAAAAAAtwBcAAAAeAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-19T01:57:42.064Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-19T02:01:14.321Z"
             },
             {
               "$type": "Document",
               "DocumentIndex": 14,
-              "Title": "TorqueOpServer.cs",
-              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\TorqueOpServer.cs",
-              "RelativeDocumentMoniker": "SerialPortService\\TorqueOpServer.cs",
-              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\TorqueOpServer.cs",
-              "RelativeToolTip": "SerialPortService\\TorqueOpServer.cs",
-              "ViewState": "AgIAAAYAAAAAAAAAAAAAAEIAAABsAAAAAAAAAA==",
+              "Title": "INjTaskServer.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\INjTaskServer.cs",
+              "RelativeDocumentMoniker": "ISerialPortService\\INjTaskServer.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\INjTaskServer.cs",
+              "RelativeToolTip": "ISerialPortService\\INjTaskServer.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAABUAAAAIAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-19T01:56:46.727Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 11,
-              "Title": "Dt_Process.cs",
-              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
-              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
-              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
-              "ViewState": "AgIAAGUAAAAAAAAAAAAowIAAAAAFAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-20T01:12:06.317Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-19T01:54:15.368Z"
             },
             {
               "$type": "Document",
@@ -378,105 +435,85 @@
               "RelativeDocumentMoniker": "ISerialPortService\\IProcessServer.cs",
               "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\IProcessServer.cs",
               "RelativeToolTip": "ISerialPortService\\IProcessServer.cs",
-              "ViewState": "AgIAAB0AAAAAAAAAAAD4vzsAAAAbAAAAAAAAAA==",
+              "ViewState": "AgIAABMAAAAAAAAAAAAQwCUAAAAbAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-19T01:54:16.125Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 8,
-              "Title": "appsettings.json",
-              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\appsettings.json",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json",
-              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\appsettings.json",
-              "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json",
-              "ViewState": "AgIAAAAAAAAAAAAAAADwvx4AAAAVAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
-              "WhenOpened": "2025-03-21T08:03:47.109Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 9,
-              "Title": "Dt_TorqueOp.cs",
-              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
-              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
-              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
-              "ViewState": "AgIAACEAAAAAAAAAAAAjwDUAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-20T07:32:46.346Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 10,
-              "Title": "Program.cs",
-              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Program.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Program.cs",
-              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Program.cs",
-              "RelativeToolTip": "WIDESEAWCS_Server\\Program.cs",
-              "ViewState": "AgIAACgAAAAAAAAAAADwvzUAAAAlAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-21T07:23:38.895Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 12,
-              "Title": "TorqueOpController.cs",
-              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\TorqueOpController.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\SerialPort\\TorqueOpController.cs",
-              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\TorqueOpController.cs",
-              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\SerialPort\\TorqueOpController.cs",
-              "ViewState": "AgIAAAwAAAAAAAAAAAAAABwAAAA5AAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-18T08:35:43.197Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-19T01:54:16.125Z"
             },
             {
               "$type": "Document",
               "DocumentIndex": 15,
-              "Title": "Dt_NjTask.cs",
-              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NjTask.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NjTask.cs",
-              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NjTask.cs",
-              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NjTask.cs",
-              "ViewState": "AgIAAIUAAAAAAAAAAAAUwNEAAAAmAAAAAAAAAA==",
+              "Title": "IPutakeServer.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\IPutakeServer.cs",
+              "RelativeDocumentMoniker": "ISerialPortService\\IPutakeServer.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\IPutakeServer.cs",
+              "RelativeToolTip": "ISerialPortService\\IPutakeServer.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAswA4AAAAbAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-20T01:07:30.689Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-19T01:54:23.95Z"
             },
             {
               "$type": "Document",
               "DocumentIndex": 16,
-              "Title": "AddProcessDTO.cs",
-              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\SerialPort\\AddProcessDTO.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\SerialPort\\AddProcessDTO.cs",
-              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\SerialPort\\AddProcessDTO.cs",
-              "RelativeToolTip": "WIDESEAWCS_DTO\\SerialPort\\AddProcessDTO.cs",
-              "ViewState": "AgIAABEAAAAAAAAAAAAAwB0AAAAOAAAAAAAAAA==",
+              "Title": "NjTaskController.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\NjTaskController.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\SerialPort\\NjTaskController.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\NjTaskController.cs",
+              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\SerialPort\\NjTaskController.cs",
+              "ViewState": "AgIAAAkAAAAAAAAAAAAAAEkAAAAfAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-18T05:46:02.575Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-18T08:32:49.485Z"
             },
             {
               "$type": "Document",
               "DocumentIndex": 17,
-              "Title": "ITorqueOpServer.cs",
-              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\ITorqueOpServer.cs",
-              "RelativeDocumentMoniker": "ISerialPortService\\ITorqueOpServer.cs",
-              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\ITorqueOpServer.cs",
-              "RelativeToolTip": "ISerialPortService\\ITorqueOpServer.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAABQAAAA9AAAAAAAAAA==",
+              "Title": "Sys_UserService.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_SystemServices\\Sys_UserService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_UserService.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_SystemServices\\Sys_UserService.cs",
+              "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_UserService.cs",
+              "ViewState": "AgIAAOAAAAAAAAAAAAAEwOgAAAAhAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-19T01:54:51.967Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-18T07:20:17.983Z"
             },
             {
               "$type": "Document",
               "DocumentIndex": 18,
+              "Title": "Dt_Process.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
+              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
+              "ViewState": "AgIAAAwAAAAAAAAAAAAAADIAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-20T01:12:06.317Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 20,
+              "Title": "SerialPortService.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\SerialPortService.cs",
+              "RelativeDocumentMoniker": "SerialPortService\\SerialPortService.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\SerialPortService.cs",
+              "RelativeToolTip": "SerialPortService\\SerialPortService.cs",
+              "ViewState": "AgIAACEAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T02:01:10.146Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 19,
+              "Title": "TorqueOpServer.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\TorqueOpServer.cs",
+              "RelativeDocumentMoniker": "SerialPortService\\TorqueOpServer.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\TorqueOpServer.cs",
+              "RelativeToolTip": "SerialPortService\\TorqueOpServer.cs",
+              "ViewState": "AgIAAAYAAAAAAAAAAAAAAEIAAABsAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:56:46.727Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 21,
               "Title": "ToolsServer.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\ToolsServer.cs",
               "RelativeDocumentMoniker": "SerialPortService\\ToolsServer.cs",
@@ -484,12 +521,71 @@
               "RelativeToolTip": "SerialPortService\\ToolsServer.cs",
               "ViewState": "AgIAAAMAAAAAAAAAAADwvxgAAAARAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-19T02:01:18.961Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-19T02:01:18.961Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 19,
+              "DocumentIndex": 22,
+              "Title": "PutakeController.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\PutakeController.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\SerialPort\\PutakeController.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\PutakeController.cs",
+              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\SerialPort\\PutakeController.cs",
+              "ViewState": "AgIAAAYAAAAAAAAAAAAtwBcAAAAeAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:57:42.064Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 23,
+              "Title": "Dt_TorqueOp.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
+              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
+              "ViewState": "AgIAACEAAAAAAAAAAAAjwDUAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-20T07:32:46.346Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 24,
+              "Title": "TorqueOpController.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\TorqueOpController.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\SerialPort\\TorqueOpController.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\TorqueOpController.cs",
+              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\SerialPort\\TorqueOpController.cs",
+              "ViewState": "AgIAAAwAAAAAAAAAAAAAABwAAAA5AAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T08:35:43.197Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 25,
+              "Title": "Dt_NjTask.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NjTask.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NjTask.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NjTask.cs",
+              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NjTask.cs",
+              "ViewState": "AgIAAIUAAAAAAAAAAAAUwNEAAAAmAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-20T01:07:30.689Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 26,
+              "Title": "ITorqueOpServer.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\ITorqueOpServer.cs",
+              "RelativeDocumentMoniker": "ISerialPortService\\ITorqueOpServer.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\ITorqueOpServer.cs",
+              "RelativeToolTip": "ISerialPortService\\ITorqueOpServer.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAABQAAAA9AAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:54:51.967Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 27,
               "Title": "Dt_Template.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Template.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Template.cs",
@@ -497,12 +593,11 @@
               "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Template.cs",
               "ViewState": "AgIAAFUAAAAAAAAAAAAiwAAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-20T01:12:34.667Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-20T01:12:34.667Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 20,
+              "DocumentIndex": 28,
               "Title": "Dt_Putake.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Putake.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Putake.cs",
@@ -510,12 +605,11 @@
               "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Putake.cs",
               "ViewState": "AgIAAFUAAAAAAAAAAAAiwGUAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-20T01:12:11.661Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-20T01:12:11.661Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 21,
+              "DocumentIndex": 29,
               "Title": "Dt_NJCommands.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJCommands.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJCommands.cs",
@@ -523,12 +617,11 @@
               "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJCommands.cs",
               "ViewState": "AgIAAB4AAAAAAAAAAAAcwAAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-20T01:11:41.912Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-20T01:11:41.912Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 22,
+              "DocumentIndex": 30,
               "Title": "Dt_NJtakeHistory.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJtakeHistory.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJtakeHistory.cs",
@@ -536,12 +629,11 @@
               "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJtakeHistory.cs",
               "ViewState": "AgIAAH0AAAAAAAAAAAAQwAAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-20T01:11:46.083Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-20T01:11:46.083Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 23,
+              "DocumentIndex": 31,
               "Title": "Dt_LoginHistory.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_LoginHistory.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_LoginHistory.cs",
@@ -549,12 +641,11 @@
               "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_LoginHistory.cs",
               "ViewState": "AgIAABMAAAAAAAAAAAAQwAAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-20T01:11:38.298Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-20T01:11:38.298Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 24,
+              "DocumentIndex": 32,
               "Title": "Dt_ArticleInfom.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_ArticleInfom.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_ArticleInfom.cs",
@@ -562,38 +653,11 @@
               "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_ArticleInfom.cs",
               "ViewState": "AgIAACoAAAAAAAAAAAAkwAAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-20T01:11:35.733Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-20T01:11:35.733Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 25,
-              "Title": "INjTaskServer.cs",
-              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\INjTaskServer.cs",
-              "RelativeDocumentMoniker": "ISerialPortService\\INjTaskServer.cs",
-              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\INjTaskServer.cs",
-              "RelativeToolTip": "ISerialPortService\\INjTaskServer.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAABUAAAAIAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-19T01:54:15.368Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 26,
-              "Title": "Sys_UserService.cs",
-              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_SystemServices\\Sys_UserService.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_UserService.cs",
-              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_SystemServices\\Sys_UserService.cs",
-              "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_UserService.cs",
-              "ViewState": "AgIAAIwBAAAAAAAAAAAQwJcBAAAnAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-18T07:20:17.983Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 30,
+              "DocumentIndex": 36,
               "Title": "SetpDTO.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\SerialPort\\SetpDTO.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\SerialPort\\SetpDTO.cs",
@@ -601,12 +665,11 @@
               "RelativeToolTip": "WIDESEAWCS_DTO\\SerialPort\\SetpDTO.cs",
               "ViewState": "AgIAAAYAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-19T06:58:28.509Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-19T06:58:28.509Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 27,
+              "DocumentIndex": 33,
               "Title": "Sys_UserController.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs",
@@ -614,12 +677,11 @@
               "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs",
               "ViewState": "AgIAAJMAAAAAAAAAAAASwLMAAAA2AAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-18T07:20:02.496Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-18T07:20:02.496Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 29,
+              "DocumentIndex": 35,
               "Title": "UserDTO.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\SerialPort\\UserDTO.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\SerialPort\\UserDTO.cs",
@@ -627,12 +689,11 @@
               "RelativeToolTip": "WIDESEAWCS_DTO\\SerialPort\\UserDTO.cs",
               "ViewState": "AgIAAAQAAAAAAAAAAABUwBMAAAAVAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-18T07:33:54.091Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-18T07:33:54.091Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 28,
+              "DocumentIndex": 34,
               "Title": "ISys_UserService.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_ISystemServices\\ISys_UserService.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\ISys_UserService.cs",
@@ -640,12 +701,11 @@
               "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_UserService.cs",
               "ViewState": "AgIAACUAAAAAAAAAAAAhwD4AAAA3AAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-18T07:20:13.531Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-18T07:20:13.531Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 33,
+              "DocumentIndex": 39,
               "Title": "LoginHistoryServer.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\LoginHistoryServer.cs",
               "RelativeDocumentMoniker": "SerialPortService\\LoginHistoryServer.cs",
@@ -653,12 +713,11 @@
               "RelativeToolTip": "SerialPortService\\LoginHistoryServer.cs",
               "ViewState": "AgIAAAkAAAAAAAAAAAAuwBUAAAAdAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-19T02:35:47.432Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-19T02:35:47.432Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 31,
+              "DocumentIndex": 37,
               "Title": "AddNjtDTO.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\SerialPort\\AddNjtDTO.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\SerialPort\\AddNjtDTO.cs",
@@ -666,12 +725,11 @@
               "RelativeToolTip": "WIDESEAWCS_DTO\\SerialPort\\AddNjtDTO.cs",
               "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-19T06:58:26.302Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-19T06:58:26.302Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 32,
+              "DocumentIndex": 38,
               "Title": "NJtakeHistoryServer.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\NJtakeHistoryServer.cs",
               "RelativeDocumentMoniker": "SerialPortService\\NJtakeHistoryServer.cs",
@@ -679,25 +737,11 @@
               "RelativeToolTip": "SerialPortService\\NJtakeHistoryServer.cs",
               "ViewState": "AgIAAAwAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-19T01:56:17.448Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-19T01:56:17.448Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 35,
-              "Title": "TemplateServer.cs",
-              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\TemplateServer.cs",
-              "RelativeDocumentMoniker": "SerialPortService\\TemplateServer.cs",
-              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\TemplateServer.cs",
-              "RelativeToolTip": "SerialPortService\\TemplateServer.cs",
-              "ViewState": "AgIAAAQAAAAAAAAAAABUwAAAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-19T02:01:14.321Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 34,
+              "DocumentIndex": 40,
               "Title": "IArticleInfomServer.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\IArticleInfomServer.cs",
               "RelativeDocumentMoniker": "ISerialPortService\\IArticleInfomServer.cs",
@@ -705,12 +749,11 @@
               "RelativeToolTip": "ISerialPortService\\IArticleInfomServer.cs",
               "ViewState": "AgIAAAAAAAAAAAAAAADwvwsAAABCAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-18T03:25:29.625Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-18T03:25:29.625Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 36,
+              "DocumentIndex": 41,
               "Title": "NJCommandsServer .cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\NJCommandsServer .cs",
               "RelativeDocumentMoniker": "SerialPortService\\NJCommandsServer .cs",
@@ -718,12 +761,11 @@
               "RelativeToolTip": "SerialPortService\\NJCommandsServer .cs",
               "ViewState": "AgIAAAwAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-19T01:56:15.37Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-19T01:56:15.37Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 38,
+              "DocumentIndex": 43,
               "Title": "IToolsServer.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\IToolsServer.cs",
               "RelativeDocumentMoniker": "ISerialPortService\\IToolsServer.cs",
@@ -731,12 +773,11 @@
               "RelativeToolTip": "ISerialPortService\\IToolsServer.cs",
               "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-19T01:54:51.309Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-19T01:54:51.309Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 37,
+              "DocumentIndex": 42,
               "Title": "ArticleInfomServer.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\ArticleInfomServer.cs",
               "RelativeDocumentMoniker": "SerialPortService\\ArticleInfomServer.cs",
@@ -744,12 +785,11 @@
               "RelativeToolTip": "SerialPortService\\ArticleInfomServer.cs",
               "ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-18T03:25:52.785Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-18T03:25:52.785Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 39,
+              "DocumentIndex": 44,
               "Title": "ITemplateServer.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\ITemplateServer.cs",
               "RelativeDocumentMoniker": "ISerialPortService\\ITemplateServer.cs",
@@ -757,12 +797,11 @@
               "RelativeToolTip": "ISerialPortService\\ITemplateServer.cs",
               "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-19T01:54:47.676Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-19T01:54:47.676Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 40,
+              "DocumentIndex": 45,
               "Title": "ISerialPortService.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\ISerialPortService.cs",
               "RelativeDocumentMoniker": "ISerialPortService\\ISerialPortService.cs",
@@ -770,12 +809,11 @@
               "RelativeToolTip": "ISerialPortService\\ISerialPortService.cs",
               "ViewState": "AgIAAAYAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-19T01:54:44.241Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-19T01:54:44.241Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 45,
+              "DocumentIndex": 50,
               "Title": "ISys_MenuService.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_ISystemServices\\ISys_MenuService.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\ISys_MenuService.cs",
@@ -783,12 +821,11 @@
               "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_MenuService.cs",
               "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-19T01:54:07.054Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-19T01:54:07.054Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 44,
+              "DocumentIndex": 49,
               "Title": "ISys_RoleAuthService.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_ISystemServices\\ISys_RoleAuthService.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\ISys_RoleAuthService.cs",
@@ -796,12 +833,11 @@
               "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_RoleAuthService.cs",
               "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-18T08:57:16.655Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-18T08:57:16.655Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 43,
+              "DocumentIndex": 48,
               "Title": "ILoginHistoryServer.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\ILoginHistoryServer.cs",
               "RelativeDocumentMoniker": "ISerialPortService\\ILoginHistoryServer.cs",
@@ -809,12 +845,11 @@
               "RelativeToolTip": "ISerialPortService\\ILoginHistoryServer.cs",
               "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-18T03:25:33.264Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-18T03:25:33.264Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 42,
+              "DocumentIndex": 47,
               "Title": "INJCommandsServer.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\INJCommandsServer.cs",
               "RelativeDocumentMoniker": "ISerialPortService\\INJCommandsServer.cs",
@@ -822,12 +857,11 @@
               "RelativeToolTip": "ISerialPortService\\INJCommandsServer.cs",
               "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-18T03:25:34.287Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-18T03:25:34.287Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 41,
+              "DocumentIndex": 46,
               "Title": "INJtakeHistoryServer.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\INJtakeHistoryServer.cs",
               "RelativeDocumentMoniker": "ISerialPortService\\INJtakeHistoryServer.cs",
@@ -835,12 +869,11 @@
               "RelativeToolTip": "ISerialPortService\\INJtakeHistoryServer.cs",
               "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-18T03:25:36.255Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-18T03:25:36.255Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 46,
+              "DocumentIndex": 51,
               "Title": "ISys_LogService.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_ISystemServices\\ISys_LogService.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\ISys_LogService.cs",
@@ -848,12 +881,11 @@
               "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_LogService.cs",
               "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-19T01:54:06.179Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-19T01:54:06.179Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 47,
+              "DocumentIndex": 52,
               "Title": "ISys_DictionaryService.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_ISystemServices\\ISys_DictionaryService.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\ISys_DictionaryService.cs",
@@ -861,12 +893,11 @@
               "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_DictionaryService.cs",
               "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-19T01:54:05.38Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-19T01:54:05.38Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 48,
+              "DocumentIndex": 53,
               "Title": "ISys_DictionaryListService.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_ISystemServices\\ISys_DictionaryListService.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\ISys_DictionaryListService.cs",
@@ -874,12 +905,11 @@
               "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_DictionaryListService.cs",
               "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-19T01:54:04.452Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-19T01:54:04.452Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 49,
+              "DocumentIndex": 54,
               "Title": "ISys_TenantService.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_ISystemServices\\ISys_TenantService.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\ISys_TenantService.cs",
@@ -887,12 +917,11 @@
               "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_TenantService.cs",
               "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-19T01:53:55.797Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-19T01:53:55.797Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 50,
+              "DocumentIndex": 55,
               "Title": "Sys_RoleService.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_SystemServices\\Sys_RoleService.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_RoleService.cs",
@@ -900,12 +929,11 @@
               "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_RoleService.cs",
               "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-19T01:53:51.567Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-19T01:53:51.567Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 51,
+              "DocumentIndex": 56,
               "Title": "Sys_TenantService.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_SystemServices\\Sys_TenantService.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_TenantService.cs",
@@ -913,25 +941,11 @@
               "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_TenantService.cs",
               "ViewState": "AgIAAEcAAAAAAAAAAAAiwAAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-19T01:53:47.238Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-19T01:53:47.238Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 52,
-              "Title": "NjTaskController.cs",
-              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\NjTaskController.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\SerialPort\\NjTaskController.cs",
-              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\NjTaskController.cs",
-              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\SerialPort\\NjTaskController.cs",
-              "ViewState": "AgIAADQAAAAAAAAAAAAkwEkAAAAfAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-18T08:32:49.485Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 53,
+              "DocumentIndex": 57,
               "Title": "Sys_DictionaryService.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_SystemServices\\Sys_DictionaryService.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_DictionaryService.cs",
@@ -939,12 +953,11 @@
               "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_DictionaryService.cs",
               "ViewState": "AgIAAFEAAAAAAAAAAAAcwAAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-18T03:37:22.246Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-18T03:37:22.246Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 54,
+              "DocumentIndex": 58,
               "Title": "Sys_DictionaryListService.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_SystemServices\\Sys_DictionaryListService.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_DictionaryListService.cs",
@@ -952,8 +965,7 @@
               "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_DictionaryListService.cs",
               "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAAJAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-18T03:37:17.946Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-03-18T03:37:17.946Z"
             }
           ]
         }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json"
index 0bf223a..30ec41a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json"
@@ -1,30 +1,242 @@
 {
   "Version": 1,
-  "WorkspaceRootPath": "E:\\\u7F8E\u65B0 \u626D\u77E9\u63A7\u5236\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\",
+  "WorkspaceRootPath": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\",
   "Documents": [
     {
-      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u65B0 \u626D\u77E9\u63A7\u5236\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\processserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_tasks\\serialport\\serialportjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\serialport\\serialportjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\njtaskserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\njtaskserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\appsettings.development.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
+      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\appsettings.development.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_tasks\\serialport\\serialporttestjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\serialport\\serialporttestjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\processserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\processserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\\u7F8E\u65B0 \u626D\u77E9\u63A7\u5236\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_dto\\serialport\\addprocessdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\serialport\\addprocessdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_dto\\serialport\\processdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\serialport\\processdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u65B0 \u626D\u77E9\u63A7\u5236\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_process.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\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:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_dto\\taskinfo\\dt_njtaskdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\taskinfo\\dt_njtaskdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_dto\\taskinfo\\wmstaskdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\taskinfo\\wmstaskdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\controllers\\serialport\\processcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\serialport\\processcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\putakeserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\putakeserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\templateserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\templateserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\iserialportservice\\iprocessserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|solutionrelative:iserialportservice\\iprocessserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\iserialportservice\\injtaskserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|solutionrelative:iserialportservice\\injtaskserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\iserialportservice\\iputakeserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|solutionrelative:iserialportservice\\iputakeserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\controllers\\serialport\\njtaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\serialport\\njtaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_systemservices\\sys_userservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\sys_userservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_process.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_process.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\\u7F8E\u65B0 \u626D\u77E9\u63A7\u5236\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\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:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\torqueopserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\torqueopserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u65B0 \u626D\u77E9\u63A7\u5236\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\filter\\customprofile.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\filter\\customprofile.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\serialportservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\serialportservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\\u7F8E\u65B0 \u626D\u77E9\u63A7\u5236\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_tasks\\serialport\\serialportjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\serialport\\serialportjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\toolsserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\toolsserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\controllers\\serialport\\putakecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\serialport\\putakecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_torqueop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_torqueop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\controllers\\serialport\\torqueopcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\serialport\\torqueopcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_njtask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_njtask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\iserialportservice\\itorqueopserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|solutionrelative:iserialportservice\\itorqueopserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_template.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_template.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_putake.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_putake.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_njcommands.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_njcommands.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_njtakehistory.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_njtakehistory.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_loginhistory.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_loginhistory.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_articleinfom.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_articleinfom.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\controllers\\system\\sys_usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\system\\sys_usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_isystemservices\\isys_userservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|solutionrelative:wideseawcs_isystemservices\\isys_userservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_dto\\serialport\\userdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\serialport\\userdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_dto\\serialport\\setpdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\serialport\\setpdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_dto\\serialport\\addnjtdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\serialport\\addnjtdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\njtakehistoryserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\njtakehistoryserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\loginhistoryserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\loginhistoryserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\iserialportservice\\iarticleinfomserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|solutionrelative:iserialportservice\\iarticleinfomserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\njcommandsserver .cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\njcommandsserver .cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\articleinfomserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\articleinfomserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\iserialportservice\\itoolsserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|solutionrelative:iserialportservice\\itoolsserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\iserialportservice\\itemplateserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|solutionrelative:iserialportservice\\itemplateserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\iserialportservice\\iserialportservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|solutionrelative:iserialportservice\\iserialportservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\iserialportservice\\injtakehistoryserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|solutionrelative:iserialportservice\\injtakehistoryserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\iserialportservice\\injcommandsserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|solutionrelative:iserialportservice\\injcommandsserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\iserialportservice\\iloginhistoryserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|solutionrelative:iserialportservice\\iloginhistoryserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_isystemservices\\isys_roleauthservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|solutionrelative:wideseawcs_isystemservices\\isys_roleauthservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_isystemservices\\isys_menuservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|solutionrelative:wideseawcs_isystemservices\\isys_menuservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_isystemservices\\isys_logservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|solutionrelative:wideseawcs_isystemservices\\isys_logservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_isystemservices\\isys_dictionaryservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|solutionrelative:wideseawcs_isystemservices\\isys_dictionaryservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_isystemservices\\isys_dictionarylistservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|solutionrelative:wideseawcs_isystemservices\\isys_dictionarylistservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_isystemservices\\isys_tenantservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|solutionrelative:wideseawcs_isystemservices\\isys_tenantservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_systemservices\\sys_roleservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\sys_roleservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_systemservices\\sys_tenantservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\sys_tenantservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_systemservices\\sys_dictionaryservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\sys_dictionaryservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_systemservices\\sys_dictionarylistservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\sys_dictionarylistservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     }
   ],
   "DocumentGroupContainers": [
@@ -34,141 +246,729 @@
       "DocumentGroups": [
         {
           "DockedWidth": 200,
-          "SelectedChildIndex": 17,
+          "SelectedChildIndex": 3,
           "Children": [
             {
+              "$type": "Bookmark",
+              "Name": "ST:0:0:{cce594b6-0c39-4442-ba28-10c64ac7e89f}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
+            },
+            {
               "$type": "Document",
-              "DocumentIndex": 4,
-              "Title": "CustomProfile.cs",
-              "DocumentMoniker": "E:\\\u7F8E\u65B0 \u626D\u77E9\u63A7\u5236\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Filter\\CustomProfile.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Filter\\CustomProfile.cs",
-              "ToolTip": "E:\\\u7F8E\u65B0 \u626D\u77E9\u63A7\u5236\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Filter\\CustomProfile.cs",
-              "RelativeToolTip": "WIDESEAWCS_Server\\Filter\\CustomProfile.cs",
-              "ViewState": "AQIAAAAAAAAAAAAAAAAAABoAAAAvAAAA",
+              "DocumentIndex": 7,
+              "Title": "Program.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Program.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Program.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Program.cs",
+              "RelativeToolTip": "WIDESEAWCS_Server\\Program.cs",
+              "ViewState": "AgIAADcAAAAAAAAAAAAjwJsAAAAXAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-22T02:17:37.56Z",
+              "WhenOpened": "2025-03-21T07:23:38.895Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 0,
+              "Title": "SerialPortJob.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Tasks\\SerialPort\\SerialPortJob.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\SerialPort\\SerialPortJob.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Tasks\\SerialPort\\SerialPortJob.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\SerialPort\\SerialPortJob.cs",
+              "ViewState": "AgIAAAcAAAAAAAAAAAAYwPAAAAAmAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-21T02:39:47.713Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 3,
-              "Title": "TaskService.cs",
-              "DocumentMoniker": "E:\\\u7F8E\u65B0 \u626D\u77E9\u63A7\u5236\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "ToolTip": "E:\\\u7F8E\u65B0 \u626D\u77E9\u63A7\u5236\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "ViewState": "AQIAACYAAAAAAAAAAAAAAC4AAAApAAAA",
+              "DocumentIndex": 4,
+              "Title": "ProcessServer.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\ProcessServer.cs",
+              "RelativeDocumentMoniker": "SerialPortService\\ProcessServer.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\ProcessServer.cs",
+              "RelativeToolTip": "SerialPortService\\ProcessServer.cs",
+              "ViewState": "AgIAAH0BAAAAAAAAAAAjwI4BAAAIAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-22T02:16:18.858Z",
+              "WhenOpened": "2025-03-18T03:47:38.429Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 1,
-              "Title": "AddProcessDTO.cs",
-              "DocumentMoniker": "E:\\\u7F8E\u65B0 \u626D\u77E9\u63A7\u5236\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\SerialPort\\AddProcessDTO.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\SerialPort\\AddProcessDTO.cs",
-              "ToolTip": "E:\\\u7F8E\u65B0 \u626D\u77E9\u63A7\u5236\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\SerialPort\\AddProcessDTO.cs",
-              "RelativeToolTip": "WIDESEAWCS_DTO\\SerialPort\\AddProcessDTO.cs",
-              "ViewState": "AQIAAEoAAAAAAAAAAAAqwFUAAAAyAAAA",
+              "Title": "NjTaskServer.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\NjTaskServer.cs",
+              "RelativeDocumentMoniker": "SerialPortService\\NjTaskServer.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\NjTaskServer.cs",
+              "RelativeToolTip": "SerialPortService\\NjTaskServer.cs",
+              "ViewState": "AgIAAE4BAAAAAAAAAAAQwIcBAAA0AAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-22T02:13:40.474Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Bookmark",
-              "Name": "ST:131:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
-            },
-            {
-              "$type": "Bookmark",
-              "Name": "ST:132:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
-            },
-            {
-              "$type": "Bookmark",
-              "Name": "ST:12:0:{2456bd12-ecf7-4988-a4a6-67d49173f565}"
-            },
-            {
-              "$type": "Bookmark",
-              "Name": "ST:17:0:{2456bd12-ecf7-4988-a4a6-67d49173f565}"
-            },
-            {
-              "$type": "Bookmark",
-              "Name": "ST:0:0:{65ddf8c3-8f89-4077-a6c6-dbb8853aab13}"
-            },
-            {
-              "$type": "Bookmark",
-              "Name": "ST:133:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
-            },
-            {
-              "$type": "Bookmark",
-              "Name": "ST:129:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
-            },
-            {
-              "$type": "Bookmark",
-              "Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
-            },
-            {
-              "$type": "Bookmark",
-              "Name": "ST:129:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
-            },
-            {
-              "$type": "Bookmark",
-              "Name": "ST:131:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
-            },
-            {
-              "$type": "Bookmark",
-              "Name": "ST:130:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
-            },
-            {
-              "$type": "Bookmark",
-              "Name": "ST:135:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
-            },
-            {
-              "$type": "Bookmark",
-              "Name": "ST:136:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
-            },
-            {
-              "$type": "Bookmark",
-              "Name": "ST:134:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 0,
-              "Title": "ProcessServer.cs",
-              "DocumentMoniker": "E:\\\u7F8E\u65B0 \u626D\u77E9\u63A7\u5236\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\ProcessServer.cs",
-              "RelativeDocumentMoniker": "SerialPortService\\ProcessServer.cs",
-              "ToolTip": "E:\\\u7F8E\u65B0 \u626D\u77E9\u63A7\u5236\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\ProcessServer.cs",
-              "RelativeToolTip": "SerialPortService\\ProcessServer.cs",
-              "ViewState": "AQIAACoBAAAAAAAAAAAcwDYBAAAvAAAA",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-22T01:58:12.034Z",
+              "WhenOpened": "2025-03-18T08:34:48.374Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 2,
-              "Title": "Dt_Process.cs",
-              "DocumentMoniker": "E:\\\u7F8E\u65B0 \u626D\u77E9\u63A7\u5236\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
-              "ToolTip": "E:\\\u7F8E\u65B0 \u626D\u77E9\u63A7\u5236\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
-              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
-              "ViewState": "AQIAAHAAAAAAAAAAAAAAAIUAAAAiAAAA",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-22T01:39:02.679Z",
+              "Title": "appsettings.Development.json",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\appsettings.Development.json",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.Development.json",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\appsettings.Development.json",
+              "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.Development.json",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
+              "WhenOpened": "2025-03-24T01:23:41.886Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 5,
-              "Title": "SerialPortJob.cs",
-              "DocumentMoniker": "E:\\\u7F8E\u65B0 \u626D\u77E9\u63A7\u5236\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Tasks\\SerialPort\\SerialPortJob.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\SerialPort\\SerialPortJob.cs",
-              "ToolTip": "E:\\\u7F8E\u65B0 \u626D\u77E9\u63A7\u5236\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Tasks\\SerialPort\\SerialPortJob.cs",
-              "RelativeToolTip": "WIDESEAWCS_Tasks\\SerialPort\\SerialPortJob.cs",
-              "ViewState": "AQIAACYAAAAAAAAAAAAQwDAAAAAxAAAA",
+              "DocumentIndex": 3,
+              "Title": "SerialPortTestJob.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Tasks\\SerialPort\\SerialPortTestJob.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\SerialPort\\SerialPortTestJob.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Tasks\\SerialPort\\SerialPortTestJob.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\SerialPort\\SerialPortTestJob.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAAgAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-20T06:22:01.344Z",
+              "WhenOpened": "2025-03-24T02:20:37.801Z",
               "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 10,
+              "Title": "ProcessController.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\ProcessController.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\SerialPort\\ProcessController.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\ProcessController.cs",
+              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\SerialPort\\ProcessController.cs",
+              "ViewState": "AgIAAB0AAAAAAAAAAAAswDQAAAAlAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T03:45:46.366Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 5,
+              "Title": "ProcessData.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\SerialPort\\ProcessData.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\SerialPort\\ProcessData.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\SerialPort\\ProcessData.cs",
+              "RelativeToolTip": "WIDESEAWCS_DTO\\SerialPort\\ProcessData.cs",
+              "ViewState": "AgIAAAwAAAAAAAAAAAAAAAwAAAARAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-24T06:47:01.352Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 6,
+              "Title": "appsettings.json",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\appsettings.json",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\appsettings.json",
+              "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAAEAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
+              "WhenOpened": "2025-03-21T08:03:47.109Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 8,
+              "Title": "Dt_NjTaskDTO.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\TaskInfo\\Dt_NjTaskDTO.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\TaskInfo\\Dt_NjTaskDTO.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\TaskInfo\\Dt_NjTaskDTO.cs",
+              "RelativeToolTip": "WIDESEAWCS_DTO\\TaskInfo\\Dt_NjTaskDTO.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAABAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-24T06:46:38.794Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 9,
+              "Title": "WMSTaskDTO.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\TaskInfo\\WMSTaskDTO.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\TaskInfo\\WMSTaskDTO.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\TaskInfo\\WMSTaskDTO.cs",
+              "RelativeToolTip": "WIDESEAWCS_DTO\\TaskInfo\\WMSTaskDTO.cs",
+              "ViewState": "AgIAACQAAAAAAAAAAAAqwAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-24T06:46:41.369Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 11,
+              "Title": "PutakeServer.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\PutakeServer.cs",
+              "RelativeDocumentMoniker": "SerialPortService\\PutakeServer.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\PutakeServer.cs",
+              "RelativeToolTip": "SerialPortService\\PutakeServer.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvwoAAAAjAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-24T06:29:41.815Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 12,
+              "Title": "TemplateServer.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\TemplateServer.cs",
+              "RelativeDocumentMoniker": "SerialPortService\\TemplateServer.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\TemplateServer.cs",
+              "RelativeToolTip": "SerialPortService\\TemplateServer.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T02:01:14.321Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 14,
+              "Title": "INjTaskServer.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\INjTaskServer.cs",
+              "RelativeDocumentMoniker": "ISerialPortService\\INjTaskServer.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\INjTaskServer.cs",
+              "RelativeToolTip": "ISerialPortService\\INjTaskServer.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAABUAAAAIAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:54:15.368Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 13,
+              "Title": "IProcessServer.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\IProcessServer.cs",
+              "RelativeDocumentMoniker": "ISerialPortService\\IProcessServer.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\IProcessServer.cs",
+              "RelativeToolTip": "ISerialPortService\\IProcessServer.cs",
+              "ViewState": "AgIAABMAAAAAAAAAAAAQwCUAAAAbAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:54:16.125Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 15,
+              "Title": "IPutakeServer.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\IPutakeServer.cs",
+              "RelativeDocumentMoniker": "ISerialPortService\\IPutakeServer.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\IPutakeServer.cs",
+              "RelativeToolTip": "ISerialPortService\\IPutakeServer.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAswA4AAAAbAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:54:23.95Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 16,
+              "Title": "NjTaskController.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\NjTaskController.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\SerialPort\\NjTaskController.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\NjTaskController.cs",
+              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\SerialPort\\NjTaskController.cs",
+              "ViewState": "AgIAAAkAAAAAAAAAAAAAAEkAAAAfAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T08:32:49.485Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 17,
+              "Title": "Sys_UserService.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_SystemServices\\Sys_UserService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_UserService.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_SystemServices\\Sys_UserService.cs",
+              "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_UserService.cs",
+              "ViewState": "AgIAAOAAAAAAAAAAAAAEwOgAAAAhAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T07:20:17.983Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 18,
+              "Title": "Dt_Process.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
+              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
+              "ViewState": "AgIAAAwAAAAAAAAAAAAAADIAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-20T01:12:06.317Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 20,
+              "Title": "SerialPortService.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\SerialPortService.cs",
+              "RelativeDocumentMoniker": "SerialPortService\\SerialPortService.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\SerialPortService.cs",
+              "RelativeToolTip": "SerialPortService\\SerialPortService.cs",
+              "ViewState": "AgIAACEAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T02:01:10.146Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 19,
+              "Title": "TorqueOpServer.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\TorqueOpServer.cs",
+              "RelativeDocumentMoniker": "SerialPortService\\TorqueOpServer.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\TorqueOpServer.cs",
+              "RelativeToolTip": "SerialPortService\\TorqueOpServer.cs",
+              "ViewState": "AgIAAAYAAAAAAAAAAAAAAEIAAABsAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:56:46.727Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 21,
+              "Title": "ToolsServer.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\ToolsServer.cs",
+              "RelativeDocumentMoniker": "SerialPortService\\ToolsServer.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\ToolsServer.cs",
+              "RelativeToolTip": "SerialPortService\\ToolsServer.cs",
+              "ViewState": "AgIAAAMAAAAAAAAAAADwvxgAAAARAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T02:01:18.961Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 22,
+              "Title": "PutakeController.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\PutakeController.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\SerialPort\\PutakeController.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\PutakeController.cs",
+              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\SerialPort\\PutakeController.cs",
+              "ViewState": "AgIAAAYAAAAAAAAAAAAtwBcAAAAeAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:57:42.064Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 23,
+              "Title": "Dt_TorqueOp.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
+              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
+              "ViewState": "AgIAACEAAAAAAAAAAAAjwDUAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-20T07:32:46.346Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 24,
+              "Title": "TorqueOpController.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\TorqueOpController.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\SerialPort\\TorqueOpController.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\TorqueOpController.cs",
+              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\SerialPort\\TorqueOpController.cs",
+              "ViewState": "AgIAAAwAAAAAAAAAAAAAABwAAAA5AAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T08:35:43.197Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 25,
+              "Title": "Dt_NjTask.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NjTask.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NjTask.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NjTask.cs",
+              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NjTask.cs",
+              "ViewState": "AgIAAIUAAAAAAAAAAAAUwNEAAAAmAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-20T01:07:30.689Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 26,
+              "Title": "ITorqueOpServer.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\ITorqueOpServer.cs",
+              "RelativeDocumentMoniker": "ISerialPortService\\ITorqueOpServer.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\ITorqueOpServer.cs",
+              "RelativeToolTip": "ISerialPortService\\ITorqueOpServer.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAABQAAAA9AAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:54:51.967Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 27,
+              "Title": "Dt_Template.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Template.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Template.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Template.cs",
+              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Template.cs",
+              "ViewState": "AgIAAFUAAAAAAAAAAAAiwAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-20T01:12:34.667Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 28,
+              "Title": "Dt_Putake.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Putake.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Putake.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Putake.cs",
+              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Putake.cs",
+              "ViewState": "AgIAAFUAAAAAAAAAAAAiwGUAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-20T01:12:11.661Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 29,
+              "Title": "Dt_NJCommands.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJCommands.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJCommands.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJCommands.cs",
+              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJCommands.cs",
+              "ViewState": "AgIAAB4AAAAAAAAAAAAcwAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-20T01:11:41.912Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 30,
+              "Title": "Dt_NJtakeHistory.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJtakeHistory.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJtakeHistory.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJtakeHistory.cs",
+              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJtakeHistory.cs",
+              "ViewState": "AgIAAH0AAAAAAAAAAAAQwAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-20T01:11:46.083Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 31,
+              "Title": "Dt_LoginHistory.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_LoginHistory.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_LoginHistory.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_LoginHistory.cs",
+              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_LoginHistory.cs",
+              "ViewState": "AgIAABMAAAAAAAAAAAAQwAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-20T01:11:38.298Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 32,
+              "Title": "Dt_ArticleInfom.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_ArticleInfom.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_ArticleInfom.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_ArticleInfom.cs",
+              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_ArticleInfom.cs",
+              "ViewState": "AgIAACoAAAAAAAAAAAAkwAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-20T01:11:35.733Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 36,
+              "Title": "SetpDTO.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\SerialPort\\SetpDTO.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\SerialPort\\SetpDTO.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\SerialPort\\SetpDTO.cs",
+              "RelativeToolTip": "WIDESEAWCS_DTO\\SerialPort\\SetpDTO.cs",
+              "ViewState": "AgIAAAYAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T06:58:28.509Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 33,
+              "Title": "Sys_UserController.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs",
+              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs",
+              "ViewState": "AgIAAJMAAAAAAAAAAAASwLMAAAA2AAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T07:20:02.496Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 35,
+              "Title": "UserDTO.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\SerialPort\\UserDTO.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\SerialPort\\UserDTO.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\SerialPort\\UserDTO.cs",
+              "RelativeToolTip": "WIDESEAWCS_DTO\\SerialPort\\UserDTO.cs",
+              "ViewState": "AgIAAAQAAAAAAAAAAABUwBMAAAAVAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T07:33:54.091Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 34,
+              "Title": "ISys_UserService.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_ISystemServices\\ISys_UserService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\ISys_UserService.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_ISystemServices\\ISys_UserService.cs",
+              "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_UserService.cs",
+              "ViewState": "AgIAACUAAAAAAAAAAAAhwD4AAAA3AAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T07:20:13.531Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 39,
+              "Title": "LoginHistoryServer.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\LoginHistoryServer.cs",
+              "RelativeDocumentMoniker": "SerialPortService\\LoginHistoryServer.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\LoginHistoryServer.cs",
+              "RelativeToolTip": "SerialPortService\\LoginHistoryServer.cs",
+              "ViewState": "AgIAAAkAAAAAAAAAAAAuwBUAAAAdAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T02:35:47.432Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 37,
+              "Title": "AddNjtDTO.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\SerialPort\\AddNjtDTO.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\SerialPort\\AddNjtDTO.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\SerialPort\\AddNjtDTO.cs",
+              "RelativeToolTip": "WIDESEAWCS_DTO\\SerialPort\\AddNjtDTO.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T06:58:26.302Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 38,
+              "Title": "NJtakeHistoryServer.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\NJtakeHistoryServer.cs",
+              "RelativeDocumentMoniker": "SerialPortService\\NJtakeHistoryServer.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\NJtakeHistoryServer.cs",
+              "RelativeToolTip": "SerialPortService\\NJtakeHistoryServer.cs",
+              "ViewState": "AgIAAAwAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:56:17.448Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 40,
+              "Title": "IArticleInfomServer.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\IArticleInfomServer.cs",
+              "RelativeDocumentMoniker": "ISerialPortService\\IArticleInfomServer.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\IArticleInfomServer.cs",
+              "RelativeToolTip": "ISerialPortService\\IArticleInfomServer.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvwsAAABCAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T03:25:29.625Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 41,
+              "Title": "NJCommandsServer .cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\NJCommandsServer .cs",
+              "RelativeDocumentMoniker": "SerialPortService\\NJCommandsServer .cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\NJCommandsServer .cs",
+              "RelativeToolTip": "SerialPortService\\NJCommandsServer .cs",
+              "ViewState": "AgIAAAwAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:56:15.37Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 43,
+              "Title": "IToolsServer.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\IToolsServer.cs",
+              "RelativeDocumentMoniker": "ISerialPortService\\IToolsServer.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\IToolsServer.cs",
+              "RelativeToolTip": "ISerialPortService\\IToolsServer.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:54:51.309Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 42,
+              "Title": "ArticleInfomServer.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\ArticleInfomServer.cs",
+              "RelativeDocumentMoniker": "SerialPortService\\ArticleInfomServer.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\ArticleInfomServer.cs",
+              "RelativeToolTip": "SerialPortService\\ArticleInfomServer.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T03:25:52.785Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 44,
+              "Title": "ITemplateServer.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\ITemplateServer.cs",
+              "RelativeDocumentMoniker": "ISerialPortService\\ITemplateServer.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\ITemplateServer.cs",
+              "RelativeToolTip": "ISerialPortService\\ITemplateServer.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:54:47.676Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 45,
+              "Title": "ISerialPortService.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\ISerialPortService.cs",
+              "RelativeDocumentMoniker": "ISerialPortService\\ISerialPortService.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\ISerialPortService.cs",
+              "RelativeToolTip": "ISerialPortService\\ISerialPortService.cs",
+              "ViewState": "AgIAAAYAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:54:44.241Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 50,
+              "Title": "ISys_MenuService.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_ISystemServices\\ISys_MenuService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\ISys_MenuService.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_ISystemServices\\ISys_MenuService.cs",
+              "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_MenuService.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:54:07.054Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 49,
+              "Title": "ISys_RoleAuthService.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_ISystemServices\\ISys_RoleAuthService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\ISys_RoleAuthService.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_ISystemServices\\ISys_RoleAuthService.cs",
+              "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_RoleAuthService.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T08:57:16.655Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 48,
+              "Title": "ILoginHistoryServer.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\ILoginHistoryServer.cs",
+              "RelativeDocumentMoniker": "ISerialPortService\\ILoginHistoryServer.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\ILoginHistoryServer.cs",
+              "RelativeToolTip": "ISerialPortService\\ILoginHistoryServer.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T03:25:33.264Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 47,
+              "Title": "INJCommandsServer.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\INJCommandsServer.cs",
+              "RelativeDocumentMoniker": "ISerialPortService\\INJCommandsServer.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\INJCommandsServer.cs",
+              "RelativeToolTip": "ISerialPortService\\INJCommandsServer.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T03:25:34.287Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 46,
+              "Title": "INJtakeHistoryServer.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\INJtakeHistoryServer.cs",
+              "RelativeDocumentMoniker": "ISerialPortService\\INJtakeHistoryServer.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\INJtakeHistoryServer.cs",
+              "RelativeToolTip": "ISerialPortService\\INJtakeHistoryServer.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T03:25:36.255Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 51,
+              "Title": "ISys_LogService.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_ISystemServices\\ISys_LogService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\ISys_LogService.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_ISystemServices\\ISys_LogService.cs",
+              "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_LogService.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:54:06.179Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 52,
+              "Title": "ISys_DictionaryService.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_ISystemServices\\ISys_DictionaryService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\ISys_DictionaryService.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_ISystemServices\\ISys_DictionaryService.cs",
+              "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_DictionaryService.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:54:05.38Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 53,
+              "Title": "ISys_DictionaryListService.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_ISystemServices\\ISys_DictionaryListService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\ISys_DictionaryListService.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_ISystemServices\\ISys_DictionaryListService.cs",
+              "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_DictionaryListService.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:54:04.452Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 54,
+              "Title": "ISys_TenantService.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_ISystemServices\\ISys_TenantService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\ISys_TenantService.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_ISystemServices\\ISys_TenantService.cs",
+              "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_TenantService.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:53:55.797Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 55,
+              "Title": "Sys_RoleService.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_SystemServices\\Sys_RoleService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_RoleService.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_SystemServices\\Sys_RoleService.cs",
+              "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_RoleService.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:53:51.567Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 56,
+              "Title": "Sys_TenantService.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_SystemServices\\Sys_TenantService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_TenantService.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_SystemServices\\Sys_TenantService.cs",
+              "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_TenantService.cs",
+              "ViewState": "AgIAAEcAAAAAAAAAAAAiwAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:53:47.238Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 57,
+              "Title": "Sys_DictionaryService.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_SystemServices\\Sys_DictionaryService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_DictionaryService.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_SystemServices\\Sys_DictionaryService.cs",
+              "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_DictionaryService.cs",
+              "ViewState": "AgIAAFEAAAAAAAAAAAAcwAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T03:37:22.246Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 58,
+              "Title": "Sys_DictionaryListService.cs",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_SystemServices\\Sys_DictionaryListService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_DictionaryListService.cs",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_SystemServices\\Sys_DictionaryListService.cs",
+              "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_DictionaryListService.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAAJAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T03:37:17.946Z"
             }
           ]
         }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/ISerialPortService/IProcessServer.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/ISerialPortService/IProcessServer.cs"
index f70c834..fc6ce96 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/ISerialPortService/IProcessServer.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/ISerialPortService/IProcessServer.cs"
@@ -30,7 +30,7 @@
 
 
         /// <summary>
-        /// 鏍规嵁缁勬潵锛屾瘡娆$偣鍑诲畠閮借浆鍒颁笅涓�閬撳伐搴�
+        /// 鏍规嵁缁勬潵锛屾瘡娆$偣鍑诲畠閮借浆鍒颁笅涓�閬撳伐搴�,鑾峰彇褰撳墠姝ラ
         /// </summary>
         /// <param name="grops"></param>
         /// <param name="takeid"></param>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/SerialPortService/NjTaskServer.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/SerialPortService/NjTaskServer.cs"
index 59a88cf..d23ec3c 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/SerialPortService/NjTaskServer.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/SerialPortService/NjTaskServer.cs"
@@ -71,7 +71,7 @@
 
                 //2.纭畾鏄柊寤烘ā鏉胯繕鏄洿鏂板凡鏈夋ā鏉�
                 bool isNewTemplate = existtepm == null;
-                if (isNewTemplate)
+                if (existtepm == null)
                 {
                     existtepm = new Dt_Template
                     {
@@ -87,11 +87,17 @@
                         liJu_Lc = njtakeDTO.liju_lc,
                         fuZhu_Dg = njtakeDTO.fuzhu_dg,
                         fuZhu_Dq = njtakeDTO.fuzhu_dq,
-                        fuZhu_Lc = njtakeDTO.fuzhu_lc
+                        fuZhu_Lc = njtakeDTO.fuzhu_lc,
+                        Creater = "admin",
+                        CreateDate = DateTime.Now
                     };
                 }
                 else
                 {
+                    existtepm.TakeName = njtakeDTO.takename;
+                    existtepm.jiShuYuan = njtakeDTO.jishuyuan;
+                    existtepm.gongZhang = njtakeDTO.gongzhang;
+
                     existtepm.zhiJianYuan_Dq = njtakeDTO.zhijianyuan_dq;
                     existtepm.zhiJianYuan_Lc = njtakeDTO.zhijianyuan_lc;
                     existtepm.zhiJianYuan_Dg = njtakeDTO.zhijianyuan_dg;
@@ -101,6 +107,7 @@
                     existtepm.fuZhu_Dg = njtakeDTO.fuzhu_dg;
                     existtepm.fuZhu_Dq = njtakeDTO.fuzhu_dq;
                     existtepm.fuZhu_Lc = njtakeDTO.fuzhu_lc;
+                    existtepm.ModifyDate = DateTime.Now;
                 }
 
                 // 3. 鏇存柊浠诲姟琛�
@@ -109,44 +116,44 @@
                 task.startTime = DateTime.Now;
                 ApplyTemplateToTask(task, existtepm, isNewTemplate, njtakeDTO);
 
-                // 4. 鎻掑叆鍘嗗彶璁板綍
-                var history = new Dt_NJtakeHistory
-                {
-                    taskID = task.id,
-                    trainKind = task.trainKind,
-                    TakeName = task.TakeName,
-                    trainNum = task.trainNum,
-                    track = task.track,
-                    coachNum = task.coachNum,
-                    bogie = task.bogie,
-                    processDept = task.processDept,
-                    jiShuYuan = task.jiShuYuan,
-                    zhiJianYuan_LC = task.zhiJianYuan_LC,
-                    zhiJianYuan_DG = task.zhiJianYuan_DG,
-                    zhiJianYuan_DQ = task.zhiJianYuan_DQ,
-                    gongZhang = task.gongZhang,
-                    liJu_LC = task.liJu_LC,
-                    liJu_DG = task.liJu_DG,
-                    liJu_DQ = task.liJu_DQ,
-                    fuZhu_LC = task.fuZhu_LC,
-                    fuZhu_DQ = task.fuZhu_DQ,
-                    fuZhu_DG = task.fuZhu_DG,
-                    createTime = (DateTime)task.createTime,
-                    dispatchTime = (DateTime)task.dispatchTime,
-                    startTime = (DateTime)task.startTime,
-                    startTime_LC = (DateTime)task.startTime_LC,
-                    endTime_LC = (DateTime)task.endTime_LC,
-                    startTime_DG = (DateTime)task.startTime_DG,
-                    endTime_DG = (DateTime)task.endTime_DG,
-                    startTime_DQ = (DateTime)task.startTime_DQ,
-                    endTime_DQ = (DateTime)task.endTime_DQ,
-                    endTime = (DateTime)task.endTime,
-                    confirmTime_JS = (DateTime)task.confirmTime_JS,
-                    confirmTime_GZ = (DateTime)task.confirmTime_GZ,
-                    confirmTime_LC = (DateTime)task.confirmTime_LC,
-                    confirmTime_DG = (DateTime)task.confirmTime_DG,
-                    confirmTime_DQ = (DateTime)task.confirmTime_DQ
-                };
+                //// 4. 鎻掑叆鍘嗗彶璁板綍
+                //var history = new Dt_NJtakeHistory
+                //{
+                //    taskID = task.id,
+                //    trainKind = task.trainKind,
+                //    TakeName = task.TakeName,
+                //    trainNum = task.trainNum,
+                //    track = task.track,
+                //    coachNum = task.coachNum,
+                //    bogie = task.bogie,
+                //    processDept = task.processDept,
+                //    jiShuYuan = task.jiShuYuan,
+                //    zhiJianYuan_LC = task.zhiJianYuan_LC,
+                //    zhiJianYuan_DG = task.zhiJianYuan_DG,
+                //    zhiJianYuan_DQ = task.zhiJianYuan_DQ,
+                //    gongZhang = task.gongZhang,
+                //    liJu_LC = task.liJu_LC,
+                //    liJu_DG = task.liJu_DG,
+                //    liJu_DQ = task.liJu_DQ,
+                //    fuZhu_LC = task.fuZhu_LC,
+                //    fuZhu_DQ = task.fuZhu_DQ,
+                //    fuZhu_DG = task.fuZhu_DG,
+                //    createTime = (DateTime)task.createTime,
+                //    dispatchTime = (DateTime)task.dispatchTime,
+                //    startTime = (DateTime)task.startTime,
+                //    startTime_LC = (DateTime)task.startTime_LC,
+                //    endTime_LC = (DateTime)task.endTime_LC,
+                //    startTime_DG = (DateTime)task.startTime_DG,
+                //    endTime_DG = (DateTime)task.endTime_DG,
+                //    startTime_DQ = (DateTime)task.startTime_DQ,
+                //    endTime_DQ = (DateTime)task.endTime_DQ,
+                //    endTime = (DateTime)task.endTime,
+                //    confirmTime_JS = (DateTime)task.confirmTime_JS,
+                //    confirmTime_GZ = (DateTime)task.confirmTime_GZ,
+                //    confirmTime_LC = (DateTime)task.confirmTime_LC,
+                //    confirmTime_DG = (DateTime)task.confirmTime_DG,
+                //    confirmTime_DQ = (DateTime)task.confirmTime_DQ
+                //};
 
                 // 5. 鎻掑叆浠诲姟鍒嗚В鏁版嵁
                 var listp = new List<Dt_Putake>
@@ -169,7 +176,7 @@
                 }
 
                 BaseDal.UpdateData(task);
-                _nJtakeHistoryRepository.AddData(history);
+                //_nJtakeHistoryRepository.AddData(history);
                 _putakeRepository.AddData(listp);
 
                 _unitOfWorkManage.CommitTran();
@@ -248,43 +255,44 @@
 
 
                 // 鎻掑叆鍒颁换鍔″巻鍙茶〃
-                var history = new Dt_NJtakeHistory
-                {
-                    taskID = task.id,
-                    trainKind = task.trainKind,
-                    TakeName = task.TakeName,
-                    trainNum = task.trainNum,
-                    track = task.track,
-                    coachNum = task.coachNum,
-                    bogie = task.bogie,
-                    processDept = task.processDept,
-                    jiShuYuan = task.jiShuYuan,
-                    zhiJianYuan_LC = task.zhiJianYuan_LC,
-                    zhiJianYuan_DG = task.zhiJianYuan_DG,
-                    zhiJianYuan_DQ = task.zhiJianYuan_DQ,
-                    gongZhang = task.gongZhang,
-                    liJu_LC = task.liJu_LC,
-                    liJu_DG = task.liJu_DG,
-                    liJu_DQ = task.liJu_DQ,
-                    fuZhu_LC = task.fuZhu_LC,
-                    fuZhu_DQ = task.fuZhu_DQ,
-                    fuZhu_DG = task.fuZhu_DG,
-                    createTime = (DateTime)task.createTime,
-                    dispatchTime = (DateTime)task.dispatchTime,
-                    startTime = (DateTime)task.startTime,
-                    startTime_LC = (DateTime)task.startTime_LC,
-                    endTime_LC = (DateTime)task.endTime_LC,
-                    startTime_DG = (DateTime)task.startTime_DG,
-                    endTime_DG = (DateTime)task.endTime_DG,
-                    startTime_DQ = (DateTime)task.startTime_DQ,
-                    endTime_DQ = (DateTime)task.endTime_DQ,
-                    endTime = (DateTime)task.endTime,
-                    confirmTime_JS = (DateTime)task.confirmTime_JS,
-                    confirmTime_GZ = (DateTime)task.confirmTime_GZ,
-                    confirmTime_LC = (DateTime)task.confirmTime_LC,
-                    confirmTime_DG = (DateTime)task.confirmTime_DG,
-                    confirmTime_DQ = (DateTime)task.confirmTime_DQ
-                };
+                //var history = new Dt_NJtakeHistory
+                //{
+                //    taskID = task.id,
+                //    trainKind = task.trainKind,
+                //    TakeName = task.TakeName,
+                //    trainNum = task.trainNum,
+                //    track = task.track,
+                //    coachNum = task.coachNum,
+                //    bogie = task.bogie,
+                //    processDept = task.processDept,
+                //    jiShuYuan = task.jiShuYuan,
+                //    zhiJianYuan_LC = task.zhiJianYuan_LC,
+                //    zhiJianYuan_DG = task.zhiJianYuan_DG,
+                //    zhiJianYuan_DQ = task.zhiJianYuan_DQ,
+                //    gongZhang = task.gongZhang,
+                //    liJu_LC = task.liJu_LC,
+                //    liJu_DG = task.liJu_DG,
+                //    liJu_DQ = task.liJu_DQ,
+                //    fuZhu_LC = task.fuZhu_LC,
+                //    fuZhu_DQ = task.fuZhu_DQ,
+                //    fuZhu_DG = task.fuZhu_DG,
+                //    createTime = (DateTime)task.createTime,
+                //    dispatchTime = (DateTime)task.dispatchTime,
+                //    startTime = (DateTime)task.startTime,
+                //    startTime_LC = (DateTime)task.startTime_LC,
+                //    endTime_LC = (DateTime)task.endTime_LC,
+                //    startTime_DG = (DateTime)task.startTime_DG,
+                //    endTime_DG = (DateTime)task.endTime_DG,
+                //    startTime_DQ = (DateTime)task.startTime_DQ,
+                //    endTime_DQ = (DateTime)task.endTime_DQ,
+                //    endTime = (DateTime)task.endTime,
+                //    confirmTime_JS = (DateTime)task.confirmTime_JS,
+                //    confirmTime_GZ = (DateTime)task.confirmTime_GZ,
+                //    confirmTime_LC = (DateTime)task.confirmTime_LC,
+                //    confirmTime_DG = (DateTime)task.confirmTime_DG,
+                //    confirmTime_DQ = (DateTime)task.confirmTime_DQ
+                    
+                //};
 
 
 
@@ -314,7 +322,8 @@
                         Grouptype = g.Grouptype,
                         Pustatus = g.Pustatus,
                         Dispatchtime = task.dispatchTime,
-
+                        Creater="",
+                        CreateDate=new DateTime()
                     });
                 }
 
@@ -324,7 +333,7 @@
                 BaseDal.UpdateData(task);//灏嗘ā鏉胯〃涓慨鏀圭殑鎻掑叆杩涗换鍔¤〃涓�
 
                 // db.Insertable(history).ExecuteCommand(); 
-                _nJtakeHistoryRepository.AddData(history);// 鎻掑叆鍘嗗彶璁板綍
+                //_nJtakeHistoryRepository.AddData(history);// 鎻掑叆鍘嗗彶璁板綍
 
                 _putakeRepository.AddData(listp);//涓嬪彂涓夋潯浠诲姟鍒嗚В琛ㄦ暟鎹�
                                                  //  return new WebResponseContent { Status = true, Message = "涓嬪彂浜嗕换鍔″苟淇濆瓨浜嗘ā鏉�"};
@@ -386,6 +395,7 @@
                 var addnj = new Dt_NjTask()
                 {
                     NJtaskID = CustomizeID,
+                    TakeName=addNjtDTO.TakeName,
                     trainKind = addNjtDTO.trainKind,
                     trainNum = addNjtDTO.trainNum,
                     track = addNjtDTO.track,
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/SerialPortService/PutakeServer.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/SerialPortService/PutakeServer.cs"
index bcc052d..82cd6af 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/SerialPortService/PutakeServer.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/SerialPortService/PutakeServer.cs"
@@ -55,7 +55,8 @@
         {
             try
             {
-                var putake = BaseDal.QueryData(i => i.Njtakeid == id&&i.Grouptype==gruops).FirstOrDefault();
+                var putakeList = BaseDal.QueryData(i => i.Grouptype == gruops && i.Pustatus != (int)cond.宸插畬鎴�).ToList();
+                var putake = putakeList.Where(i => i.Njtakeid == id).FirstOrDefault();
                 var nj = _iNjTaskRepository.QueryData(i => i.NJtaskID == id).FirstOrDefault();
                 if (putake == null)
                 {
@@ -74,6 +75,10 @@
                 {
                     
                     case cond.寰呴绛�: //
+                        if(putakeList.Where(a=>a.Pustatus== (int)cond.寰呬綔涓�).Count() > 0)
+                        {
+                            return new WebResponseContent { Status = false, Message = "褰撳墠鏈変綔涓氭湭瀹屾垚锛岃鍏堝畬鎴愭鍦ㄦ墽琛岀殑浣滀笟" };
+                        }
                         putake.Pustatus = (int)cond.寰呬綔涓�; // 鏋氫妇杞� int
                         if (gruops=="鏈烘")
                         {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_DTO/SerialPort/AddNjtDTO.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_DTO/SerialPort/AddNjtDTO.cs"
index be5e8a5..afeb5e2 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_DTO/SerialPort/AddNjtDTO.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_DTO/SerialPort/AddNjtDTO.cs"
@@ -11,7 +11,7 @@
 
 
         public int NJtaskID { get; set; }
-
+        
         public string trainKind { get; set; }
         public string TakeName { get; set; }
         public string trainNum { get; set; }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_DTO/SerialPort/ProcessData.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_DTO/SerialPort/ProcessData.cs"
new file mode 100644
index 0000000..ae9d9fa
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_DTO/SerialPort/ProcessData.cs"
@@ -0,0 +1,39 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Model.Models;
+
+namespace WIDESEAWCS_Tasks.SerialPort
+{
+    /// <summary>
+    ///鍓嶄笁涓槸 鏌ョ湅褰撳墠姝ラ杩斿洖姝ラ鎺ュ彛锛圙etcircuit锛夛紝鏁版嵁
+    /// </summary>
+    public class ProcessData
+    {
+        /// <summary>
+        /// 褰撳墠宸ヨ壓
+        /// </summary>
+        public Dt_Process proNow { get; set; }  
+
+        /// <summary>
+        /// 鏈�澶ф楠�
+        /// </summary>
+        public int maxproce { get; set; } 
+
+        /// <summary>
+        /// 瀹屾垚鐨勬楠�
+        /// </summary>
+        public IEnumerable<Dt_Process> finish { get; set; }
+
+
+        /// <summary>
+        /// process绫�
+        /// </summary>
+        public List<Dt_Process> ProcessList { get; set; }
+    }
+
+ 
+
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/Controllers/SerialPort/NjTaskController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/Controllers/SerialPort/NjTaskController.cs"
index 23b478c..235e11c 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/Controllers/SerialPort/NjTaskController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/Controllers/SerialPort/NjTaskController.cs"
@@ -72,7 +72,7 @@
         /// </summary>
         /// <param name="putNjtDTO"></param>
         /// <returns></returns>
-        [HttpPut, Route("PuNjtake"), AllowAnonymous]
+        [HttpPost, Route("PuNjtake"), AllowAnonymous]
         public WebResponseContent PuNjtake([FromBody] PutNjtDTO putNjtDTO)
         {
             return Service.PuNjtake(putNjtDTO);
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/appsettings.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/appsettings.json"
index ab25778..da5d5df 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/appsettings.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/appsettings.json"
@@ -1,34 +1,35 @@
 {
-    "urls": "http://*:5000", //web鏈嶅姟绔彛锛屽鏋滅敤IIS閮ㄧ讲锛屾妸杩欎釜鍘绘帀
-    "Logging": {
-        "LogLevel": {
-            "Default": "Information",
-            "Microsoft.AspNetCore": "Warning"
-        },
-        "SerialPort": {
-            "Port": "COM3"
-        }
+  "urls": "http://*:5000", //web鏈嶅姟绔彛锛屽鏋滅敤IIS閮ㄧ讲锛屾妸杩欎釜鍘绘帀
+  "Logging": {
+    "LogLevel": {
+      "Default": "Information",
+      "Microsoft.AspNetCore": "Warning"
     },
-    "dics": "deviceType,devicePlcType,jobAssembly,jobClassName,deviceStatus,taskType,taskState,inOutType",
-    "AllowedHosts": "*",
-    "ConnectionStringsEncryption": false,
-    "DBType": "SqlServer",
-    "MainDB": "DB_WIDESEA", //褰撳墠椤圭洰鐨勪富搴擄紝鎵�瀵瑰簲鐨勮繛鎺ュ瓧绗︿覆鐨凟nabled蹇呴』涓簍rue
-    //杩炴帴瀛楃涓�
-    //"ConnectionString": "HTI6FB1H05Krd07mNm9yBCNhofW6edA5zLs9TY~MNthRYW3kn0qKbMIsGp~3yyPDF1YZUCPBQx8U0Jfk4PH~ajNFXVIwlH85M3F~v_qKYQ3CeAz3q1mLVDn8O5uWt1~3Ut2V3KRkEwYHvW2oMDN~QIDXPxDgXN0R2oTIhc9dNu7QNaLEknblqmHhjaNSSpERdDVZIgHnMKejU_SL49tralBkZmDNi0hmkbL~837j1NWe37u9fJKmv91QPb~16JsuI9uu0EvNZ06g6PuZfOSAeFH9GMMIZiketdcJG3tHelo=",
-    "ConnectionString": "Data Source=.;Initial Catalog=WIDESEAWCS_MXNL;User ID=sa;Password=sa123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
-    //璺ㄥ煙
-    "Cors": {
-        "PolicyName": "CorsIpAccess", //绛栫暐鍚嶇О
-        "EnableAllIPs": true, //褰撲负true鏃讹紝寮�鏀炬墍鏈塈P鍧囧彲璁块棶銆�
-        // 鏀寔澶氫釜鍩熷悕绔彛锛屾敞鎰忕鍙e彿鍚庝笉瑕佸甫/鏂滄潌锛氭瘮濡俵ocalhost:8000/锛屾槸閿欑殑
-        // 娉ㄦ剰锛宧ttp://127.0.0.1:1818 鍜� http://localhost:1818 鏄笉涓�鏍风殑
-        "IPs": "http://127.0.0.1:8080,http://localhost:8080"
-    },
-    "ApiName": "WIDESEA",
-    "ExpMinutes": 120,
-    "QuartzJobAutoStart": true,
-    "PrintSql": false,
-    "WebSocketEnable": true,
-    "WebSocketPort": 0
+    "SerialPort": {
+      "Port": "COM3"
+    }
+  },
+  "dics": "deviceType,devicePlcType,jobAssembly,jobClassName,deviceStatus,taskType,taskState,inOutType",
+  "AllowedHosts": "*",
+  "ConnectionStringsEncryption": false,
+  "DBType": "SqlServer",
+  "MainDB": "DB_WIDESEA", //褰撳墠椤圭洰鐨勪富搴擄紝鎵�瀵瑰簲鐨勮繛鎺ュ瓧绗︿覆鐨凟nabled蹇呴』涓簍rue
+  //杩炴帴瀛楃涓�
+  //"ConnectionString": "HTI6FB1H05Krd07mNm9yBCNhofW6edA5zLs9TY~MNthRYW3kn0qKbMIsGp~3yyPDF1YZUCPBQx8U0Jfk4PH~ajNFXVIwlH85M3F~v_qKYQ3CeAz3q1mLVDn8O5uWt1~3Ut2V3KRkEwYHvW2oMDN~QIDXPxDgXN0R2oTIhc9dNu7QNaLEknblqmHhjaNSSpERdDVZIgHnMKejU_SL49tralBkZmDNi0hmkbL~837j1NWe37u9fJKmv91QPb~16JsuI9uu0EvNZ06g6PuZfOSAeFH9GMMIZiketdcJG3tHelo=",
+  "ConnectionString": "Data Source=.;Initial Catalog=WIDESEAWCS_MXNL;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+  //璺ㄥ煙
+  "Cors": {
+    "PolicyName": "CorsIpAccess", //绛栫暐鍚嶇О
+    "EnableAllIPs": true, //褰撲负true鏃讹紝寮�鏀炬墍鏈塈P鍧囧彲璁块棶銆�
+    // 鏀寔澶氫釜鍩熷悕绔彛锛屾敞鎰忕鍙e彿鍚庝笉瑕佸甫/鏂滄潌锛氭瘮濡俵ocalhost:8000/锛屾槸閿欑殑
+    // 娉ㄦ剰锛宧ttp://127.0.0.1:1818 鍜� http://localhost:1818 鏄笉涓�鏍风殑
+    "IPs": "http://127.0.0.1:8080,http://localhost:8080"
+  },
+  "ApiName": "WIDESEA",
+  "ExpMinutes": 120,
+  "QuartzJobAutoStart": true,
+  "PrintSql": false,
+  "WebSocketEnable": true,
+  "WebSocketPort": 0,
+  "LogDeubgEnable": true
 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Tasks/SerialPort/SerialPortJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Tasks/SerialPort/SerialPortJob.cs"
index 6b0b67d..94f6b98 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Tasks/SerialPort/SerialPortJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Tasks/SerialPort/SerialPortJob.cs"
@@ -5,17 +5,28 @@
 using System.Linq;
 using System.Net.WebSockets;
 using System.Text;
+using System.Text.RegularExpressions;
 using System.Threading.Tasks;
+using AutoMapper;
 using HslCommunication.WebSocket;
 using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
 using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
 using Quartz;
 using SqlSugar;
 using StackExchange.Profiling.Internal;
 using WIDESEA_ISerialPortRepository;
+using WIDESEA_SerialPortRepository;
+using WIDESEAWCS_Core;
+using WIDESEAWCS_Core.BaseRepository;
+using WIDESEAWCS_DTO.SerialPort;
+using WIDESEAWCS_ITaskInfoService;
 using WIDESEAWCS_Model.Models;
 using WIDESEAWCS_QuartzJob;
 using WIDESEAWCS_QuartzJob.DTO;
+using WIDESEAWCS_TaskInfoService;
+using WIDESEAWCS_Tasks.SerialPort;
 
 namespace WIDESEAWCS_Tasks
 {
@@ -43,14 +54,19 @@
         private readonly IPutakeRepository _putakeRepository;
         private readonly IProcessRepository _processRepository;
         private readonly ITorqueOpRepository _orqueOpRepository;
-        private WebSocketServer _webSocketContext;
 
-        public SerialPortJob(IPutakeRepository putakeRepository, IProcessRepository processRepository, ITorqueOpRepository torqueOpRepository, WebSocketServer webSocketContext)
+        private WebSocketServer _webSocketContext;
+        private readonly IProcessServer _processServer;
+        private readonly IPutakeServer _putakeServer;
+
+        public SerialPortJob(IPutakeServer putakeServer,IProcessServer processServer, IPutakeRepository putakeRepository, IProcessRepository processRepository, ITorqueOpRepository torqueOpRepository, WebSocketServer webSocketContext)
         {
             _putakeRepository = putakeRepository;
             _processRepository = processRepository;
             _orqueOpRepository = torqueOpRepository;
             _webSocketContext = webSocketContext;
+            _processServer = processServer;
+            _putakeServer = putakeServer;
         }
 
         public Task Execute(IJobExecutionContext context)
@@ -60,7 +76,6 @@
                 SerialPortDevice serialPortDevice = (SerialPortDevice)context.JobDetail.JobDataMap.Get("JobParams");
                 if (serialPortDevice != null)
                 {
-
                     List<DeviceProDTO> deviceProDTOs = serialPortDevice.DeviceProDTOs;
                     foreach (var item in deviceProDTOs)
                     {
@@ -69,23 +84,13 @@
                             DeviceProtocolDetailDTO? deviceProtocolDetail = serialPortDevice.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == nameof(CommandType) && x.ProtocolDetailType == nameof(CommandType.Set));
                             if (deviceProtocolDetail != null)
                             {
-                                # region  Setvalue
                                 string group = item.DeviceProDataBlock;
-                                if (group == "鐢垫皵")
+                                
+                                if (group == "鐢垫皵" || group == "鍦版矡" || group == "鏈烘")
                                 {
-                                    //鏌ョ湅姝ラ
-                                    var com = item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue.Replace("[setNum]", (5 * 1000).ToString().PadLeft(7, '0'))+"\r";
-                                    serialPortDevice.Communicator.Write(com+"\r");
-                                    //鎵撳紑涓插彛鏃跺厛璁惧��
-                                    
-                                     
+                                    ProcessElectricTask(group, serialPortDevice, item, deviceProtocolDetail);
                                 }
-                                #endregion
-                                item.DeviceProParamName = CommandType.Set.ToString();
-
-                                //鍘熶唬鐮�
-                                //serialPortDevice.Communicator.Write(item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue.Replace("[setNum]", (4.5 * 1000).ToString().PadLeft(7, '0')) + "\r");//鎵撳紑涓插彛鏃跺厛璁惧��
-                                //item.DeviceProParamName = CommandType.Set.ToString();
+                                item.DeviceProParamName = CommandType.None.ToString();
                             }
                         }
 
@@ -96,34 +101,26 @@
                             if (deviceProtocolDetail != null)
                             {
                                 serialPortDevice.Communicator.Write(item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue, "\r");//鎵撳紑涓插彛鏃跺厛璁惧��
+
+                                WriteDebug("鍐欏叆", item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue);
                             }
                         }
-                        else if (CommandType.Set.ToString() == item.DeviceProParamName)
-                        {
-                            DeviceProtocolDetailDTO? deviceProtocolDetail = serialPortDevice.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == nameof(CommandType) && x.ProtocolDetailType == nameof(CommandType.Set));
-                            //璁惧��
-                            if (deviceProtocolDetail != null)
-                            {
-                                serialPortDevice.Communicator.Write(item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue, "\r");//鎵撳紑涓插彛鏃跺厛璁惧��
-                            }
-                        }
-
-
 
                         if (serialPortDevice.Communicator.Buffers.Count > 0)
                         {
                             string? receiveData = serialPortDevice.Communicator.ToString(Encoding.Default);
                             if (!string.IsNullOrEmpty(receiveData))
                             {
-                                Console.WriteLine(DateTime.Now.ToString("HH:mm:ss.fff") + receiveData);
+                                Console.WriteLine("serialPortDevice:" + DateTime.Now.ToString("HH:mm:ss.fff") + receiveData);
 
-                                if (item.DeviceProParamName == CommandType.Set.ToString())
+                                if (item.DeviceProParamName == CommandType.Set.ToString() || item.DeviceProParamName == CommandType.None.ToString())
                                 {
                                     DeviceProtocolDetailDTO? deviceProtocolDetail = serialPortDevice.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == nameof(CommandResult) && x.ProtocolDetailType == nameof(CommandResult.SetOK));
                                     //parseok 
                                     if (deviceProtocolDetail != null && receiveData.Contains(item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue))
                                     {
                                         item.DeviceProParamName = CommandType.Get.ToString();
+
                                     }
                                 }
                                 else if (item.DeviceProParamName == CommandType.Get.ToString())
@@ -132,33 +129,36 @@
                                     //03鎴愬姛
                                     if (deviceProtocolDetail != null && receiveData.Contains(item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue))
                                     {
-
+                                        //鎶婅繖鏉℃暟鎹彃鍏p琛ㄤ腑
                                         string group = item.DeviceProDataBlock; // 璁惧鎵�灞炵粍鍒�
-                                        if (group == "鐢垫皵")
-                                        {
+                                        string devicecode = item.DeviceChildCode;//璁惧缂栧彿
+                                        string torqueValue = ExtractTorqueValue(receiveData);//璋冪敤杞�兼柟娉�
 
-                                            item.DeviceProParamName = CommandType.Set.ToString();
+
+                                      
+                                       
+                                        if (group == "鐢垫皵" || group == "鍦版矡" || group == "鏈烘")
+                                        {
+                                            SaveTorqueOpData(group, devicecode, torqueValue);
+                                            item.DeviceProParamName = CommandType.None.ToString();
                                         }
 
-                                        //鍘熶唬鐮�
-                                        //item.DeviceProParamName = CommandType.Set.ToString();
                                     }
-                                }
-                                else if (item.DeviceProParamName == CommandType.Get.ToString())
-                                {
-                                    DeviceProtocolDetailDTO? deviceProtocolDetail = serialPortDevice.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == nameof(CommandResult) && x.ProtocolDetailType == nameof(CommandResult.GetError));
-                                    if (deviceProtocolDetail != null && receiveData.Contains(item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue))
+
+                                    DeviceProtocolDetailDTO? deviceProtocolDetail2 = serialPortDevice.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == nameof(CommandResult) && x.ProtocolDetailType == nameof(CommandResult.GetError));
+                                    if (deviceProtocolDetail2 != null && receiveData.Contains(item.DeviceChildCode + deviceProtocolDetail2.ProtocalDetailValue))
                                     {
-                                        item.DeviceProParamName = CommandType.Set.ToString();
+                                        item.DeviceProParamName = CommandType.None.ToString();
                                     }
                                 }
-
-
-                                //寤轰竴涓璞″皢鍏朵紶缁欏墠绔�
-                                string data = JsonConvert.SerializeObject(serialPortDevice);//杩欓噷serialPortDevice鏄亣璁炬湁杩欎釜瀵硅薄
-                                _webSocketContext.PublishAllClientPayload(data);
                             }
+
+
+                            //寤轰竴涓璞″皢鍏朵紶缁欏墠绔�
+                            //string data = JsonConvert.SerializeObject(serialPortDevice);//杩欓噷serialPortDevice鏄亣璁炬湁杩欎釜瀵硅薄
+                            //_webSocketContext.PublishAllClientPayload(data);
                         }
+
                     }
                 }
             }
@@ -169,8 +169,192 @@
             WriteDebug("CommonConveyorLineJob", "test");
             return Task.CompletedTask;
         }
-       
+
+        /// <summary>
+        /// 灏�0004000杞负4.0
+        /// 0004500杞负4.5
+        /// </summary>
+        /// <param name="data"></param>
+        /// <returns></returns>
+        private string ExtractTorqueValue(string data)
+        {
+            string[] parts = data.Split(','); // 鎸夐�楀彿鍒嗗壊鏁版嵁
+            if (parts.Length > 1) // 纭繚鑷冲皯鏈変袱涓儴鍒�
+            {
+                //杩斿洖鐨勬槸涓�涓被浼间簬82407024103,+0005433,0004500,1702485619
+                string targetValue = parts[1].TrimStart('+'); // 绉婚櫎鍓嶅 '+'
+                if (Regex.IsMatch(targetValue, @"^\d+$")) // 纭繚鏄函鏁板瓧
+                {
+                    return (double.Parse(targetValue) / 1000.0).ToString("0.###"); // 闄や互 1000锛屼繚鐣欐渶澶� 3 浣嶅皬鏁�
+                }
+            }
+            return "0.000"; // 瑙f瀽澶辫触杩斿洖 0.000
+        }
 
 
+  
+
+        /// <summary>
+        /// 澶勭悊鐢垫皵浠诲姟閫昏緫锛屽彂閫佹壄鐭╂寚浠ゅ埌璁惧
+        /// </summary>
+        /// <param name="group">浠诲姟鍒嗙粍</param>
+        /// <param name="serialPortDevice">涓插彛璁惧</param>
+        /// <param name="item">璁惧淇℃伅</param>
+        /// <param name="deviceProtocolDetail">璁惧鍗忚璇︽儏</param>
+        private void ProcessElectricTask(string group, SerialPortDevice serialPortDevice, DeviceProDTO item, DeviceProtocolDetailDTO deviceProtocolDetail)
+        {
+            //鑾峰彇褰撳墠浠诲姟鍙�  //IPutakeServer閲岄潰鐨勫緟鎵ц鐨勭涓�鏉′换鍔★紱
+            var take = _putakeRepository.QueryData(x => x.Grouptype == group)
+                .OrderBy(x => x.Dispatchtime)
+                .FirstOrDefault();
+            var takeid = take?.Njtakeid;//鎷垮埌浠诲姟鍙�
+
+            //璋冪敤Getcircuit鎷垮埌褰撳墠姝ラ
+            var process = _processServer.Getcircuit(group, takeid);
+
+            if (process != null && process.Status)
+            {
+                var list = JsonConvert.SerializeObject(process.Data);
+                var data = JsonConvert.DeserializeObject<ProcessData>(list);
+
+                if (data?.proNow != null)
+                {
+
+                    int setpNum = data.proNow.SetpNum;
+                    int sum = data.proNow.TorqueSum;
+                    double torqueone = data.proNow.TorqueOne;
+                    double torquetwo = data.proNow.TorqueTwo;
+
+                    int onequantity = data.proNow.TorqueOneQuantity;
+                    int towquantity = data.proNow.TorqueTwoQuantity;
+
+
+                    //鍒ゆ柇op琛ㄤ腑杩欎釜鍊兼槸鍚︽湁璇ユ潯浠诲姟鐨勬暟鎹�
+                    var op = _orqueOpRepository.QueryData(x => x.TakeId == takeid && x.GroupOp == group && x.ProcessSte == setpNum);
+                    if (op.Any())//鍒ゆ柇鏄惁鏈夋暟鎹�
+                    {
+                        //鎵惧埌浜嗗氨瑕佸姣旂幇鍦╫p琛ㄤ腑鏈夊灏戞潯锛屾槸鍚﹀拰宸ヨ壓琛ㄤ腑鐨勭洰鏍囦竴鑷�
+
+                        // 璁$畻绗竴涓壄鐭╃殑鏁伴噺锛堝湪 卤1 璇樊鑼冨洿鍐咃級//Math.Abs(5.2 - 4.5) = 0.7 // 璁″叆 Math.Abs(6.0 - 4.5) = 1.5 涓嶈鍏�
+                        var oponecount = op.Count(x => Math.Abs(x.TorqueSize - torqueone) <= 1);
+
+                        int times = 0;
+                        if (op.Count() > onequantity)
+                        {
+                            times = onequantity;//濡傛灉绗竴鏉′互鍙婃弧瓒冲氨绉婚櫎onequantity鏁伴噺鐨勬暟鎹�
+                        }
+                        else
+                        {
+                            times = op.Count();//娌℃湁婊¤冻灏辩Щ闄ゅ綋鍓嶇殑鏁版嵁鏁版嵁
+                        }
+
+                        for (int i = 0; i < times; i++)
+                        {
+                            //绉婚櫎绗竴娆″�肩殑褰卞搷锛堜互涓烘湁鍙兘淇╀釜鐩爣鍊肩浉杩戣�屼骇鐢熻鍒わ級
+                            op.RemoveAt(0); //绉婚櫎 op 鍒楄〃鐨� 绗竴涓厓绱狅紙鍗虫渶鏃╁瓨鍏ョ殑璁板綍锛�
+
+                        }
+
+                        // 璁$畻绗簩涓壄鐭╃殑鏁伴噺锛堝湪 卤1 璇樊鑼冨洿鍐咃級
+                        var optowcount = op.Count(x => Math.Abs(x.TorqueSize - torquetwo) <= 1);
+                        sum = oponecount + optowcount;
+                        //绗竴绉嶏紝绗竴涓壄鍔涘�兼病鏈夋壄瀹�
+                        if (oponecount < onequantity && torqueone != 0)
+                        {
+                            //璁惧��
+                            //var com = item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue
+                            //        .Replace("[setNum]", (torqueone * 1000).ToString().PadLeft(7, '0')) + "\r";
+                            var com = item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue
+                                      .Replace("[setNum]", Math.Round(torqueone * 1000).ToString().PadLeft(7, '0')) + "\r";
+                            //鏍煎紡鍖栨垚鏁存暟
+
+                            serialPortDevice.Communicator.Write(com);
+                            //WriteDebug("鍐欏叆", com);
+                        }
+                        //绗簩绉嶏紝绗竴涓�兼壄瀹屼簡锛岀浜屼釜娌℃湁鎵畬
+                        if (oponecount == onequantity && optowcount < towquantity && torquetwo != 0)
+                        {
+                            //璁惧��
+                            var com = item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue
+                                    .Replace("[setNum]", Math.Round(torquetwo * 1000).ToString().PadLeft(7, '0')) + "\r";
+                            serialPortDevice.Communicator.Write(com);
+                        }
+                    }
+                    //杩欓噷杩欎釜浠诲姟绗竴娆℃墽琛岋紝op琛ㄤ腑鑲畾鏄病鏈夋暟鎹殑锛屾墍鏈夌涓�娆″氨瑕佹妸宸ヨ壓琛ㄤ腑鐨勫�肩粰瀹�
+                    else if(!op.Any()&& torqueone!=0)//闃叉姝ラ涓�涓璽orqueone鐨勫�间负0瀵艰嚧鎶ラ敊
+                    {
+                        //璁惧��
+                        var com = item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue
+                                .Replace("[setNum]", Math.Round(torqueone * 1000).ToString().PadLeft(7, '0')) + "\r";
+                        serialPortDevice.Communicator.Write(com);
+                    }
+
+                }
+                else
+                {
+                    Console.WriteLine("proNow 涓虹┖");
+                }
+            }
+            else
+            {
+                Console.WriteLine($"Getcireit鎺ュ彛閿欒锛歿process?.Message}");
+            }
+        }
+
+        /// <summary>
+        /// 鍙戦�佹壄鐭╂寚浠ゅ埌璁惧
+        /// </summary>
+        /// <param name="serialPortDevice">涓插彛璁惧</param>
+        /// <param name="item">璁惧淇℃伅</param>
+        /// <param name="deviceProtocolDetail">璁惧鍗忚璇︽儏</param>
+        /// <param name="torqueValue">鎵煩鍊�</param>
+        private void SendTorqueCommand(SerialPortDevice serialPortDevice, DeviceProDTO item, DeviceProtocolDetailDTO deviceProtocolDetail, double torqueValue)
+        {
+            var com = item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue
+                        .Replace("[setNum]", Math.Round(torqueValue * 1000).ToString().PadLeft(7, '0')) + "\r";
+            serialPortDevice.Communicator.Write(com);
+        }
+
+
+        /// <summary>
+        /// 瀛樺偍鎵煩鏁版嵁鍒� `op` 琛�
+        /// </summary>
+        private void SaveTorqueOpData(string group, string devicecode, string torqueValue)
+        {
+            var take = _putakeRepository.QueryData(x => x.Grouptype == group)
+                                                                .OrderBy(x => x.Dispatchtime)
+                                                                .FirstOrDefault();
+            var takeid = take?.Njtakeid;//鎷垮埌浠诲姟鍙�
+
+            //璋冪敤Getcircuit鎷垮埌褰撳墠姝ラ
+            var process = _processServer.Getcircuit(group, takeid);
+
+            if (process != null && process.Status)
+            {
+                var list = JsonConvert.SerializeObject(process.Data);
+                var dataz = JsonConvert.DeserializeObject<ProcessData>(list);
+
+                if (dataz?.proNow != null)
+                {
+
+                    int setpNum = dataz.proNow.SetpNum;
+                    int sum = dataz.proNow.TorqueSum;
+                    double torqueone = dataz.proNow.TorqueOne;
+                    int onequantity = dataz.proNow.TorqueOneQuantity;
+                    int towquantity = dataz.proNow.TorqueTwoQuantity;
+                    double torquetwo = dataz.proNow.TorqueTwo;
+                    Dt_TorqueOp Addop = new Dt_TorqueOp()
+                    {
+                        DeviceCode = devicecode,
+                        TakeId = takeid,
+                        GroupOp = group,
+                        ProcessSte = setpNum,
+                        TorqueSize = float.TryParse(torqueValue, out float torque) ? torque : 0.0f, // 杩欓噷杩涜瀛楃涓插埌float鐨勮浆鎹�
+                        CreateDate = DateTime.Now,
+                    };
+                    _orqueOpRepository.AddData(Addop);
+                }
+            }
+        }
     }
 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Tasks/SerialPort/SerialPortTestJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Tasks/SerialPort/SerialPortTestJob.cs"
index 7ed38b0..a02e1e6 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Tasks/SerialPort/SerialPortTestJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Tasks/SerialPort/SerialPortTestJob.cs"
@@ -141,3 +141,150 @@
 //        }
 //    }
 //}
+#region
+//if (group == "鐢垫皵")
+//{
+//    //鑾峰彇褰撳墠浠诲姟鍙�  //IPutakeServer閲岄潰鐨勫緟鎵ц鐨勭涓�鏉′换鍔★紱
+//    var take = _putakeRepository.QueryData(x => x.Grouptype == group)
+//        .OrderBy(x => x.Dispatchtime)
+//        .FirstOrDefault();
+//    var takeid = take?.Njtakeid;//鎷垮埌浠诲姟鍙�
+
+//    //璋冪敤Getcircuit鎷垮埌褰撳墠姝ラ
+//    var process = _processServer.Getcircuit(group, takeid);
+
+//    if (process != null && process.Status)
+//    {
+//        var list = JsonConvert.SerializeObject(process.Data);
+//        var data = JsonConvert.DeserializeObject<ProcessData>(list);
+
+//        if (data?.proNow != null)
+//        {
+
+//            int setpNum = data.proNow.SetpNum;
+//            int sum = data.proNow.TorqueSum;
+//            double torqueone = data.proNow.TorqueOne;
+//            double torquetwo = data.proNow.TorqueTwo;
+
+//            int onequantity = data.proNow.TorqueOneQuantity;
+//            int towquantity = data.proNow.TorqueTwoQuantity;
+
+
+//            //鍒ゆ柇op琛ㄤ腑杩欎釜鍊兼槸鍚︽湁璇ユ潯浠诲姟鐨勬暟鎹�
+//            var op = _orqueOpRepository.QueryData(x => x.TakeId == takeid && x.GroupOp == group && x.ProcessSte == setpNum);
+//            if (op.Any())//鍒ゆ柇鏄惁鏈夋暟鎹�
+//            {
+//                //鎵惧埌浜嗗氨瑕佸姣旂幇鍦╫p琛ㄤ腑鏈夊灏戞潯锛屾槸鍚﹀拰宸ヨ壓琛ㄤ腑鐨勭洰鏍囦竴鑷�
+
+//                // 璁$畻绗竴涓壄鐭╃殑鏁伴噺锛堝湪 卤1 璇樊鑼冨洿鍐咃級//Math.Abs(5.2 - 4.5) = 0.7 // 璁″叆 Math.Abs(6.0 - 4.5) = 1.5 涓嶈鍏�
+//                var oponecount = op.Count(x => Math.Abs(x.TorqueSize - torqueone) <= 1);
+
+//                int times = 0;
+//                if (op.Count() > onequantity)
+//                {
+//                    times = onequantity;//濡傛灉绗竴鏉′互鍙婃弧瓒冲氨绉婚櫎onequantity鏁伴噺鐨勬暟鎹�
+//                }
+//                else
+//                {
+//                    times = op.Count();//娌℃湁婊¤冻灏辩Щ闄ゅ綋鍓嶇殑鏁版嵁鏁版嵁
+//                }
+
+//                for (int i = 0; i < times; i++)
+//                {
+//                    //绉婚櫎绗竴娆″�肩殑褰卞搷锛堜互涓烘湁鍙兘淇╀釜鐩爣鍊肩浉杩戣�屼骇鐢熻鍒わ級
+//                    op.RemoveAt(0); //绉婚櫎 op 鍒楄〃鐨� 绗竴涓厓绱狅紙鍗虫渶鏃╁瓨鍏ョ殑璁板綍锛�
+
+//                }
+
+//                // 璁$畻绗簩涓壄鐭╃殑鏁伴噺锛堝湪 卤1 璇樊鑼冨洿鍐咃級
+//                var optowcount = op.Count(x => Math.Abs(x.TorqueSize - torquetwo) <= 1);
+//                sum = oponecount + optowcount;
+//                //绗竴绉嶏紝绗竴涓壄鍔涘�兼病鏈夋壄瀹�
+//                if (oponecount < onequantity && torqueone != 0)
+//                {
+//                    //璁惧��
+//                    //var com = item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue
+//                    //        .Replace("[setNum]", (torqueone * 1000).ToString().PadLeft(7, '0')) + "\r";
+//                    var com = item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue
+//                              .Replace("[setNum]", Math.Round(torqueone * 1000).ToString().PadLeft(7, '0')) + "\r";
+//                    //鏍煎紡鍖栨垚鏁存暟
+
+//                    serialPortDevice.Communicator.Write(com);
+//                    //WriteDebug("鍐欏叆", com);
+//                }
+//                //绗簩绉嶏紝绗竴涓�兼壄瀹屼簡锛岀浜屼釜娌℃湁鎵畬
+//                if (oponecount == onequantity && optowcount < towquantity && torquetwo != 0)
+//                {
+//                    //璁惧��
+//                    var com = item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue
+//                            .Replace("[setNum]", Math.Round(torquetwo * 1000).ToString().PadLeft(7, '0')) + "\r";
+//                    serialPortDevice.Communicator.Write(com);
+//                }
+//            }
+//            //杩欓噷杩欎釜浠诲姟绗竴娆℃墽琛岋紝op琛ㄤ腑鑲畾鏄病鏈夋暟鎹殑锛屾墍鏈夌涓�娆″氨瑕佹妸宸ヨ壓琛ㄤ腑鐨勫�肩粰瀹�
+//            else //闃叉姝ラ涓�涓璽orqueone鐨勫�间负0瀵艰嚧鎶ラ敊
+//            {
+//                //璁惧��
+//                var com = item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue
+//                        .Replace("[setNum]", Math.Round(torqueone * 1000).ToString().PadLeft(7, '0')) + "\r";
+//                serialPortDevice.Communicator.Write(com);
+//            }
+
+//        }
+//        else
+//        {
+//            Console.WriteLine("proNow 涓虹┖");
+//        }
+//    }
+//    else
+//    {
+//        Console.WriteLine($"Getcireit鎺ュ彛閿欒锛歿process?.Message}");
+//    }
+//}
+
+#endregion
+
+
+#region 鏍规嵁涓嶅悓鐨刧roup瀛樺��
+//if (group == "鐢垫皵")
+//{
+//    var take = _putakeRepository.QueryData(x => x.Grouptype == group)
+//                        .OrderBy(x => x.Dispatchtime)
+//                        .FirstOrDefault();
+//    var takeid = take?.Njtakeid;//鎷垮埌浠诲姟鍙�
+
+//    //璋冪敤Getcircuit鎷垮埌褰撳墠姝ラ
+//    var process = _processServer.Getcircuit(group, takeid);
+
+//    if (process != null && process.Status)
+//    {
+//        var list = JsonConvert.SerializeObject(process.Data);
+//        var dataz = JsonConvert.DeserializeObject<ProcessData>(list);
+
+//        if (dataz?.proNow != null)
+//        {
+
+//            int setpNum = dataz.proNow.SetpNum;
+//            int sum = dataz.proNow.TorqueSum;
+//            double torqueone = dataz.proNow.TorqueOne;
+//            int onequantity = dataz.proNow.TorqueOneQuantity;
+//            int towquantity = dataz.proNow.TorqueTwoQuantity;
+//            double torquetwo = dataz.proNow.TorqueTwo;
+//            Dt_TorqueOp Addop = new Dt_TorqueOp()
+//            {
+//                DeviceCode = devicecode,
+//                TakeId = takeid,
+//                GroupOp = group,
+//                ProcessSte = setpNum,
+//                TorqueSize = float.TryParse(torqueValue, out float torque) ? torque : 0.0f, // 杩欓噷杩涜瀛楃涓插埌float鐨勮浆鎹�
+//                CreateDate = DateTime.Now,
+//            };
+//            _orqueOpRepository.AddData(Addop);
+//        }
+//    }
+
+
+//    item.DeviceProParamName = CommandType.None.ToString();
+//}
+
+#endregion
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Tasks/WIDESEAWCS_Tasks.csproj" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Tasks/WIDESEAWCS_Tasks.csproj"
index 2ead5da..4e84116 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Tasks/WIDESEAWCS_Tasks.csproj"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Tasks/WIDESEAWCS_Tasks.csproj"
@@ -14,6 +14,7 @@
 
 	<ItemGroup>
 		<ProjectReference Include="..\ISerialPortService\WIDESEA_ISerialPortService.csproj" />
+		<ProjectReference Include="..\SerialPortService\WIDESEA_SerialPortService.csproj" />
 		<ProjectReference Include="..\WIDESEAWCS_TaskInfoService\WIDESEAWCS_TaskInfoService.csproj" />
 	</ItemGroup>
 

--
Gitblit v1.9.3