yanjinhui
2025-03-22 2f0c81709876d76b6b120cf6ac43f05cda6dfe4c
修改websocket;
已修改17个文件
已添加1个文件
1658 ■■■■ 文件已修改
项目代码/WIDESEAWCS_Server 正式/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json 637 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json 637 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/ISerialPortService/IProcessServer.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/ISerialPortService/ITorqueOpServer.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/SerialPortService/ProcessServer.cs 87 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/SerialPortService/TorqueOpServer.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_DTO/SerialPort/AddProcessDTO.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Model/Models/SerialPort/Dt_Process.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Model/Models/SerialPort/Dt_Tools.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Model/Models/SerialPort/Dt_TorqueOp.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/Controllers/SerialPort/ProcessController.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/Controllers/SerialPort/TorqueOpController.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/Filter/WebSocketSetup.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/Program.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/appsettings.json 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Tasks/SerialPort/SerialPortJob.cs 178 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Tasks/WIDESEAWCS_Tasks.csproj 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json
@@ -7,16 +7,20 @@
      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\processserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\controllers\\serialport\\processcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\serialport\\processcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_dto\\serialport\\addprocessdto.cs||{8B382828-6202-11D1-8870-0000F87579D2}",
      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\serialport\\addprocessdto.cs||{8B382828-6202-11D1-8870-0000F87579D2}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\putakeserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\putakeserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\serialportservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\serialportservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_tasks\\serialport\\serialportjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\serialport\\serialportjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\controllers\\serialport\\processcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\serialport\\processcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\njtaskserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -27,16 +31,52 @@
      "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:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_njtask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_njtask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{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:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_torqueop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_torqueop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_tools.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_tools.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_process.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_process.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\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:{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:{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:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_njtask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_njtask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_dto\\serialport\\addprocessdto.cs||{8B382828-6202-11D1-8870-0000F87579D2}",
      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\serialport\\addprocessdto.cs||{8B382828-6202-11D1-8870-0000F87579D2}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\iserialportservice\\itorqueopserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|solutionrelative:iserialportservice\\itorqueopserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\toolsserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\toolsserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_template.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -45,10 +85,6 @@
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_putake.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_putake.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_process.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_process.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_njcommands.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -65,26 +101,6 @@
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_articleinfom.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_articleinfom.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{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:{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:{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:{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\\injtaskserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -115,18 +131,6 @@
      "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\\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}"
    },
@@ -141,10 +145,6 @@
    {
      "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\\njcommandsserver .cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -211,10 +211,6 @@
      "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\sys_tenantservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\controllers\\serialport\\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}"
    },
@@ -234,7 +230,7 @@
      "DocumentGroups": [
        {
          "DockedWidth": 200,
          "SelectedChildIndex": 2,
          "SelectedChildIndex": 4,
          "Children": [
            {
              "$type": "Bookmark",
@@ -246,124 +242,254 @@
            },
            {
              "$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": "AgIAACcAAAAAAAAAAAAWwJAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T03:47:38.429Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "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": "AgIAABwAAAAAAAAAAAAQwDAAAAARAAAAAAAAAA==",
              "Title": "SerialPortJob.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Tasks\\SerialPort\\SerialPortJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\SerialPort\\SerialPortJob.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Tasks\\SerialPort\\SerialPortJob.cs*",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\SerialPort\\SerialPortJob.cs*",
              "ViewState": "AgIAADcAAAAAAAAAAAASwEoAAAAqAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:30.012Z",
              "WhenOpened": "2025-03-21T02:39:47.713Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "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": "AgIAAAMAAAAAAAAAAAApwBEAAAAbAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:23.95Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "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": "AgIAAAAAAAAAAAAAAAAAABoBAABDAAAAAAAAAA==",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAC4AAAAUAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T08:34:48.374Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "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": "AgIAAAAAAAAAAAAAAAAAAAgAAAARAAAAAAAAAA==",
              "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": "AgIAAA4BAAAAAAAAAAAWwE8BAAA7AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T05:46:02.575Z",
              "WhenOpened": "2025-03-18T03:47:38.429Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "DocumentIndex": 4,
              "Title": "ProcessController.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\ProcessController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\SerialPort\\ProcessController.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\ProcessController.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\SerialPort\\ProcessController.cs",
              "ViewState": "AgIAAAMAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAA==",
              "ViewState": "AgIAADEAAAAAAAAAAAAkwD4AAAAMAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T03:45:46.366Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "SerialPortService.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\SerialPortService.cs",
              "RelativeDocumentMoniker": "SerialPortService\\SerialPortService.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\SerialPortService.cs",
              "RelativeToolTip": "SerialPortService\\SerialPortService.cs",
              "ViewState": "AgIAACEAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T02:01:10.146Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "Title": "PutakeServer.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\PutakeServer.cs",
              "RelativeDocumentMoniker": "SerialPortService\\PutakeServer.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\PutakeServer.cs",
              "RelativeToolTip": "SerialPortService\\PutakeServer.cs",
              "ViewState": "AgIAABwAAAAAAAAAAAAQwEAAAAAsAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:30.012Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "Title": "IPutakeServer.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\IPutakeServer.cs",
              "RelativeDocumentMoniker": "ISerialPortService\\IPutakeServer.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\IPutakeServer.cs",
              "RelativeToolTip": "ISerialPortService\\IPutakeServer.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAswA0AAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:23.95Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "PutakeController.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\PutakeController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\SerialPort\\PutakeController.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\PutakeController.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\SerialPort\\PutakeController.cs",
              "ViewState": "AgIAAAYAAAAAAAAAAAAtwBcAAAAeAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:57:42.064Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 14,
              "Title": "TorqueOpServer.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\TorqueOpServer.cs",
              "RelativeDocumentMoniker": "SerialPortService\\TorqueOpServer.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\TorqueOpServer.cs",
              "RelativeToolTip": "SerialPortService\\TorqueOpServer.cs",
              "ViewState": "AgIAAAYAAAAAAAAAAAAAAEIAAABsAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:56:46.727Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 11,
              "Title": "Dt_Process.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
              "ViewState": "AgIAAGUAAAAAAAAAAAAowIAAAAAFAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-20T01:12:06.317Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 13,
              "Title": "IProcessServer.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\IProcessServer.cs",
              "RelativeDocumentMoniker": "ISerialPortService\\IProcessServer.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\IProcessServer.cs",
              "RelativeToolTip": "ISerialPortService\\IProcessServer.cs",
              "ViewState": "AgIAAB0AAAAAAAAAAAD4vzsAAAAbAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:16.125Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 8,
              "Title": "appsettings.json",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\appsettings.json",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\appsettings.json",
              "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvx4AAAAVAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
              "WhenOpened": "2025-03-21T08:03:47.109Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 9,
              "Title": "Dt_TorqueOp.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
              "ViewState": "AgIAACEAAAAAAAAAAAAjwDUAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-20T07:32:46.346Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 10,
              "Title": "Program.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Program.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Program.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Program.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Program.cs",
              "ViewState": "AgIAACgAAAAAAAAAAADwvzUAAAAlAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-21T07:23:38.895Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 12,
              "Title": "TorqueOpController.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\TorqueOpController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\SerialPort\\TorqueOpController.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\TorqueOpController.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\SerialPort\\TorqueOpController.cs",
              "ViewState": "AgIAAAwAAAAAAAAAAAAAABwAAAA5AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T08:35:43.197Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 15,
              "Title": "Dt_NjTask.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NjTask.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NjTask.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NjTask.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NjTask.cs",
              "ViewState": "AgIAANQAAAAAAAAAAAAqwNEAAAAmAAAAAAAAAA==",
              "ViewState": "AgIAAIUAAAAAAAAAAAAUwNEAAAAmAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-20T01:07:30.689Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "Dt_TorqueOp.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
              "ViewState": "AgIAABkAAAAAAAAAAAAQwAsAAAA6AAAAAAAAAA==",
              "DocumentIndex": 16,
              "Title": "AddProcessDTO.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\SerialPort\\AddProcessDTO.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\SerialPort\\AddProcessDTO.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\SerialPort\\AddProcessDTO.cs",
              "RelativeToolTip": "WIDESEAWCS_DTO\\SerialPort\\AddProcessDTO.cs",
              "ViewState": "AgIAABEAAAAAAAAAAAAAwB0AAAAOAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-20T01:12:44.935Z",
              "WhenOpened": "2025-03-18T05:46:02.575Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 8,
              "Title": "Dt_Tools.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Tools.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Tools.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Tools.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Tools.cs",
              "ViewState": "AgIAACYAAAAAAAAAAAAiwAAAAAAAAAAAAAAAAA==",
              "DocumentIndex": 17,
              "Title": "ITorqueOpServer.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\ITorqueOpServer.cs",
              "RelativeDocumentMoniker": "ISerialPortService\\ITorqueOpServer.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\ITorqueOpServer.cs",
              "RelativeToolTip": "ISerialPortService\\ITorqueOpServer.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABQAAAA9AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-20T01:12:41.334Z",
              "WhenOpened": "2025-03-19T01:54:51.967Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 9,
              "DocumentIndex": 18,
              "Title": "ToolsServer.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\ToolsServer.cs",
              "RelativeDocumentMoniker": "SerialPortService\\ToolsServer.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\ToolsServer.cs",
              "RelativeToolTip": "SerialPortService\\ToolsServer.cs",
              "ViewState": "AgIAAAMAAAAAAAAAAADwvxgAAAARAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T02:01:18.961Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 19,
              "Title": "Dt_Template.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Template.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Template.cs",
@@ -376,7 +502,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 10,
              "DocumentIndex": 20,
              "Title": "Dt_Putake.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Putake.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Putake.cs",
@@ -389,46 +515,33 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 11,
              "Title": "Dt_Process.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
              "ViewState": "AgIAAHAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-20T01:12:06.317Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 12,
              "DocumentIndex": 21,
              "Title": "Dt_NJCommands.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJCommands.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJCommands.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJCommands.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJCommands.cs",
              "ViewState": "AgIAAB0AAAAAAAAAAAA3wAAAAAAAAAAAAAAAAA==",
              "ViewState": "AgIAAB4AAAAAAAAAAAAcwAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-20T01:11:41.912Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 13,
              "DocumentIndex": 22,
              "Title": "Dt_NJtakeHistory.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJtakeHistory.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJtakeHistory.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJtakeHistory.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJtakeHistory.cs",
              "ViewState": "AgIAAEMAAAAAAAAAAAA0wAAAAAAAAAAAAAAAAA==",
              "ViewState": "AgIAAH0AAAAAAAAAAAAQwAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-20T01:11:46.083Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 14,
              "DocumentIndex": 23,
              "Title": "Dt_LoginHistory.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_LoginHistory.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_LoginHistory.cs",
@@ -441,80 +554,20 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 15,
              "DocumentIndex": 24,
              "Title": "Dt_ArticleInfom.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_ArticleInfom.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_ArticleInfom.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_ArticleInfom.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_ArticleInfom.cs",
              "ViewState": "AgIAACkAAAAAAAAAAAA6wAAAAAAAAAAAAAAAAA==",
              "ViewState": "AgIAACoAAAAAAAAAAAAkwAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-20T01:11:35.733Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 19,
              "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"
            },
            {
              "$type": "Document",
              "DocumentIndex": 17,
              "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": "AgIAAAsAAAAAAAAAAAD4vyUAAAAbAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:16.125Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 16,
              "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"
            },
            {
              "$type": "Document",
              "DocumentIndex": 20,
              "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": "AgIAAAAAAAAAAAAAAAAswA4AAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:51.967Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 18,
              "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": "AgIAAAcAAAAAAAAAAAAjwBcAAAA9AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:56:46.727Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 21,
              "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",
@@ -522,23 +575,25 @@
              "RelativeToolTip": "ISerialPortService\\INjTaskServer.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABUAAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:15.368Z"
              "WhenOpened": "2025-03-19T01:54:15.368Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 22,
              "DocumentIndex": 26,
              "Title": "Sys_UserService.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_SystemServices\\Sys_UserService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_UserService.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_SystemServices\\Sys_UserService.cs",
              "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_UserService.cs",
              "ViewState": "AgIAAIsBAAAAAAAAAAA0wJcBAAAnAAAAAAAAAA==",
              "ViewState": "AgIAAIwBAAAAAAAAAAAQwJcBAAAnAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T07:20:17.983Z"
              "WhenOpened": "2025-03-18T07:20:17.983Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 26,
              "DocumentIndex": 30,
              "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",
@@ -546,11 +601,12 @@
              "RelativeToolTip": "WIDESEAWCS_DTO\\SerialPort\\SetpDTO.cs",
              "ViewState": "AgIAAAYAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T06:58:28.509Z"
              "WhenOpened": "2025-03-19T06:58:28.509Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 23,
              "DocumentIndex": 27,
              "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",
@@ -558,35 +614,38 @@
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs",
              "ViewState": "AgIAAJMAAAAAAAAAAAASwLMAAAA2AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T07:20:02.496Z"
              "WhenOpened": "2025-03-18T07:20:02.496Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 25,
              "DocumentIndex": 29,
              "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==",
              "ViewState": "AgIAAAQAAAAAAAAAAABUwBMAAAAVAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T07:33:54.091Z"
              "WhenOpened": "2025-03-18T07:33:54.091Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 24,
              "DocumentIndex": 28,
              "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==",
              "ViewState": "AgIAACUAAAAAAAAAAAAhwD4AAAA3AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T07:20:13.531Z"
              "WhenOpened": "2025-03-18T07:20:13.531Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 32,
              "DocumentIndex": 33,
              "Title": "LoginHistoryServer.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\LoginHistoryServer.cs",
              "RelativeDocumentMoniker": "SerialPortService\\LoginHistoryServer.cs",
@@ -594,11 +653,12 @@
              "RelativeToolTip": "SerialPortService\\LoginHistoryServer.cs",
              "ViewState": "AgIAAAkAAAAAAAAAAAAuwBUAAAAdAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T02:35:47.432Z"
              "WhenOpened": "2025-03-19T02:35:47.432Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 27,
              "DocumentIndex": 31,
              "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",
@@ -606,23 +666,12 @@
              "RelativeToolTip": "WIDESEAWCS_DTO\\SerialPort\\AddNjtDTO.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T06:58:26.302Z"
              "WhenOpened": "2025-03-19T06:58:26.302Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 30,
              "Title": "WIDESEAWCS_Server.csproj",
              "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"
            },
            {
              "$type": "Document",
              "DocumentIndex": 31,
              "DocumentIndex": 32,
              "Title": "NJtakeHistoryServer.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\NJtakeHistoryServer.cs",
              "RelativeDocumentMoniker": "SerialPortService\\NJtakeHistoryServer.cs",
@@ -630,47 +679,25 @@
              "RelativeToolTip": "SerialPortService\\NJtakeHistoryServer.cs",
              "ViewState": "AgIAAAwAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:56:17.448Z"
              "WhenOpened": "2025-03-19T01:56:17.448Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 29,
              "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"
            },
            {
              "$type": "Document",
              "DocumentIndex": 28,
              "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"
            },
            {
              "$type": "Document",
              "DocumentIndex": 34,
              "DocumentIndex": 35,
              "Title": "TemplateServer.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\TemplateServer.cs",
              "RelativeDocumentMoniker": "SerialPortService\\TemplateServer.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\TemplateServer.cs",
              "RelativeToolTip": "SerialPortService\\TemplateServer.cs",
              "ViewState": "AgIAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
              "ViewState": "AgIAAAQAAAAAAAAAAABUwAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T02:01:14.321Z"
              "WhenOpened": "2025-03-19T02:01:14.321Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 33,
              "DocumentIndex": 34,
              "Title": "IArticleInfomServer.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\IArticleInfomServer.cs",
              "RelativeDocumentMoniker": "ISerialPortService\\IArticleInfomServer.cs",
@@ -678,19 +705,8 @@
              "RelativeToolTip": "ISerialPortService\\IArticleInfomServer.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwsAAABCAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T03:25:29.625Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 35,
              "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"
              "WhenOpened": "2025-03-18T03:25:29.625Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -702,7 +718,8 @@
              "RelativeToolTip": "SerialPortService\\NJCommandsServer .cs",
              "ViewState": "AgIAAAwAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:56:15.37Z"
              "WhenOpened": "2025-03-19T01:56:15.37Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -714,7 +731,8 @@
              "RelativeToolTip": "ISerialPortService\\IToolsServer.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:51.309Z"
              "WhenOpened": "2025-03-19T01:54:51.309Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -726,7 +744,8 @@
              "RelativeToolTip": "SerialPortService\\ArticleInfomServer.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T03:25:52.785Z"
              "WhenOpened": "2025-03-18T03:25:52.785Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -738,7 +757,8 @@
              "RelativeToolTip": "ISerialPortService\\ITemplateServer.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:47.676Z"
              "WhenOpened": "2025-03-19T01:54:47.676Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -750,7 +770,8 @@
              "RelativeToolTip": "ISerialPortService\\ISerialPortService.cs",
              "ViewState": "AgIAAAYAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:44.241Z"
              "WhenOpened": "2025-03-19T01:54:44.241Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -762,7 +783,8 @@
              "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_MenuService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:07.054Z"
              "WhenOpened": "2025-03-19T01:54:07.054Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -774,7 +796,8 @@
              "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_RoleAuthService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T08:57:16.655Z"
              "WhenOpened": "2025-03-18T08:57:16.655Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -786,7 +809,8 @@
              "RelativeToolTip": "ISerialPortService\\ILoginHistoryServer.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T03:25:33.264Z"
              "WhenOpened": "2025-03-18T03:25:33.264Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -798,7 +822,8 @@
              "RelativeToolTip": "ISerialPortService\\INJCommandsServer.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T03:25:34.287Z"
              "WhenOpened": "2025-03-18T03:25:34.287Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -810,7 +835,8 @@
              "RelativeToolTip": "ISerialPortService\\INJtakeHistoryServer.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T03:25:36.255Z"
              "WhenOpened": "2025-03-18T03:25:36.255Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -822,7 +848,8 @@
              "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_LogService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:06.179Z"
              "WhenOpened": "2025-03-19T01:54:06.179Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -834,7 +861,8 @@
              "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_DictionaryService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:05.38Z"
              "WhenOpened": "2025-03-19T01:54:05.38Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -846,7 +874,8 @@
              "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_DictionaryListService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:04.452Z"
              "WhenOpened": "2025-03-19T01:54:04.452Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -858,7 +887,8 @@
              "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_TenantService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:53:55.797Z"
              "WhenOpened": "2025-03-19T01:53:55.797Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -870,7 +900,8 @@
              "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_RoleService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:53:51.567Z"
              "WhenOpened": "2025-03-19T01:53:51.567Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -882,23 +913,12 @@
              "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_TenantService.cs",
              "ViewState": "AgIAAEcAAAAAAAAAAAAiwAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:53:47.238Z"
              "WhenOpened": "2025-03-19T01:53:47.238Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 52,
              "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"
            },
            {
              "$type": "Document",
              "DocumentIndex": 53,
              "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",
@@ -906,11 +926,12 @@
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\SerialPort\\NjTaskController.cs",
              "ViewState": "AgIAADQAAAAAAAAAAAAkwEkAAAAfAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T08:32:49.485Z"
              "WhenOpened": "2025-03-18T08:32:49.485Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 54,
              "DocumentIndex": 53,
              "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",
@@ -918,11 +939,12 @@
              "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_DictionaryService.cs",
              "ViewState": "AgIAAFEAAAAAAAAAAAAcwAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T03:37:22.246Z"
              "WhenOpened": "2025-03-18T03:37:22.246Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 55,
              "DocumentIndex": 54,
              "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",
@@ -930,7 +952,8 @@
              "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_DictionaryListService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAAJAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T03:37:17.946Z"
              "WhenOpened": "2025-03-18T03:37:17.946Z",
              "EditorCaption": ""
            }
          ]
        }
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json
@@ -7,16 +7,20 @@
      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\processserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\controllers\\serialport\\processcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\serialport\\processcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_dto\\serialport\\addprocessdto.cs||{8B382828-6202-11D1-8870-0000F87579D2}",
      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\serialport\\addprocessdto.cs||{8B382828-6202-11D1-8870-0000F87579D2}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\putakeserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\putakeserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\serialportservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\serialportservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_tasks\\serialport\\serialportjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\serialport\\serialportjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\controllers\\serialport\\processcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\serialport\\processcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\njtaskserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -27,16 +31,52 @@
      "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:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_njtask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_njtask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{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:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_torqueop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_torqueop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_tools.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_tools.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_process.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_process.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\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:{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:{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:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_njtask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_njtask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_dto\\serialport\\addprocessdto.cs||{8B382828-6202-11D1-8870-0000F87579D2}",
      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\serialport\\addprocessdto.cs||{8B382828-6202-11D1-8870-0000F87579D2}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\iserialportservice\\itorqueopserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{FAAE7C01-D5C8-43BF-84F6-DB034334C3F1}|ISerialPortService\\WIDESEA_ISerialPortService.csproj|solutionrelative:iserialportservice\\itorqueopserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\serialportservice\\toolsserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{DE3CBFFF-C6C4-4A38-9A00-06291EF590B9}|SerialPortService\\WIDESEA_SerialPortService.csproj|solutionrelative:serialportservice\\toolsserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_template.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -45,10 +85,6 @@
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_putake.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_putake.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_process.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_process.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_njcommands.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -65,26 +101,6 @@
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_model\\models\\serialport\\dt_articleinfom.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\serialport\\dt_articleinfom.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{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:{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:{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:{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\\injtaskserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -115,18 +131,6 @@
      "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\\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}"
    },
@@ -141,10 +145,6 @@
    {
      "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\\njcommandsserver .cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -211,10 +211,6 @@
      "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\sys_tenantservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\\u7F8E\u578B\\niujukongzhi\\\u9879\u76EE\u4EE3\u7801\\wideseawcs_server \u6B63\u5F0F\\wideseawcs_server\\controllers\\serialport\\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}"
    },
@@ -234,7 +230,7 @@
      "DocumentGroups": [
        {
          "DockedWidth": 200,
          "SelectedChildIndex": 2,
          "SelectedChildIndex": 4,
          "Children": [
            {
              "$type": "Bookmark",
@@ -246,124 +242,254 @@
            },
            {
              "$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": "AgIAACEAAAAAAAAAAAAmwEAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T03:47:38.429Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "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": "AgIAABwAAAAAAAAAAAAQwDAAAAARAAAAAAAAAA==",
              "Title": "SerialPortJob.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Tasks\\SerialPort\\SerialPortJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\SerialPort\\SerialPortJob.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Tasks\\SerialPort\\SerialPortJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\SerialPort\\SerialPortJob.cs",
              "ViewState": "AgIAADcAAAAAAAAAAAASwEoAAAAqAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:30.012Z",
              "WhenOpened": "2025-03-21T02:39:47.713Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "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": "AgIAAAMAAAAAAAAAAAApwBEAAAAbAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:23.95Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "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": "AgIAAAAAAAAAAAAAAAAAABoBAABDAAAAAAAAAA==",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAC4AAAAUAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T08:34:48.374Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "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": "AgIAAAAAAAAAAAAAAAAAAAgAAAARAAAAAAAAAA==",
              "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": "AgIAAA4BAAAAAAAAAAAWwE8BAAA7AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T05:46:02.575Z",
              "WhenOpened": "2025-03-18T03:47:38.429Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "DocumentIndex": 4,
              "Title": "ProcessController.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\ProcessController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\SerialPort\\ProcessController.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\ProcessController.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\SerialPort\\ProcessController.cs",
              "ViewState": "AgIAAAMAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAA==",
              "ViewState": "AgIAADEAAAAAAAAAAAAkwD4AAAAMAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T03:45:46.366Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "SerialPortService.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\SerialPortService.cs",
              "RelativeDocumentMoniker": "SerialPortService\\SerialPortService.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\SerialPortService.cs",
              "RelativeToolTip": "SerialPortService\\SerialPortService.cs",
              "ViewState": "AgIAACEAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T02:01:10.146Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "Title": "PutakeServer.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\PutakeServer.cs",
              "RelativeDocumentMoniker": "SerialPortService\\PutakeServer.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\PutakeServer.cs",
              "RelativeToolTip": "SerialPortService\\PutakeServer.cs",
              "ViewState": "AgIAABwAAAAAAAAAAAAQwEAAAAAsAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:30.012Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "Title": "IPutakeServer.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\IPutakeServer.cs",
              "RelativeDocumentMoniker": "ISerialPortService\\IPutakeServer.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\IPutakeServer.cs",
              "RelativeToolTip": "ISerialPortService\\IPutakeServer.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAswA0AAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:23.95Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "PutakeController.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\PutakeController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\SerialPort\\PutakeController.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\PutakeController.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\SerialPort\\PutakeController.cs",
              "ViewState": "AgIAAAYAAAAAAAAAAAAtwBcAAAAeAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:57:42.064Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 14,
              "Title": "TorqueOpServer.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\TorqueOpServer.cs",
              "RelativeDocumentMoniker": "SerialPortService\\TorqueOpServer.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\TorqueOpServer.cs",
              "RelativeToolTip": "SerialPortService\\TorqueOpServer.cs",
              "ViewState": "AgIAAAYAAAAAAAAAAAAAAEIAAABsAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:56:46.727Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 11,
              "Title": "Dt_Process.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
              "ViewState": "AgIAAGUAAAAAAAAAAAAowIAAAAAFAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-20T01:12:06.317Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 13,
              "Title": "IProcessServer.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\IProcessServer.cs",
              "RelativeDocumentMoniker": "ISerialPortService\\IProcessServer.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\IProcessServer.cs",
              "RelativeToolTip": "ISerialPortService\\IProcessServer.cs",
              "ViewState": "AgIAAB0AAAAAAAAAAAD4vzsAAAAbAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:16.125Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 8,
              "Title": "appsettings.json",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\appsettings.json",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\appsettings.json",
              "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvx4AAAAVAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
              "WhenOpened": "2025-03-21T08:03:47.109Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 9,
              "Title": "Dt_TorqueOp.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
              "ViewState": "AgIAACEAAAAAAAAAAAAjwDUAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-20T07:32:46.346Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 10,
              "Title": "Program.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Program.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Program.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Program.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Program.cs",
              "ViewState": "AgIAACgAAAAAAAAAAADwvzUAAAAlAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-21T07:23:38.895Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 12,
              "Title": "TorqueOpController.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\TorqueOpController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\SerialPort\\TorqueOpController.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Server\\Controllers\\SerialPort\\TorqueOpController.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\SerialPort\\TorqueOpController.cs",
              "ViewState": "AgIAAAwAAAAAAAAAAAAAABwAAAA5AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T08:35:43.197Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 15,
              "Title": "Dt_NjTask.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NjTask.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NjTask.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NjTask.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NjTask.cs",
              "ViewState": "AgIAANQAAAAAAAAAAAAqwNEAAAAmAAAAAAAAAA==",
              "ViewState": "AgIAAIUAAAAAAAAAAAAUwNEAAAAmAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-20T01:07:30.689Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "Dt_TorqueOp.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_TorqueOp.cs",
              "ViewState": "AgIAABkAAAAAAAAAAAAQwAsAAAA6AAAAAAAAAA==",
              "DocumentIndex": 16,
              "Title": "AddProcessDTO.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\SerialPort\\AddProcessDTO.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\SerialPort\\AddProcessDTO.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_DTO\\SerialPort\\AddProcessDTO.cs",
              "RelativeToolTip": "WIDESEAWCS_DTO\\SerialPort\\AddProcessDTO.cs",
              "ViewState": "AgIAABEAAAAAAAAAAAAAwB0AAAAOAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-20T01:12:44.935Z",
              "WhenOpened": "2025-03-18T05:46:02.575Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 8,
              "Title": "Dt_Tools.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Tools.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Tools.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Tools.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Tools.cs",
              "ViewState": "AgIAACYAAAAAAAAAAAAiwAAAAAAAAAAAAAAAAA==",
              "DocumentIndex": 17,
              "Title": "ITorqueOpServer.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\ITorqueOpServer.cs",
              "RelativeDocumentMoniker": "ISerialPortService\\ITorqueOpServer.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\ITorqueOpServer.cs",
              "RelativeToolTip": "ISerialPortService\\ITorqueOpServer.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABQAAAA9AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-20T01:12:41.334Z",
              "WhenOpened": "2025-03-19T01:54:51.967Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 9,
              "DocumentIndex": 18,
              "Title": "ToolsServer.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\ToolsServer.cs",
              "RelativeDocumentMoniker": "SerialPortService\\ToolsServer.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\ToolsServer.cs",
              "RelativeToolTip": "SerialPortService\\ToolsServer.cs",
              "ViewState": "AgIAAAMAAAAAAAAAAADwvxgAAAARAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T02:01:18.961Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 19,
              "Title": "Dt_Template.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Template.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Template.cs",
@@ -376,7 +502,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 10,
              "DocumentIndex": 20,
              "Title": "Dt_Putake.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Putake.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Putake.cs",
@@ -389,46 +515,33 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 11,
              "Title": "Dt_Process.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_Process.cs",
              "ViewState": "AgIAAHAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-20T01:12:06.317Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 12,
              "DocumentIndex": 21,
              "Title": "Dt_NJCommands.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJCommands.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJCommands.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJCommands.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJCommands.cs",
              "ViewState": "AgIAAB0AAAAAAAAAAAA3wAAAAAAAAAAAAAAAAA==",
              "ViewState": "AgIAAB4AAAAAAAAAAAAcwAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-20T01:11:41.912Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 13,
              "DocumentIndex": 22,
              "Title": "Dt_NJtakeHistory.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJtakeHistory.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJtakeHistory.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJtakeHistory.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_NJtakeHistory.cs",
              "ViewState": "AgIAAEMAAAAAAAAAAAA0wAAAAAAAAAAAAAAAAA==",
              "ViewState": "AgIAAH0AAAAAAAAAAAAQwAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-20T01:11:46.083Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 14,
              "DocumentIndex": 23,
              "Title": "Dt_LoginHistory.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_LoginHistory.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_LoginHistory.cs",
@@ -441,80 +554,20 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 15,
              "DocumentIndex": 24,
              "Title": "Dt_ArticleInfom.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_ArticleInfom.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_ArticleInfom.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_Model\\Models\\SerialPort\\Dt_ArticleInfom.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\SerialPort\\Dt_ArticleInfom.cs",
              "ViewState": "AgIAACkAAAAAAAAAAAA6wAAAAAAAAAAAAAAAAA==",
              "ViewState": "AgIAACoAAAAAAAAAAAAkwAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-20T01:11:35.733Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 19,
              "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"
            },
            {
              "$type": "Document",
              "DocumentIndex": 17,
              "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": "AgIAAAsAAAAAAAAAAAD4vyUAAAAbAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:16.125Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 16,
              "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"
            },
            {
              "$type": "Document",
              "DocumentIndex": 20,
              "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": "AgIAAAAAAAAAAAAAAAAswA4AAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:51.967Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 18,
              "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": "AgIAAAcAAAAAAAAAAAAjwBcAAAA9AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:56:46.727Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 21,
              "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",
@@ -522,23 +575,25 @@
              "RelativeToolTip": "ISerialPortService\\INjTaskServer.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABUAAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:15.368Z"
              "WhenOpened": "2025-03-19T01:54:15.368Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 22,
              "DocumentIndex": 26,
              "Title": "Sys_UserService.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_SystemServices\\Sys_UserService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_UserService.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\WIDESEAWCS_SystemServices\\Sys_UserService.cs",
              "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_UserService.cs",
              "ViewState": "AgIAAIsBAAAAAAAAAAA0wJcBAAAnAAAAAAAAAA==",
              "ViewState": "AgIAAIwBAAAAAAAAAAAQwJcBAAAnAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T07:20:17.983Z"
              "WhenOpened": "2025-03-18T07:20:17.983Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 26,
              "DocumentIndex": 30,
              "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",
@@ -546,11 +601,12 @@
              "RelativeToolTip": "WIDESEAWCS_DTO\\SerialPort\\SetpDTO.cs",
              "ViewState": "AgIAAAYAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T06:58:28.509Z"
              "WhenOpened": "2025-03-19T06:58:28.509Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 23,
              "DocumentIndex": 27,
              "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",
@@ -558,35 +614,38 @@
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs",
              "ViewState": "AgIAAJMAAAAAAAAAAAASwLMAAAA2AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T07:20:02.496Z"
              "WhenOpened": "2025-03-18T07:20:02.496Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 25,
              "DocumentIndex": 29,
              "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==",
              "ViewState": "AgIAAAQAAAAAAAAAAABUwBMAAAAVAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T07:33:54.091Z"
              "WhenOpened": "2025-03-18T07:33:54.091Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 24,
              "DocumentIndex": 28,
              "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==",
              "ViewState": "AgIAACUAAAAAAAAAAAAhwD4AAAA3AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T07:20:13.531Z"
              "WhenOpened": "2025-03-18T07:20:13.531Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 32,
              "DocumentIndex": 33,
              "Title": "LoginHistoryServer.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\LoginHistoryServer.cs",
              "RelativeDocumentMoniker": "SerialPortService\\LoginHistoryServer.cs",
@@ -594,11 +653,12 @@
              "RelativeToolTip": "SerialPortService\\LoginHistoryServer.cs",
              "ViewState": "AgIAAAkAAAAAAAAAAAAuwBUAAAAdAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T02:35:47.432Z"
              "WhenOpened": "2025-03-19T02:35:47.432Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 27,
              "DocumentIndex": 31,
              "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",
@@ -606,23 +666,12 @@
              "RelativeToolTip": "WIDESEAWCS_DTO\\SerialPort\\AddNjtDTO.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T06:58:26.302Z"
              "WhenOpened": "2025-03-19T06:58:26.302Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 30,
              "Title": "WIDESEAWCS_Server.csproj",
              "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"
            },
            {
              "$type": "Document",
              "DocumentIndex": 31,
              "DocumentIndex": 32,
              "Title": "NJtakeHistoryServer.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\NJtakeHistoryServer.cs",
              "RelativeDocumentMoniker": "SerialPortService\\NJtakeHistoryServer.cs",
@@ -630,47 +679,25 @@
              "RelativeToolTip": "SerialPortService\\NJtakeHistoryServer.cs",
              "ViewState": "AgIAAAwAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:56:17.448Z"
              "WhenOpened": "2025-03-19T01:56:17.448Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 29,
              "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"
            },
            {
              "$type": "Document",
              "DocumentIndex": 28,
              "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"
            },
            {
              "$type": "Document",
              "DocumentIndex": 34,
              "DocumentIndex": 35,
              "Title": "TemplateServer.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\TemplateServer.cs",
              "RelativeDocumentMoniker": "SerialPortService\\TemplateServer.cs",
              "ToolTip": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\SerialPortService\\TemplateServer.cs",
              "RelativeToolTip": "SerialPortService\\TemplateServer.cs",
              "ViewState": "AgIAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
              "ViewState": "AgIAAAQAAAAAAAAAAABUwAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T02:01:14.321Z"
              "WhenOpened": "2025-03-19T02:01:14.321Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 33,
              "DocumentIndex": 34,
              "Title": "IArticleInfomServer.cs",
              "DocumentMoniker": "E:\\\u7F8E\u578B\\NiuJuKongZhi\\\u9879\u76EE\u4EE3\u7801\\WIDESEAWCS_Server \u6B63\u5F0F\\ISerialPortService\\IArticleInfomServer.cs",
              "RelativeDocumentMoniker": "ISerialPortService\\IArticleInfomServer.cs",
@@ -678,19 +705,8 @@
              "RelativeToolTip": "ISerialPortService\\IArticleInfomServer.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwsAAABCAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T03:25:29.625Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 35,
              "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"
              "WhenOpened": "2025-03-18T03:25:29.625Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -702,7 +718,8 @@
              "RelativeToolTip": "SerialPortService\\NJCommandsServer .cs",
              "ViewState": "AgIAAAwAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:56:15.37Z"
              "WhenOpened": "2025-03-19T01:56:15.37Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -714,7 +731,8 @@
              "RelativeToolTip": "ISerialPortService\\IToolsServer.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:51.309Z"
              "WhenOpened": "2025-03-19T01:54:51.309Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -726,7 +744,8 @@
              "RelativeToolTip": "SerialPortService\\ArticleInfomServer.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T03:25:52.785Z"
              "WhenOpened": "2025-03-18T03:25:52.785Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -738,7 +757,8 @@
              "RelativeToolTip": "ISerialPortService\\ITemplateServer.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:47.676Z"
              "WhenOpened": "2025-03-19T01:54:47.676Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -750,7 +770,8 @@
              "RelativeToolTip": "ISerialPortService\\ISerialPortService.cs",
              "ViewState": "AgIAAAYAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:44.241Z"
              "WhenOpened": "2025-03-19T01:54:44.241Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -762,7 +783,8 @@
              "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_MenuService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:07.054Z"
              "WhenOpened": "2025-03-19T01:54:07.054Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -774,7 +796,8 @@
              "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_RoleAuthService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T08:57:16.655Z"
              "WhenOpened": "2025-03-18T08:57:16.655Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -786,7 +809,8 @@
              "RelativeToolTip": "ISerialPortService\\ILoginHistoryServer.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T03:25:33.264Z"
              "WhenOpened": "2025-03-18T03:25:33.264Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -798,7 +822,8 @@
              "RelativeToolTip": "ISerialPortService\\INJCommandsServer.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T03:25:34.287Z"
              "WhenOpened": "2025-03-18T03:25:34.287Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -810,7 +835,8 @@
              "RelativeToolTip": "ISerialPortService\\INJtakeHistoryServer.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T03:25:36.255Z"
              "WhenOpened": "2025-03-18T03:25:36.255Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -822,7 +848,8 @@
              "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_LogService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:06.179Z"
              "WhenOpened": "2025-03-19T01:54:06.179Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -834,7 +861,8 @@
              "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_DictionaryService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:05.38Z"
              "WhenOpened": "2025-03-19T01:54:05.38Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -846,7 +874,8 @@
              "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_DictionaryListService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:54:04.452Z"
              "WhenOpened": "2025-03-19T01:54:04.452Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -858,7 +887,8 @@
              "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_TenantService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:53:55.797Z"
              "WhenOpened": "2025-03-19T01:53:55.797Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -870,7 +900,8 @@
              "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_RoleService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:53:51.567Z"
              "WhenOpened": "2025-03-19T01:53:51.567Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
@@ -882,23 +913,12 @@
              "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_TenantService.cs",
              "ViewState": "AgIAAEcAAAAAAAAAAAAiwAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-19T01:53:47.238Z"
              "WhenOpened": "2025-03-19T01:53:47.238Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 52,
              "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"
            },
            {
              "$type": "Document",
              "DocumentIndex": 53,
              "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",
@@ -906,11 +926,12 @@
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\SerialPort\\NjTaskController.cs",
              "ViewState": "AgIAADQAAAAAAAAAAAAkwEkAAAAfAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T08:32:49.485Z"
              "WhenOpened": "2025-03-18T08:32:49.485Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 54,
              "DocumentIndex": 53,
              "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",
@@ -918,11 +939,12 @@
              "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_DictionaryService.cs",
              "ViewState": "AgIAAFEAAAAAAAAAAAAcwAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T03:37:22.246Z"
              "WhenOpened": "2025-03-18T03:37:22.246Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 55,
              "DocumentIndex": 54,
              "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",
@@ -930,7 +952,8 @@
              "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_DictionaryListService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAAJAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-18T03:37:17.946Z"
              "WhenOpened": "2025-03-18T03:37:17.946Z",
              "EditorCaption": ""
            }
          ]
        }
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/ISerialPortService/IProcessServer.cs
@@ -19,7 +19,7 @@
        /// </summary>
        /// <param name="grops"></param>
        /// <returns></returns>
        WebResponseContent GetSleeveandStep(string grops);
        WebResponseContent GetSleeveandStep();
        /// <summary>
        /// æ ¹æ®ç»„å’Œid来添加数据
@@ -56,5 +56,8 @@
        /// <returns></returns>
        WebResponseContent PreviousProcess(SetpDTO setpDTO);
        WebResponseContent GetValueandNumber(string grop,int setnum);
    }
}
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/ISerialPortService/ITorqueOpServer.cs
@@ -17,5 +17,7 @@
        /// </summary>
        /// <returns></returns>
        WebResponseContent Checkvalue(GetTorDTO getTorDTO);
        WebResponseContent AddTorqueOp(Dt_TorqueOp torqueOp);
    }
}
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/SerialPortService/ProcessServer.cs
@@ -39,21 +39,23 @@
            return base.GetPageData(options);
        }
        //获取套筒数量
        public WebResponseContent GetSleeveandStep(string gruops)
        public WebResponseContent GetSleeveandStep()
        {
            try
            {
                var result = BaseDal.QueryData(x => x.CraftType == gruops) // å…ˆç­›é€‰ CraftType
                var result = BaseDal.QueryData() // å…ˆæŸ¥å‡ºå…¨éƒ¨
                    .GroupBy(x => x.CraftType) // æŒ‰ CraftType åˆ†ç»„
                    .Select(g => new
                    {
                        maxNodal = g.Max(a => a.Nodal),
                        sumTorqueSum = g.Sum(a => a.TorqueSum)
                        //尽量后端数据给前端的数据,调一次接口就可以拿到,不要让前端多次调用
                        CraftType = g.Key, // æ·»åŠ  CraftType
                        maxNodal = g.Max(a => a.Nodal),//最大步骤
                        sumTorqueSum = g.Sum(a => a.TorqueSum),//套筒数量
                    }).ToList();
                return new WebResponseContent { Status = true, Data = result };
            }
            catch (Exception ex)
@@ -155,22 +157,23 @@
                if (addProcessDTO.id == 0) // æ·»åŠ 
                {
                    // æ£€æŸ¥æ˜¯å¦å·²ç»å­˜åœ¨ç›¸åŒçš„ setnum
                    if (allProcesses.Any(x => x.SetpNum == addProcessDTO.setnum && x.CraftType == addProcessDTO.craftstype))
                    if (allProcesses.Any(x => x.SetpNum == addProcessDTO.setpNum && x.CraftType == addProcessDTO.craftstype))
                    {
                        return new WebResponseContent { Status = false, Message = $"步骤 {addProcessDTO.setnum} å·²å­˜åœ¨ï¼Œä¸èƒ½é‡å¤æ·»åŠ ï¼" };
                        return new WebResponseContent { Status = false, Message = $"步骤 {addProcessDTO.setpNum} å·²å­˜åœ¨ï¼Œä¸èƒ½é‡å¤æ·»åŠ ï¼" };
                    }
                    // éœ€è¦è°ƒæ•´åŽç»­æ­¥éª¤çš„序号
                    foreach (var process in allProcesses.Where(x => x.SetpNum >= addProcessDTO.setnum))
                    foreach (var process in allProcesses.Where(x => x.SetpNum >= addProcessDTO.setpNum))
                    {
                        process.SetpNum++; // åŽç§»ä¸€ä½
                        BaseDal.UpdateData(process);
                    }
                    // åˆ›å»ºæ–°å·¥è‰ºæ­¥éª¤
                    var proces = new Dt_Process
                    {
                        SetpNum = addProcessDTO.setnum,
                        Nodal=addProcessDTO.Nodal,
                        SetpNum = addProcessDTO.setpNum,
                        CraftType = addProcessDTO.craftstype,
                        CraftsStep = addProcessDTO.craftsstep,
                        CraftContent = addProcessDTO.craftcontent,
@@ -180,8 +183,11 @@
                        ArticleOne = addProcessDTO.articleone,
                        ArticleTowid = addProcessDTO.aritcletowid,
                        ArticleTwo = addProcessDTO.articletwo,
                        CreateDate = DateTime.Now
                        CreateDate = DateTime.Now,
                        //为空就是0,不为空就是1
                        TorqueSum = (string.IsNullOrEmpty(addProcessDTO.articleone) ? 0 : 1) + (string.IsNullOrEmpty(addProcessDTO.articletwo) ? 0 : 1)
                    };
                    BaseDal.AddData(proces);
                    return new WebResponseContent { Status = true, Data = proces };
@@ -195,7 +201,7 @@
                    }
                    int oldSetNum = existingProcess.SetpNum;
                    int newSetNum = addProcessDTO.setnum;
                    int newSetNum = addProcessDTO.setpNum;
                    if (oldSetNum == newSetNum) // å¦‚果没改顺序,直接更新其他内容
                    {
@@ -210,10 +216,15 @@
                        existingProcess.ArticleTowid = addProcessDTO.aritcletowid;
                        existingProcess.ArticleTwo = addProcessDTO.articletwo;
                        existingProcess.CreateDate = DateTime.Now;
                        existingProcess.TorqueSum = (string.IsNullOrEmpty(addProcessDTO.articleone) ? 0 : 1) + (string.IsNullOrEmpty(addProcessDTO.articletwo) ? 0 : 1);
                        BaseDal.UpdateData(existingProcess);
                        return new WebResponseContent { Status = true, Data = existingProcess };
                    }
                    // æ›´æ–° TorqueSum
                    // è°ƒæ•´é¡ºåº
                    if (newSetNum < oldSetNum) // å‘前移动,后续数据往后移
@@ -274,13 +285,13 @@
                //返回当前工艺的最大步骤
                var maxproce = process.Max(x => x.SetpNum);
                //拿到工艺表中步骤为1的
                var proNoe = process.Where(x => x.SetpNum == 1);//获得工艺表中的第一步
                if (torp.Count == 0)
                {
                    return new WebResponseContent { Status = true, Message = "返回工艺表中的第一条", Data =new { proNoe, maxproce } };
                    return new WebResponseContent { Status = true, Message = "返回工艺表中的第一条", Data = new { proNoe, maxproce } };
                }
                var nowNum = torp.Max(x => x.ProcessSte);//获得当前最大步骤
@@ -288,7 +299,7 @@
                //op.Modifier="true"  è¡¨ç¤ºæ˜¯å¼ºåˆ¶æ‰§è¡Œï¼Œå°±ä¸éœ€è¦åˆ¤æ–­åº”扭的次数,直接返回 op.ProcessSte+1
                if (Mod == "true")
                {
                   var  now= maxproce + 1;
                    var now = maxproce + 1;
                    return new WebResponseContent { Status = true, Data = new { proNoe, maxproce, now } };
                }
@@ -298,7 +309,7 @@
                //判断当前步骤的扭力次数是否完成,没完成返回当前步骤,完成返回op.ProcessSte+1,状态值给false   
                return new WebResponseContent { Status = true, Message = "返回当前任务做到的大步骤", Data =new { maxpro, maxproce } };
                return new WebResponseContent { Status = true, Message = "返回当前任务做到的大步骤", Data = new { maxpro, maxproce } };
            }
            catch (Exception ex)
@@ -307,7 +318,7 @@
            }
        }
        public WebResponseContent Nextprocess(SetpDTO setpDTO,bool flag)//强制执行给我true
        public WebResponseContent Nextprocess(SetpDTO setpDTO, bool flag)//强制执行给我true
        {
            try
            {
@@ -325,16 +336,16 @@
                var maxproce = process.Max(x => x.SetpNum);
                var TorqueOneQuantity = nowdate.Select(x => x.TorqueOneQuantity).FirstOrDefault();
                var TorqueTwoQuantity= nowdate.Select(x => x.TorqueTwoQuantity).FirstOrDefault();
                var TorqueTwoQuantity = nowdate.Select(x => x.TorqueTwoQuantity).FirstOrDefault();
                //判断存值表的数据是否满足该步骤需要几条数据的条数
                int TargetCount = TorqueOneQuantity + TorqueTwoQuantity;//一共要有多少条数据(目标数量)
                if (practiceCount < TargetCount && !flag)
                {
                    return new WebResponseContent { Status = true, Message = "没有完成当前步骤", Data =new { nowdate, maxproce } };
                    return new WebResponseContent { Status = true, Message = "没有完成当前步骤", Data = new { nowdate, maxproce } };
                }
                else if(practiceCount == TargetCount || (practiceCount != TargetCount && flag))//强制执行 å‰ç«¯ç»™æˆ‘一个flag=ture时
                else if (practiceCount == TargetCount || (practiceCount != TargetCount && flag))//强制执行 å‰ç«¯ç»™æˆ‘一个flag=ture时
                {
                    //强制跳转下一步,插入op表当前步骤
                    op.TakeId = setpDTO.takeid;
@@ -356,7 +367,7 @@
                _torqueOpRepository.AddData(op);
                return new WebResponseContent { Status = true,Message= $"你已完成当前第{setpDTO.setnum},准备第{num}步任务", Data = new { nex, maxproce } };
                return new WebResponseContent { Status = true, Message = $"你已完成当前第{setpDTO.setnum},准备第{num}步任务", Data = new { nex, maxproce } };
            }
            catch (Exception ex)
            {
@@ -387,8 +398,36 @@
                return new WebResponseContent { Status = false, Message = "查询失败:" + ex.Message };
            }
        }
    }
        /// <summary>
        /// è¯»å–当前工艺步骤的扭力值与次数
        /// </summary>
        /// <param name="grop"></param>
        /// <param name="setnum"></param>
        /// <returns></returns>
        /// <exception cref="NotImplementedException"></exception>
        public WebResponseContent GetValueandNumber(string grop, int setnum)
        {
            try
            {
                var result = BaseDal.QueryData(x => x.CraftType == grop && x.SetpNum == setnum)
                    .Select(g => new
                    {
                        g.TorqueOne,
                        g.TorqueOneQuantity,
                        g.TorqueTwo,
                        g.TorqueTwoQuantity
                    });
                return new WebResponseContent { Status = true, Data = result };
            }
            catch (Exception ex)
            {
                return new WebResponseContent { Status = false,Message="错误:"+ex }; throw;
            }
        }
    }
}
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/SerialPortService/TorqueOpServer.cs
@@ -16,9 +16,10 @@
{
    public class TorqueOpServer : ServiceBase<Dt_TorqueOp, ITorqueOpRepository>,ITorqueOpServer
    {
        public TorqueOpServer(ITorqueOpRepository BaseDal) : base(BaseDal)
        private IProcessRepository _iprocessRepository;
        public TorqueOpServer(ITorqueOpRepository BaseDal, IProcessRepository iprocessRepository) : base(BaseDal)
        {
            _iprocessRepository = iprocessRepository;
        }      
        public override PageGridData<Dt_TorqueOp> GetPageData(PageDataOptions options)
@@ -55,5 +56,31 @@
                return new WebResponseContent { Status = false,Message="查询失败:"+ex.Message };
            }
        }
        public WebResponseContent AddTorqueOp(Dt_TorqueOp torqueOp)
        {
            try
            {
                var process = _iprocessRepository.QueryData(a => a.SetpNum == torqueOp.ProcessSte && a.CraftType == torqueOp.GroupOp).FirstOrDefault();
                if (process != null)
                {
                    if (torqueOp.TorqueSize == process.TorqueOne || torqueOp.TorqueSize == process.TorqueTwo)
                    {
                        BaseDal.AddData(torqueOp);
                        return new WebResponseContent { Status = true, Message = "添加成功" };
                    }
                    else
                    {
                        return new WebResponseContent { Status = false, Message = "扭力值不合格", Code = 400 };
                    }
                }
                return new WebResponseContent { Status = false, Message = "数据有误", Code = 400 };
            }
            catch (Exception ex)
            {
                return new WebResponseContent { Status = false, Message = "添加失败:" + ex.Message };
            }
        }
    }
}
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_DTO/SerialPort/AddProcessDTO.cs
@@ -22,7 +22,7 @@
        /// <summary>
        /// å°æ­¥éª¤
        /// </summary>
        public int setnum { get; set; }
        public int setpNum { get; set; }
 
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Model/Models/SerialPort/Dt_Process.cs
@@ -38,28 +38,28 @@
        /// <summary>
        /// å·¥ä½œå‰å‡†å¤‡æ­¥éª¤
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 255)]
        [SugarColumn(IsNullable = true, Length = 500)]
        public string CraftsStep { get; set; }
        /// <summary>
        /// å·¥è‰ºå…·ä½“内容
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 255)]
        [SugarColumn(IsNullable = true, Length = 2000)]
        public string CraftContent { get; set; }
        /// <summary>
        /// å·¥å…·
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50)]
        [SugarColumn(IsNullable = true, Length = 200)]
        public string Tools { get; set; }
        /// <summary>
        /// ç‰©æ–™
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50)]
        [SugarColumn(IsNullable = true, Length = 200)]
        public  string Material { get; set; }
        
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Model/Models/SerialPort/Dt_Tools.cs
@@ -32,7 +32,7 @@
        /// å·¥å…·è§„æ ¼
        /// </summary>
            [SugarColumn(IsNullable = true, ColumnDescription = "规格")]
            public float Specification { get; set; }
            public string Specification { get; set; }
        /// <summary>
        /// å·¥å…·å•位(个)
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Model/Models/SerialPort/Dt_TorqueOp.cs
@@ -51,7 +51,11 @@
        [SugarColumn(IsNullable = true, Length = 50)]
        public float TorqueSize { get; set; }
        ///// <summary>
        ///// æ‰­åŠ›å€¼æ˜¯å¦åˆæ ¼
        ///// </summary>
        //[SugarColumn(IsNullable = true)]
        //public bool OpStatus { get; set; }
         
    }
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/Controllers/SerialPort/ProcessController.cs
@@ -21,9 +21,9 @@
        }
        [HttpGet, Route("GetSleeveandStep"), AllowAnonymous]
        public WebResponseContent GetSleeveandStep(string grops)
        public WebResponseContent GetSleeveandStep()
        {
            return Service.GetSleeveandStep(grops);
            return Service.GetSleeveandStep();
        }
        /// <summary>
@@ -74,5 +74,17 @@
            return Service.PreviousProcess(setpDTO);
        }
        /// <summary>
        /// è¯»å–当前工艺步骤的扭力值与次数
        /// </summary>
        /// <param name="grop"></param>
        /// <param name="setnum"></param>
        /// <returns></returns>
        [HttpPost, Route("GetValueandNumber"), AllowAnonymous]
        public WebResponseContent GetValueandNumber(string grop, int setnum)
        {
            return Service.GetValueandNumber(grop, setnum);
        }
    }
}
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/Controllers/SerialPort/TorqueOpController.cs
@@ -25,5 +25,11 @@
            return Service.Checkvalue(getTorDTO);
        }
        [HttpPost, Route("AddTorqueOp"), AllowAnonymous]
        public WebResponseContent AddTorqueOp([FromBody] Dt_TorqueOp torqueOp)
        {
            return Service.AddTorqueOp(torqueOp);
        }
    }
}
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/Filter/WebSocketSetup.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
using HslCommunication.WebSocket;
using WIDESEAWCS_Core.Helper;
namespace WIDESEAWCS_Server.HostedService
{
    public static class WebSocketSetup
    {
        public static void AddWebSocketSetup(this IServiceCollection services)
        {
            if (services == null) throw new ArgumentNullException(nameof(services));
            if(AppSettings.Get("WebSocketEnable").ObjToBool())
            {
                int port = AppSettings.Get("WebSocketPort").ObjToInt();
                if (port == 0)
                {
                    port = 9296;
                }
                services.AddSingleton(x =>
                {
                    WebSocketServer socketServer = new WebSocketServer();
                    socketServer.ServerStart(port);
                    return socketServer;
                });
            }
        }
    }
}
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/Program.cs
@@ -23,6 +23,7 @@
using Microsoft.AspNetCore.Builder;
//using WIDESEA_SerialPortService;
using WIDESEA_ISerialPortService;
using WIDESEAWCS_Server.HostedService;
var builder = WebApplication.CreateBuilder(args);
@@ -50,7 +51,7 @@
builder.Services.AddScoped<QuartzJobCreateDataTabel>();
builder.Services.AddHostedService<QuartzJobDataTableHostedService>();
builder.Services.AddWebSocketSetup();
builder.Services.AddAutoMapperSetup();
builder.Services.AddCorsSetup();
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj
@@ -44,7 +44,6 @@
    <ItemGroup>
        <PackageReference Include="SerialPortStream" Version="2.4.2" />
        <PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
        <PackageReference Include="WIDESEAWCS_Communicator" Version="2.2.5" />
    </ItemGroup>
    <ItemGroup>
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/appsettings.json
@@ -28,5 +28,7 @@
    "ApiName": "WIDESEA",
    "ExpMinutes": 120,
    "QuartzJobAutoStart": true,
    "PrintSql": true
    "PrintSql": false,
    "WebSocketEnable": true,
    "WebSocketPort": 0
}
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Tasks/SerialPort/SerialPortJob.cs
@@ -3,26 +3,23 @@
using System.Drawing.Imaging;
using System.IO.Ports;
using System.Linq;
using System.Net.WebSockets;
using System.Text;
using System.Threading.Tasks;
using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
using HslCommunication.WebSocket;
using Newtonsoft.Json;
using Quartz;
using SqlSugar;
using StackExchange.Profiling.Internal;
using WIDESEA_ISerialPortRepository;
using WIDESEA_SerialPortRepository;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob;
using WIDESEAWCS_QuartzJob.DTO;
using WIDESEAWCS_QuartzJob.StackerCrane.Enum;
using WIDESEAWCS_Tasks.ConveyorLineJob;
using WIDESEAWCS_Tasks.StackerCraneJob;
namespace WIDESEAWCS_Tasks
{
    [DisallowConcurrentExecution]
    public class SerialPortJob : JobBase, IJob, IDisposable
    public class SerialPortJob : JobBase, IJob,IDisposable
    {
        public void Dispose()
        {
@@ -45,11 +42,14 @@
        private readonly IPutakeRepository _putakeRepository;
        private readonly IProcessRepository _processRepository;
        private readonly ITorqueOpRepository _orqueOpRepository;
        public SerialPortJob(IPutakeRepository putakeRepository, IProcessRepository processRepository, ITorqueOpRepository torqueOpRepository)
        private WebSocketServer _webSocketContext;
        public SerialPortJob(IPutakeRepository putakeRepository, IProcessRepository processRepository, ITorqueOpRepository torqueOpRepository, WebSocketServer webSocketContext)
        {
            _putakeRepository = putakeRepository;
            _processRepository = processRepository;
            _orqueOpRepository = torqueOpRepository;
            _webSocketContext = webSocketContext;
        }
        public Task Execute(IJobExecutionContext context)
@@ -59,6 +59,7 @@
                SerialPortDevice serialPortDevice = (SerialPortDevice)context.JobDetail.JobDataMap.Get("JobParams");
                if (serialPortDevice != null)
                {
                    List<DeviceProDTO> deviceProDTOs = serialPortDevice.DeviceProDTOs;
                    foreach (var item in deviceProDTOs)
                    {
@@ -67,109 +68,21 @@
                            DeviceProtocolDetailDTO? deviceProtocolDetail = serialPortDevice.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == nameof(CommandType) && x.ProtocolDetailType == nameof(CommandType.Set));
                            if (deviceProtocolDetail != null)
                            {
                                //先查状态和组,按时间降序
                                # region  Setvalue
                                string group = item.DeviceProDataBlock;
                                //这里判断组别三个看是那个,就查那个工艺表的值
                                if (group == "电气")
                                {
                                    //查看步骤
                                    var com = item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue.Replace("[setNum]", (5 * 1000).ToString().PadLeft(7, '0'))+"\r";
                                    serialPortDevice.Communicator.Write(com+"\r");
                                    //打开串口时先设值
                                    
                                    //        å…ˆçœ‹Dt_TorqueOp表,查询到现在这条数据的任务号和步骤
                                    var take = _putakeRepository.QueryData(x => x.Pustatus == 2 && x.Grouptype == group).OrderBy(x => x.Dispatchtime).First();
                                    if (take==null)
                                    {
                                        //等于空就停
                                    }
                                    //查到有该条数据了
                                    var process = _processRepository.QueryData(x => x.CraftType == group).OrderBy(x => x.SetpNum).First();
                                    float torqueone = process.TorqueOne;//读到值了
                                    float torquetow = process.TorqueTwo;
                                    if (torqueone != 0)
                                    {
                                        serialPortDevice.Communicator.Write(item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue.Replace("[setNum]", (torqueone * 1000).ToString().PadLeft(7, '0')) + "\r");
                                        //这里给它设完值就  æŸ¥å­˜å‚¨å€¼è¡¨ è¿™ä¸ªæ•°æ®æ˜¯å¦æ»¡è¶³äº†ï¼Œæ»¡è¶³äº†å°±è¿›è¡Œä¸‹ä¸€ä¸ªå€¼ï¼Œä¸æ»¡è¶³å°±ä¸å˜ä¸€ç›´ç»™å€¼
                                     var num=   _orqueOpRepository.QueryData(x => x.TakeId == take.Njtakeid && x.GroupOp == group && x.TorqueSize == torqueone).Count();
                                        if (num!= process.TorqueOneQuantity)
                                        {
                                        }
                                    }
                                    if (torquetow != 0)
                                    {
                                        serialPortDevice.Communicator.Write(item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue.Replace("[setNum]", (torquetow * 1000).ToString().PadLeft(7, '0')) + "\r");
                                    }
                                    //        // è®¡ç®—当前步骤所需的 Torque æ€»æ•°
                                    int requiredTorqueCount = process.TorqueOneQuantity + process.TorqueTwoQuantity;
                                    // æŸ¥è¯¢å½“前步骤的 TorqueOp è®°å½•,匹配 ProcessSte和组,检查是否达到要求
                                    int torqueCount = _orqueOpRepository.QueryData(x => x.ProcessSte == process.SetpNum && x.GroupOp == group).Count();
                                    if (torqueCount < requiredTorqueCount)
                                    {
                                        // å¦‚果数量不满足,停止读取
                                        break;
                                    }
                                #region
                                //    //先看工艺表中步骤一中要扭的值有多少个 å†æŸ¥çœ‹Dt_TorqueOp表中是否有该任务号id和步骤总数是否满足工艺表
                                //    // æŸ¥è¯¢æ‰€æœ‰å·¥è‰ºæ•°æ®ï¼ŒæŒ‰ç…§æ­¥éª¤å· SetpNum é€’增排序
                                //    var processList = _processRepository.QueryData(x => x.CraftType == group)
                                //                                        .OrderBy(x => x.SetpNum)
                                //                                        .ToList();
                                //    foreach (var process in processList)
                                //    {
                                //        float  torqueone = process.TorqueOne;//读到值了
                                //        float torquetow = process.TorqueTwo;
                                //        if (torqueone!=0)
                                //        {
                                //            serialPortDevice.Communicator.Write(item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue.Replace("[setNum]", (torqueone * 1000).ToString().PadLeft(7, '0')) + "\r");
                                //        }
                                //        if (torquetow != 0)
                                //        {
                                //            serialPortDevice.Communicator.Write(item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue.Replace("[setNum]", (torquetow * 1000).ToString().PadLeft(7, '0')) + "\r");
                                //        }
                                //        // è®¡ç®—当前步骤所需的 Torque æ€»æ•°
                                //        int requiredTorqueCount = process.TorqueOneQuantity + process.TorqueTwoQuantity;
                                //        // æŸ¥è¯¢å½“前步骤的 TorqueOp è®°å½•,匹配 ProcessSte和组,检查是否达到要求
                                //        int torqueCount = _orqueOpRepository.QueryData(x => x.ProcessSte == process.SetpNum&& x.GroupOp== group).Count();
                                //        if (torqueCount < requiredTorqueCount)
                                //        {
                                //            // å¦‚果数量不满足,停止读取
                                //            break;
                                //        }
                                //        //符合要求,继续读取下一步
                            }
                                //}
                                //if (group == "机械")
                                //{
                                //}
                                //if (group == "地沟")
                                //{
                                //}
                                }
                                #endregion
                                serialPortDevice.Communicator.Write(item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue.Replace("[setNum]", (5 * 1000).ToString().PadLeft(7, '0')) + "\r");
                                //打开串口时先设值
                                item.DeviceProParamName = CommandType.Set.ToString();
                            }
                        }
@@ -218,54 +131,38 @@
                                {
                                    DeviceProtocolDetailDTO? deviceProtocolDetail = serialPortDevice.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == nameof(CommandResult) && x.ProtocolDetailType == nameof(CommandResult.GetOK));
                                    //03成功
                                    if (deviceProtocolDetail != null && receiveData.Contains(item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue))
                                    {
                                        ////这里成功之后,要存储到看Dt_TorqueOp(存任务号,组,值)
                                        //string group = "";
                                        //if (group == "电气")
                                        //{
                                        //    var putake = _putakeRepository.QueryData(x => x.Pustatus == 2 && x.Grouptype == group).OrderByDescending(x => x.Dispatchtime).FirstOrDefault();//每次都拿最早的那条
                                        //    var punjid = putake.ID;
                                        //    var Nj = new Dt_TorqueOp()
                                        //    {
                                        //        TakeId = putake.Njtakeid,
                                        //        GroupOp = group,
                                        //        //ProcessSte= processList
                                        //        TorqueSize = receiveData
                                        //    };
                                        //    _orqueOpRepository.AddData(Nj);
                                        //}
                                        //if (group == "机械")
                                        //{
                                        //}
                                        //if (group == "地沟")
                                        string group = item.DeviceProDataBlock; // è®¾å¤‡æ‰€å±žç»„别
                                        if (group == "电气")
                                        {
                                            item.DeviceProParamName = CommandType.Set.ToString();
                                    }
                                }
                                else if (item.DeviceProParamName == CommandType.Get.ToString())
                                {
                                    DeviceProtocolDetailDTO? deviceProtocolDetail = serialPortDevice.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == nameof(CommandResult) && x.ProtocolDetailType == nameof(CommandResult.GetError));
                                    if (deviceProtocolDetail != null && receiveData.Contains(item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue))
                                    {
                                        item.DeviceProParamName = CommandType.Set.ToString();
                                        }
                                        else if (item.DeviceProParamName == CommandType.Get.ToString())
                                        {
                                            //DeviceProtocolDetailDTO? deviceProtocolDetail = serialPortDevice.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == nameof(CommandResult) && x.ProtocolDetailType == nameof(CommandResult.GetError));
                                            //if (deviceProtocolDetail != null && receiveData.Contains(item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue))
                                            //{
                                            //    item.DeviceProParamName = CommandType.Set.ToString();
                                            //}
                                        }
                                    }
                                }
                            }
                            //建一个对象将其传给前端
                            string data = JsonConvert.SerializeObject(serialPortDevice);//这里serialPortDevice是假设有这个对象
                            _webSocketContext.PublishAllClientPayload(data);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
@@ -274,5 +171,8 @@
            WriteDebug("CommonConveyorLineJob", "test");
            return Task.CompletedTask;
        }
    }
}
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Tasks/WIDESEAWCS_Tasks.csproj
@@ -8,8 +8,8 @@
    <ItemGroup>
      <PackageReference Include="System.IO.Ports" Version="6.0.0" />
      <PackageReference Include="WIDESEAWCS_Communicator" Version="2.2.5" />
      <PackageReference Include="WIDESEAWCS_QuartzJob" Version="3.0.7" />
      <PackageReference Include="WIDESEAWCS_Communicator" Version="2.2.9" />
      <PackageReference Include="WIDESEAWCS_QuartzJob" Version="3.0.9" />
    </ItemGroup>
    <ItemGroup>