From 1067a1298d2d12c217dd94997b6820d879ae5400 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期三, 19 三月 2025 16:19:14 +0800
Subject: [PATCH] 扭矩

---
 项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/Controllers/System/Sys_UserController.cs   |   40 +
 项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/img1.png                     |    0 
 项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_ISystemServices/ISys_UserService.cs               |   24 
 项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/logo.png                     |    0 
 项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/about.png                    |    0 
 项目代码/WIDESEAWCS_Server 正式/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json                |  730 ++++++++++++++++++++++-
 项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_DTO/SerialPort/UserDTO.cs                         |   40 +
 项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_SystemServices/Sys_UserService.cs                 |  172 +++-
 /dev/null                                                                              |    0 
 项目代码/WIDESEAWCS_Server 正式/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json         |  731 ++++++++++++++++++++++-
 项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/Controllers/SerialPort/NjTaskController.cs |   36 +
 项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/car.png                      |    0 
 项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/brand.png                    |    0 
 项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/honor.png                    |    0 
 项目代码/WIDESEAWCS_Server 正式/SerialPortService/ProcessServer.cs                           |    3 
 项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/newLogo.png                  |    0 
 16 files changed, 1,597 insertions(+), 179 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 f9b416d..f3fea80 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"
@@ -11,20 +11,116 @@
       "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\\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\\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:{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_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:{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}"
+      "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:{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:{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\\wideseawcs_server.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
+      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\wideseawcs_server.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
+    },
+    {
+      "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:{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\\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\\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:{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\\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\\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:{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:{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\\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\\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:{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}",
@@ -37,6 +133,58 @@
     {
       "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:{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:{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}"
+    },
+    {
+      "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}"
+    },
+    {
+      "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}"
     }
   ],
   "DocumentGroupContainers": [
@@ -46,7 +194,7 @@
       "DocumentGroups": [
         {
           "DockedWidth": 200,
-          "SelectedChildIndex": 2,
+          "SelectedChildIndex": 7,
           "Children": [
             {
               "$type": "Bookmark",
@@ -58,13 +206,78 @@
             },
             {
               "$type": "Document",
+              "DocumentIndex": 3,
+              "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": "AgIAAIsBAAAAAAAAAAA0wJcBAAAnAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T07:20:17.983Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 6,
+              "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": "AgIAAAkAAAAAAAAAAAAAABMAAAAVAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T07:33:54.091Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 4,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 7,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 2,
+              "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": "AgIAABUAAAAAAAAAAADgvy4AAAAbAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:54:16.125Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
               "DocumentIndex": 0,
               "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": "AgIAACsAAAAAAAAAAAAiwEkAAAARAAAAAAAAAA==",
+              "ViewState": "AgIAANkAAAAAAAAAAAAIwOMAAAAvAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-03-18T03:47:38.429Z",
               "EditorCaption": ""
@@ -77,40 +290,274 @@
               "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": "AgIAAAwAAAAAAAAAAADwvx8AAAAtAAAAAAAAAA==",
+              "ViewState": "AgIAACIAAAAAAAAAAAASwC8AAAAIAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-03-18T03:45:46.366Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 3,
-              "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==",
+              "DocumentIndex": 5,
+              "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": "AgIAACQAAAAAAAAAAIA4wD4AAAA3AAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-18T03:37:22.246Z",
+              "WhenOpened": "2025-03-18T07:20:13.531Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 4,
-              "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==",
+              "DocumentIndex": 14,
+              "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-18T03:37:17.946Z",
+              "WhenOpened": "2025-03-19T02:35:47.432Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 2,
+              "DocumentIndex": 8,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 11,
+              "Title": "WIDESEAWCS_Server",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj",
+              "RelativeToolTip": "WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
+              "WhenOpened": "2025-03-19T03:23:45.124Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 13,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 10,
+              "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": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
+              "WhenOpened": "2025-03-19T06:19:03.869Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 9,
+              "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": "AgIAABsAAAAAAAAAAADwvyMAAAA4AAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T06:19:09.191Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 16,
+              "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": "AgIAAAwAAAAAAAAAAAAAABEAAAAFAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:56:46.727Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 12,
+              "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": "AgIAAMEBAAAAAAAAAAAYwNUAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T08:34:48.374Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 17,
+              "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": "AgIAAAwAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T02:01:18.961Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 18,
+              "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": "AgIAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T02:01:14.321Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 15,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 19,
+              "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": "AgIAADwAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T02:01:10.146Z",
+              "EditorCaption": ""
+            },
+            {
+              "$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": "AgIAAA8AAAAAAAAAAADgvx0AAAAfAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:57:42.064Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 23,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 20,
+              "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": "AgIAAB4AAAAAAAAAAAAhwNYAAAAGAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:54:30.012Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 21,
+              "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": "AgIAAAYAAAAAAAAAAAAEwBEAAAAbAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:54:23.95Z",
+              "EditorCaption": ""
+            },
+            {
+              "$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": "AgIAAA4AAAAAAAAAAAAAwBUAAAAIAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:54:15.368Z",
+              "EditorCaption": ""
+            },
+            {
+              "$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": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:54:51.967Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 27,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 24,
               "Title": "ArticleInfomServer.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\ArticleInfomServer.cs",
               "RelativeDocumentMoniker": "SerialPortService\\ArticleInfomServer.cs",
@@ -123,33 +570,59 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 6,
-              "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==",
+              "DocumentIndex": 28,
+              "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-18T03:25:36.255Z",
+              "WhenOpened": "2025-03-19T01:54:47.676Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 7,
-              "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==",
+              "DocumentIndex": 29,
+              "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-18T03:25:34.287Z",
+              "WhenOpened": "2025-03-19T01:54:44.241Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 8,
+              "DocumentIndex": 34,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 33,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 32,
               "Title": "ILoginHistoryServer.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\ILoginHistoryServer.cs",
               "RelativeDocumentMoniker": "ISerialPortService\\ILoginHistoryServer.cs",
@@ -162,15 +635,171 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 5,
-              "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==",
+              "DocumentIndex": 31,
+              "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:29.625Z",
+              "WhenOpened": "2025-03-18T03:25:34.287Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 30,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 35,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 36,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 37,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 38,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 39,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 40,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 41,
+              "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": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T08:35:43.197Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 42,
+              "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": 45,
+              "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": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T05:46:02.575Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 43,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 44,
+              "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",
               "EditorCaption": ""
             }
           ]
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 b5bfe60..68a298f 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"
@@ -11,20 +11,116 @@
       "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\\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\\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:{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_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:{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}"
+      "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:{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:{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\\wideseawcs_server.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
+      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\wideseawcs_server.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
+    },
+    {
+      "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:{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\\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\\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:{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\\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\\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:{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:{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\\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\\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:{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}",
@@ -39,6 +135,54 @@
       "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:{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:{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}"
+    },
+    {
+      "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}"
+    },
+    {
       "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}"
     }
@@ -50,7 +194,7 @@
       "DocumentGroups": [
         {
           "DockedWidth": 200,
-          "SelectedChildIndex": 3,
+          "SelectedChildIndex": 6,
           "Children": [
             {
               "$type": "Bookmark",
@@ -62,15 +206,54 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 9,
-              "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": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "DocumentIndex": 6,
+              "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": "AgIAAAkAAAAAAAAAAAAAABMAAAAVAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-18T05:46:02.575Z",
+              "WhenOpened": "2025-03-18T07:33:54.091Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 4,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 7,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 2,
+              "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": "AgIAABUAAAAAAAAAAADgvy4AAAAbAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:54:16.125Z",
               "EditorCaption": ""
             },
             {
@@ -81,9 +264,22 @@
               "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": "AgIAAGEAAAAAAAAAAAAAwGwAAABKAAAAAAAAAA==",
+              "ViewState": "AgIAAI0AAAAAAAAAAAAuwOMAAAAvAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-03-18T03:47:38.429Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 3,
+              "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": "AgIAAIsBAAAAAAAAAAA0wJcBAAAnAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T07:20:17.983Z",
               "EditorCaption": ""
             },
             {
@@ -94,40 +290,274 @@
               "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": "AgIAAA8AAAAAAAAAAAAAAB8AAAAMAAAAAAAAAA==",
+              "ViewState": "AgIAACIAAAAAAAAAAAASwC8AAAAIAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-03-18T03:45:46.366Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 3,
-              "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==",
+              "DocumentIndex": 5,
+              "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": "AgIAACQAAAAAAAAAAIA4wD4AAAA3AAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-03-18T03:37:22.246Z",
+              "WhenOpened": "2025-03-18T07:20:13.531Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 4,
-              "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==",
+              "DocumentIndex": 14,
+              "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-18T03:37:17.946Z",
+              "WhenOpened": "2025-03-19T02:35:47.432Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 2,
+              "DocumentIndex": 8,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 11,
+              "Title": "WIDESEAWCS_Server",
+              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj",
+              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj",
+              "RelativeToolTip": "WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
+              "WhenOpened": "2025-03-19T03:23:45.124Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 13,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 10,
+              "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": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
+              "WhenOpened": "2025-03-19T06:19:03.869Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 9,
+              "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": "AgIAABsAAAAAAAAAAADwvyMAAAA4AAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T06:19:09.191Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 16,
+              "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": "AgIAAAwAAAAAAAAAAAAAABEAAAAFAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:56:46.727Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 12,
+              "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": "AgIAAMEBAAAAAAAAAAAYwNUAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T08:34:48.374Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 17,
+              "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": "AgIAAAwAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T02:01:18.961Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 18,
+              "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": "AgIAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T02:01:14.321Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 15,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 19,
+              "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": "AgIAADwAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T02:01:10.146Z",
+              "EditorCaption": ""
+            },
+            {
+              "$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": "AgIAAA8AAAAAAAAAAADgvx0AAAAfAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:57:42.064Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 23,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 20,
+              "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": "AgIAAB4AAAAAAAAAAAAhwNYAAAAGAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:54:30.012Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 21,
+              "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": "AgIAAAYAAAAAAAAAAAAEwBEAAAAbAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:54:23.95Z",
+              "EditorCaption": ""
+            },
+            {
+              "$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": "AgIAAA4AAAAAAAAAAAAAwBUAAAAIAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:54:15.368Z",
+              "EditorCaption": ""
+            },
+            {
+              "$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": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-19T01:54:51.967Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 27,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 24,
               "Title": "ArticleInfomServer.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\ArticleInfomServer.cs",
               "RelativeDocumentMoniker": "SerialPortService\\ArticleInfomServer.cs",
@@ -140,33 +570,59 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 6,
-              "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==",
+              "DocumentIndex": 28,
+              "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-18T03:25:36.255Z",
+              "WhenOpened": "2025-03-19T01:54:47.676Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 7,
-              "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==",
+              "DocumentIndex": 29,
+              "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-18T03:25:34.287Z",
+              "WhenOpened": "2025-03-19T01:54:44.241Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 8,
+              "DocumentIndex": 34,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 33,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 32,
               "Title": "ILoginHistoryServer.cs",
               "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\ILoginHistoryServer.cs",
               "RelativeDocumentMoniker": "ISerialPortService\\ILoginHistoryServer.cs",
@@ -179,15 +635,171 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 5,
-              "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==",
+              "DocumentIndex": 31,
+              "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:29.625Z",
+              "WhenOpened": "2025-03-18T03:25:34.287Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 30,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 35,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 36,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 37,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 38,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 39,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 40,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 41,
+              "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": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T08:35:43.197Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 42,
+              "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": 45,
+              "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": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-03-18T05:46:02.575Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 43,
+              "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",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 44,
+              "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",
               "EditorCaption": ""
             }
           ]
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/SerialPortService/ProcessServer.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/SerialPortService/ProcessServer.cs"
index 4a723d7..492a516 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/SerialPortService/ProcessServer.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/SerialPortService/ProcessServer.cs"
@@ -106,8 +106,7 @@
                     }
 
                     // 鍙湁褰� setnum 鍙戠敓鍙樺寲鏃讹紝鎵嶈繘琛岄噸澶嶆�ф鏌�
-                    if (existingProcess.SetpNum != addProcessDTO.setnum &&
-                        allProcesses.Any(x => x.SetpNum == addProcessDTO.setnum && x.CraftType == addProcessDTO.craftstype && x.CraftID != addProcessDTO.id))
+                    if (existingProcess.SetpNum != addProcessDTO.setnum && allProcesses.Any(x => x.SetpNum == addProcessDTO.setnum && x.CraftType == addProcessDTO.craftstype && x.CraftID != addProcessDTO.id))
                     {
                         return new WebResponseContent { Status = false, Message = $"姝ラ {addProcessDTO.setnum} 宸插瓨鍦紝涓嶈兘閲嶅锛�" };
                     }
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/UserDTO.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/UserDTO.cs"
new file mode 100644
index 0000000..a85be62
--- /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/UserDTO.cs"
@@ -0,0 +1,40 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Http;
+
+namespace WIDESEAWCS_DTO.SerialPort
+{
+    public class UserDTO
+    {
+        public int id { get; set; }
+
+        ///// <summary>
+        ///// 璐﹀彿
+        ///// </summary>
+        //public string  username { get; set; }
+
+
+        /// <summary>
+        /// 鐪熷疄濮撳悕
+        /// </summary>
+        public string  usertruename{ get; set; }
+
+
+        /// <summary>
+        /// 鐢佃瘽
+        /// </summary>
+        public string phone { get; set; }
+
+        /// <summary>
+        /// 鍥剧墖
+        /// </summary>
+        public string files { 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_ISystemServices/ISys_UserService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_ISystemServices/ISys_UserService.cs"
index ff85fd1..0c0ac69 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_ISystemServices/ISys_UserService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_ISystemServices/ISys_UserService.cs"
@@ -8,6 +8,7 @@
 using System.Threading.Tasks;
 using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.BaseServices;
+using WIDESEAWCS_DTO.SerialPort;
 using WIDESEAWCS_Model;
 using WIDESEAWCS_Model.Models;
 
@@ -36,12 +37,29 @@
          WebResponseContent PermissionView(int userId, string group);
 
 
+ 
+
         /// <summary>
-        /// 涓婁紶鐢ㄦ埛澶村儚
+        /// 鏇存柊瀵嗙爜
+        /// </summary>
+        /// <param name="id"></param>
+        /// <param name="oldPwd"></param>
+        /// <param name="newPwd"></param>
+        /// <returns></returns>
+        WebResponseContent UpdatePwd(int id, string oldPwd, string newPwd);
+
+        /// <summary>
+        /// 
         /// </summary>
         /// <param name="files"></param>
         /// <returns></returns>
-         WebResponseContent UploaDavatar(List<IFormFile> files, int userId);
-        
+        WebResponseContent SaveFiles(IFormCollection files);
+
+        /// <summary>
+        /// 鏇存柊鐢ㄦ埛鍩虹淇℃伅
+        /// </summary>
+        /// <param name="id"></param>
+        /// <returns></returns>
+        WebResponseContent Upuserbase(UserDTO userDTO);
     }
 }
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 21a52c8..23b478c 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"
@@ -19,26 +19,47 @@
 
         }
 
-
-        [HttpPost, Route("Submtandsave"), AllowAnonymous] //鎻愪氦骞朵繚瀛樻ā鏉�
+        /// <summary>
+        /// 鎻愪氦骞朵繚瀛樻ā鏉�
+        /// </summary>
+        /// <param name="njtakeDTO"></param>
+        /// <returns></returns>
+        [HttpPost, Route("Submtandsave"), AllowAnonymous] 
         public WebResponseContent Submtandsave([FromBody] NjtakeDTO njtakeDTO)
         {
             return Service.Submtandsave(njtakeDTO);
         }
 
-
-        [HttpPost, Route("Submit"), AllowAnonymous] //鎻愪氦
+        /// <summary>
+        /// 鍙彁浜や笉淇濆瓨妯℃澘
+        /// </summary>
+        /// <param name="notempDTO"></param>
+        /// <returns></returns>
+        [HttpPost, Route("Submit"), AllowAnonymous] 
         public WebResponseContent Submit([FromBody] NotempDTO notempDTO)
         {
             return Service.Submit(notempDTO);
         }
 
-        [HttpPost, Route("AddNjtake"), AllowAnonymous]//娣诲姞浠诲姟琛ㄤ俊鎭�
+        /// <summary>
+        /// //娣诲姞浠诲姟琛ㄤ俊鎭�
+        /// </summary>
+        /// <param name="addNjtDTO"></param>
+        /// <returns></returns>
+        [HttpPost, Route("AddNjtake"), AllowAnonymous]
         public WebResponseContent AddNjtake([FromBody] AddNjtDTO addNjtDTO)
         {
             return Service.AddNjtake(addNjtDTO);
         }
 
+
+        /// <summary>
+        /// 鏇村叿NJtaskID杩斿洖杩欎竴鏉℃暟鎹�
+        /// <param name="njtaskID"></param>
+        /// <returns></returns>
+        /// </summary>
+        /// <param name="njtaskID"></param>
+        /// <returns></returns>
         [HttpGet, Route("GetNjdetail"), AllowAnonymous]
         public WebResponseContent GetNjdetail(string njtaskID)
         {
@@ -46,6 +67,11 @@
         }
 
 
+        /// <summary>
+        /// 鏇存柊浠诲姟琛�
+        /// </summary>
+        /// <param name="putNjtDTO"></param>
+        /// <returns></returns>
         [HttpPut, Route("PuNjtake"), AllowAnonymous]
         public WebResponseContent PuNjtake([FromBody] PutNjtDTO 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/Controllers/System/Sys_UserController.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/System/Sys_UserController.cs"
index b09071d..f782394 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/System/Sys_UserController.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/System/Sys_UserController.cs"
@@ -13,6 +13,7 @@
 using WIDESEAWCS_Core.Helper;
 using WIDESEAWCS_Core.HttpContextUser;
 using WIDESEAWCS_Core.Utilities;
+using WIDESEAWCS_DTO.SerialPort;
 using WIDESEAWCS_ISystemServices;
 using WIDESEAWCS_Model;
 using WIDESEAWCS_Model.Models;
@@ -143,14 +144,45 @@
             return Service.PermissionView(userId,group);
         }
 
+      
 
-        [HttpPost, Route("UploadAvatar"), AllowAnonymous]
-        public WebResponseContent UploadAvatar(List<IFormFile> files, int userId)
+        /// <summary>
+        /// 涓婁紶鍥剧墖鏂囦欢鍚�
+        /// </summary>
+        /// <param name="files"></param>
+        /// <param name="sys_User"></param>
+        /// <returns></returns>
+        [HttpPost, Route("SaveFiles"), AllowAnonymous]
+        public WebResponseContent SaveFiles(IFormCollection files)
         {
-            return Service.UploaDavatar(files, userId);
+            return Service.SaveFiles(files);
+          
+           
+        }
+
+        
+
+        /// <summary>
+        /// 淇敼鐢ㄦ埛瀵嗙爜
+        /// </summary>
+        /// <param name="id"></param>
+        /// <param name="oldPwd"></param>
+        /// <param name="newPwd"></param>
+        /// <returns></returns>
+        [HttpPost,Route("UpdatePwd")]
+        public WebResponseContent UpdatePwd(int id, string oldPwd, string newPwd)
+        {
+            return Service.UpdatePwd(id, oldPwd, newPwd);
+        }
+
+
+        [HttpPost,Route("Upuserbase"), AllowAnonymous]
+        public WebResponseContent Upuserbase([FromBody]UserDTO userDTO)
+        {
+            return Service.Upuserbase(userDTO);
         }
     }
-
+       
 
     public class SwaggerLoginRequest
     {
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/wwwroot/image/250317100034_2170/a9d76892-2669-4612-aaae-a898ea8af72b" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/wwwroot/image/250317100034_2170/a9d76892-2669-4612-aaae-a898ea8af72b"
deleted file mode 100644
index 743426c..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/wwwroot/image/250317100034_2170/a9d76892-2669-4612-aaae-a898ea8af72b"
+++ /dev/null
@@ -1,4 +0,0 @@
-[2025/2/28 15:09:29] [InitBiliDownload]: {"cookie":"string","ua":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) bilibili_pc/1.16.2 Chrome/130.0.6723.137 Electron/33.2.1 Safari/537.36 build/1001016002","cachePath":"C:\\Users\\Administrator\\Videos\\bilibili","parallel":1,"proxyAgent":null}
-[2025/2/28 15:09:36] [getVideoList]: Total: 0
-[2025/2/28 15:09:37] [stopLoadList]: []
-[2025/2/28 15:09:37] [getVideoList]: Total: 0
\ 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_Server/wwwroot/image/250317100432_1677/38b52fd1-268a-4ddc-a949-b7a7a379b80e.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/wwwroot/image/250317100432_1677/38b52fd1-268a-4ddc-a949-b7a7a379b80e.png"
deleted file mode 100644
index 62d3e74..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/wwwroot/image/250317100432_1677/38b52fd1-268a-4ddc-a949-b7a7a379b80e.png"
+++ /dev/null
Binary files differ
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/wwwroot/image/250317100518_7965/d89d7be1-9f7f-4595-a96d-4677d4c4e81a.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/wwwroot/image/250317100518_7965/d89d7be1-9f7f-4595-a96d-4677d4c4e81a.png"
deleted file mode 100644
index 0b2e3ad..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/wwwroot/image/250317100518_7965/d89d7be1-9f7f-4595-a96d-4677d4c4e81a.png"
+++ /dev/null
Binary files differ
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/wwwroot/image/about.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/wwwroot/image/about.png"
new file mode 100644
index 0000000..f28d373
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/wwwroot/image/about.png"
Binary files differ
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/wwwroot/image/brand.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/wwwroot/image/brand.png"
new file mode 100644
index 0000000..67c5a96
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/wwwroot/image/brand.png"
Binary files differ
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/wwwroot/image/car.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/wwwroot/image/car.png"
new file mode 100644
index 0000000..8b97fa1
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/wwwroot/image/car.png"
Binary files differ
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/wwwroot/image/honor.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/wwwroot/image/honor.png"
new file mode 100644
index 0000000..b115b49
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/wwwroot/image/honor.png"
Binary files differ
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/wwwroot/image/img1.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/wwwroot/image/img1.png"
new file mode 100644
index 0000000..f490e6c
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/wwwroot/image/img1.png"
Binary files differ
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/wwwroot/image/logo.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/wwwroot/image/logo.png"
new file mode 100644
index 0000000..afef62e
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/wwwroot/image/logo.png"
Binary files differ
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/wwwroot/image/newLogo.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/wwwroot/image/newLogo.png"
new file mode 100644
index 0000000..a3646e6
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/wwwroot/image/newLogo.png"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_SystemServices/Sys_UserService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_SystemServices/Sys_UserService.cs"
index e82f73f..55c3023 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_SystemServices/Sys_UserService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_SystemServices/Sys_UserService.cs"
@@ -16,6 +16,7 @@
 using SqlSugar;
 using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
 using Microsoft.AspNetCore.Builder;
+using WIDESEAWCS_DTO.SerialPort;
 
 namespace WIDESEAWCS_SystemServices
 {
@@ -29,13 +30,13 @@
         private readonly IPutakeRepository _putakeRepository;
 
         public Sys_UserService(ISys_UserRepository repository, IUnitOfWorkManage unitOfWorkManage,
-            ICacheService cacheService, ISys_MenuService menuService , ISys_RoleRepository roleRepository, ILoginHistoryRepository loginHistoryRepository, IPutakeRepository putakeRepository) : base(repository)
+            ICacheService cacheService, ISys_MenuService menuService, ISys_RoleRepository roleRepository, ILoginHistoryRepository loginHistoryRepository, IPutakeRepository putakeRepository) : base(repository)
         {
             _unitOfWorkManage = unitOfWorkManage;
             _cacheService = cacheService;
             _menuService = menuService;
             _RoleRepository = roleRepository;
-            _RoleRepository= roleRepository;
+            _RoleRepository = roleRepository;
             _loginHistoryRepository = loginHistoryRepository;
             _putakeRepository = putakeRepository;
         }
@@ -73,7 +74,7 @@
                     {
                         return WebResponseContent.Instance.Error("鏃犵櫥褰曟潈闄�");
                     }
-                    if (disbled.Enable!=1)
+                    if (disbled.Enable != 1)
                     {
                         return WebResponseContent.Instance.Error("浣犵殑璐﹀彿宸茶绂佺敤锛岃鑱旂郴绠$悊鍛�");
                     }
@@ -88,18 +89,16 @@
                     var loghis = new Dt_LoginHistory
                     {
                         Account = user.UserName,
-                        TrurName=user.UserTrueName,
-                        CreateDate=DateTime.Now
-
-
+                        TrurName = user.UserTrueName,
+                        CreateDate = DateTime.Now
 
                     };
-                   
+
 
                     _cacheService.AddOrUpdate(user.UserId.ToString(), token);
                     _loginHistoryRepository.AddData(loghis);
 
-                    content = WebResponseContent.Instance.OK(data: new { token, userName = user.UserTrueName, img = user.HeadImageUrl,ID=user.UserId });
+                    content = WebResponseContent.Instance.OK(data: new { token, userName = user.UserTrueName, img = user.HeadImageUrl, ID = user.UserId, RoleId=user.RoleId });
                 }
                 else
                 {
@@ -184,6 +183,7 @@
                 if (newPwd.Length < 6) return WebResponseContent.Instance.Error("瀵嗙爜涓嶈兘灏戜簬6浣�");
 
                 int userId = App.User.UserId;
+
                 string userCurrentPwd = BaseDal.QueryFirst(x => x.User_Id == userId, s => s.UserPwd);
 
                 string _oldPwd = oldPwd.EncryptDES(AppSecret.User);
@@ -204,7 +204,7 @@
                     nameof(Sys_User.UserPwd)
                 });
                 //content = WebResponseContent.Instance.OK("瀵嗙爜淇敼鎴愬姛");
-                content = WebResponseContent.Instance.OK("瀵嗙爜淇敼鎴愬姛",userId);
+                content = WebResponseContent.Instance.OK("瀵嗙爜淇敼鎴愬姛", userId);
             }
             catch (Exception ex)
             {
@@ -212,7 +212,7 @@
                 content = WebResponseContent.Instance.Error("鏈嶅姟鍣ㄤ簡鐐归棶棰�,璇风◢鍚庡啀璇�");
             }
             return content;
-          
+
         }
 
         public WebResponseContent GetUerType()
@@ -241,12 +241,12 @@
             {
 
 
-                return new WebResponseContent { Status = false, Message="澶辫触"+ex };
+                return new WebResponseContent { Status = false, Message = "澶辫触" + ex };
             }
         }
 
 
-        public  WebResponseContent PermissionView(int userId, string group)
+        public WebResponseContent PermissionView(int userId, string group)
         {
             try
             {
@@ -298,62 +298,124 @@
         }
 
 
-
-        public WebResponseContent UploaDavatar(List<IFormFile> files, int userId)
+        /// <summary>
+        /// 鍥剧墖鏂囦欢鍚�
+        /// </summary>
+        /// <param name="files"></param>
+        /// <returns></returns>
+        public WebResponseContent SaveFiles(IFormCollection files)
         {
-            if (files == null || files.Count == 0)
+            if (files == null || files.Files.Count == 0)
                 return new WebResponseContent { Status = false, Message = "璇蜂笂浼犳枃浠�" };
 
-            //  1. 鎸囧畾鍥哄畾鐨勫瓨鍌ㄧ洰褰�
-            //string baseDirectory = @"E:\缇庡瀷\NiuJuKongZhi\椤圭洰浠g爜\WIDESEAWCS_Server 姝e紡\WIDESEAWCS_Server\wwwroot\image\";
-            string baseDirectory = @"wwwroot\image\";
-
-            // 2. 鐢熸垚瀛愮洰褰曪紝閬垮厤鏂囦欢鍐茬獊
-            string subDirectory = $"{DateTime.Now:yyMMddHHmmss}_{new Random().Next(1000, 9999)}";
-            string filePath = Path.Combine(baseDirectory, subDirectory);
-
-            //3. 纭繚鐩綍瀛樺湪
-            if (!Directory.Exists(filePath))
-                Directory.CreateDirectory(filePath);
+            // 1. 纭繚瀛樺偍鐩綍瀛樺湪
+            string baseDirectory = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "image");
+            if (!Directory.Exists(baseDirectory))
+                Directory.CreateDirectory(baseDirectory);
 
             try
             {
-                string uploadedFilePath = "";
-                for (int i = 0; i < files.Count; i++)
+                var file = files.Files[0]; // 鍙鐞嗙涓�涓枃浠�
+                string fileName = file.FileName; // 鐩存帴浣跨敤鍓嶇鐨勬枃浠跺悕
+
+                string fullFilePath = Path.Combine(baseDirectory, fileName);
+
+                // 2. 淇濆瓨鏂囦欢锛堝鏋滃瓨鍦紝鍒欒鐩栵級
+                using (var stream = new FileStream(fullFilePath, FileMode.Create))
                 {
-                    // 4. 鐢熸垚鍞竴鏂囦欢鍚嶏紙闃叉閲嶅悕瑕嗙洊锛�
-                    string fileName = $"{Guid.NewGuid()}{Path.GetExtension(files[i].FileName)}";
-                    string fullFilePath = Path.Combine(filePath, fileName);
-
-                    // 5. 淇濆瓨鏂囦欢鍒版寚瀹氳矾寰�
-                    using (var stream = new FileStream(fullFilePath, FileMode.Create))
-                    {
-                        files[i].CopyTo(stream);
-                    }
-
-                    // 6. 璁板綍鏂囦欢璺緞锛堝瓨鍏ユ暟鎹簱鐨勭浉瀵硅矾寰勶級
-                    uploadedFilePath = Path.Combine("/image", subDirectory, fileName).Replace("\\", "/");
-                    break; // 鍙鐞嗙涓�涓枃浠�
+                    file.CopyTo(stream);
                 }
 
-                //7. 鏇存柊鐢ㄦ埛澶村儚璺緞鍒版暟鎹簱
-                var user = BaseDal.QueryData(u => u.User_Id == userId).FirstOrDefault();
-                if (user != null)
-                {
-                    user.HeadImageUrl = uploadedFilePath;
-                    UpdateData(user);
-                }
-                else
-                {
-                    return new WebResponseContent { Status = false, Message = "鐢ㄦ埛涓嶅瓨鍦�" };
-                }
-
-                return new WebResponseContent { Status = true, Message = "鏂囦欢涓婁紶鎴愬姛", Data = uploadedFilePath };
+                // 3. 杩斿洖鏂囦欢鍚�
+                return new WebResponseContent { Status = true, Message = "鏂囦欢涓婁紶鎴愬姛", Data = fileName };
             }
             catch (Exception ex)
             {
                 return new WebResponseContent { Status = false, Message = "涓婁紶鏂囦欢澶辫触锛�" + ex.Message };
             }
         }
+
+        /// <summary>
+        /// 鏇存柊瀵嗙爜
+        /// </summary>
+        /// <param name="id"></param>
+        /// <param name="oldPwd"></param>
+        /// <param name="newPwd"></param>
+        /// <returns></returns>
+        public WebResponseContent UpdatePwd(int id, string oldPwd, string newPwd)
+        {
+            WebResponseContent content = new WebResponseContent();
+            oldPwd = oldPwd?.Trim();
+            newPwd = newPwd?.Trim();
+
+            try
+            {
+                if (string.IsNullOrEmpty(oldPwd)) return content.Error("鏃у瘑鐮佷笉鑳戒负绌�");
+                if (string.IsNullOrEmpty(newPwd)) return content.Error("鏂板瘑鐮佷笉鑳戒负绌�");
+                if (newPwd.Length < 6) return content.Error("瀵嗙爜涓嶈兘灏戜簬6浣�");
+
+                // 鑾峰彇鐢ㄦ埛褰撳墠瀵嗙爜
+                 string userCurrentPwd = BaseDal.QueryFirst(x => x.User_Id == id, s => s.UserPwd) ?? "";
+
+                if (string.IsNullOrEmpty(userCurrentPwd)) return content.Error("鐢ㄦ埛涓嶅瓨鍦ㄦ垨瀵嗙爜鏈缃�");
+
+                //// 杩涜瀵嗙爜鍔犲瘑瀵规瘮
+                //string _oldPwd = oldPwd.EncryptDES(AppSecret.User);
+                //if (_oldPwd != userCurrentPwd) return content.Error("鏃у瘑鐮佷笉姝g‘");
+
+                // 鐢熸垚鏂板瘑鐮佸姞瀵嗗��
+                string _newPwd = newPwd.EncryptDES(AppSecret.User);
+                if (userCurrentPwd == _newPwd) return content.Error("鏂板瘑鐮佷笉鑳戒笌鏃у瘑鐮佺浉鍚�");
+
+                // 鏇存柊瀵嗙爜
+                bool isUpdated = BaseDal.UpdateData(new Sys_User
+                {
+                    User_Id = id,
+                    UserPwd = _newPwd,
+                    LastModifyPwdDate = DateTime.Now
+                }, new List<string>
+        {
+            nameof(Sys_User.LastModifyPwdDate),
+            nameof(Sys_User.UserPwd)
+        });
+
+                if (!isUpdated)
+                {
+                    return content.Error("瀵嗙爜淇敼澶辫触锛岃绋嶅悗閲嶈瘯");
+                }
+
+                return content.OK("瀵嗙爜淇敼鎴愬姛", id);
+            }
+            catch (Exception ex)
+            {
+                Console.WriteLine($"淇敼瀵嗙爜寮傚父: {ex.Message}");
+                return content.Error($"鏈嶅姟鍣ㄩ敊璇�: {ex.Message}");
+            }
+        }
+
+        public WebResponseContent Upuserbase(UserDTO userDTO)
+        {
+            try
+            {
+                var user = BaseDal.QueryData(x => x.User_Id == userDTO.id).FirstOrDefault();
+                if (user==null)
+                {
+                    return new WebResponseContent { Status = false, Message = "娌℃壘鍒拌鐢ㄦ埛" };
+                }
+                user.UserTrueName = userDTO.usertruename;
+                user.PhoneNo = userDTO.phone;
+                user.HeadImageUrl = userDTO.files;
+                BaseDal.UpdateData(user); // 纭繚鏇存柊鍒版暟鎹簱
+                return new WebResponseContent { Status = true, Data = user };
+            }
+            catch (Exception ex)
+            {
+
+                return new WebResponseContent { Status = false ,Message="澶辫触锛�"+ex};
+            }
+
+        }
     }
 }
+
+

--
Gitblit v1.9.3