From 891ebeb29dbeb6871aa8d5249bedaf0bef7cfd1e Mon Sep 17 00:00:00 2001
From: ningshuxia <ningshuxia0927@outlook.com>
Date: 星期四, 27 十月 2022 14:19:09 +0800
Subject: [PATCH] 修改 南通控制柜接口

---
 TopShelf/IStation.TopShelf.DataDocking4Socket/Properties/PublishProfiles/FolderProfile.pubxml.user |    2 
 Socket/IStation.DataDockingSocket4NT/control/SendControlJobHelper.cs                               |   10 +-
 Model/IStation.Model.Monitor/control/MonitorTestControlParas.cs                                    |   10 +-
 Settings/IStation.Settings/models/monitor/Paras_Monitor.cs                                         |    3 
 Model/IStation.Model.Monitor/Control/MonitorTestControlParas_Enum.cs                               |   50 ++++++++++
 Settings/IStation.Settings/models/operating/Paras_Operating.cs                                     |   20 ++++
 Application/IStation.Application.Monitor/monitor_control/dto/NTStopInput.cs                        |   22 ++++
 Settings/IStation.Settings/paras_settings.json                                                     |    8 +
 Settings/IStation.Settings/models/operating/Paras_Operating_NT.cs                                  |   20 ++++
 Model/IStation.Model.Monitor/Control/MonitorTestControlParas_Model.cs                              |   54 ++++++++++
 Application/IStation.Application.Monitor/monitor_control/MonitorControlNTConfigure_Controller.cs   |   29 +++--
 Settings/IStation.Settings/models/Paras.cs                                                         |    8 +
 Application/IStation.Application.Eta/IStation.Application.Eta.csproj                               |    1 
 Settings/IStation.Settings/paras/Settings.cs                                                       |   13 ++
 Application/IStation.Application.Monitor/monitor_control/dto/NTStartInput.cs                       |   40 ++++++++
 15 files changed, 264 insertions(+), 26 deletions(-)

diff --git a/Application/IStation.Application.Eta/IStation.Application.Eta.csproj b/Application/IStation.Application.Eta/IStation.Application.Eta.csproj
index 6d7d6df..b1924f7 100644
--- a/Application/IStation.Application.Eta/IStation.Application.Eta.csproj
+++ b/Application/IStation.Application.Eta/IStation.Application.Eta.csproj
@@ -23,6 +23,7 @@
     <ProjectReference Include="..\..\Service\IStation.Service.Main\IStation.Service.Main.csproj" />
     <ProjectReference Include="..\..\Service\IStation.Service.Product\IStation.Service.Product.csproj" />
     <ProjectReference Include="..\IStation.Application.Core\IStation.Application.Core.csproj" />
+    <ProjectReference Include="..\IStation.Application.Epanet\IStation.Application.Epanet.csproj" />
   </ItemGroup>
 
 </Project>
diff --git a/Application/IStation.Application.Monitor/monitor_control/MonitorControlNTConfigure_Controller.cs b/Application/IStation.Application.Monitor/monitor_control/MonitorControlNTConfigure_Controller.cs
index 5654864..6a14b43 100644
--- a/Application/IStation.Application.Monitor/monitor_control/MonitorControlNTConfigure_Controller.cs
+++ b/Application/IStation.Application.Monitor/monitor_control/MonitorControlNTConfigure_Controller.cs
@@ -7,7 +7,7 @@
 using Furion.DynamicApiController;
 using System.ComponentModel.DataAnnotations;
 using Mapster;
-
+using Furion.FriendlyException;
 
 namespace IStation.Application
 {
@@ -18,17 +18,22 @@
     [ApiDescriptionSettings("Monitor", Name = "鐩戞祴鍗楅�氭帶鍒�", Order = 400)]
     public class MonitorControlNT_Controller : IDynamicApiController 
     {
-
         /// <summary>
         /// 娴嬭瘯鍚姩
         /// </summary>
         [Route("TestStart@V1.0")]
         [HttpPost]
-        public string TestStart()
+        public string TestStart([Required] NTStartInput input)
         {
+            if (input.Password != Settings.Operating.NT.Password)
+            {
+                throw Oops.Oh("瀵嗙爜閿欒!");
+            } 
+            var context = new Model.MonitorTestControlParas.StartContext(input.HZ, input.OperatingMode, input.OperatingValue);
+
             var paras = new Model.MonitorTestControlParas();
-            paras.Type = 1;
-            paras.Paras = string.Empty;
+            paras.ControlType = Model.MonitorTestControlParas.eControlType.Start;
+            paras.Context = context.ToJson();
 
             var runQueue = new RabbitMqExChangeHelper();
             runQueue.Push("NTTEST", paras);
@@ -40,17 +45,19 @@
         /// </summary>
         [Route("TestStop@V1.0")]
         [HttpPost]
-        public string TestStop()
+        public string TestStop([Required] NTStopInput input)
         {
             var paras = new Model.MonitorTestControlParas();
-            paras.Type = 0;
-            paras.Paras = string.Empty;
+            paras.ControlType = Model.MonitorTestControlParas.eControlType.Stop;
+            paras.Context = string.Empty;
 
             var runQueue = new RabbitMqExChangeHelper();
             runQueue.Push("NTTEST", paras);
             return "OK";
         }
 
+
+/*
         /// <summary>
         /// 娴嬭瘯鍙橀
         /// </summary>
@@ -59,14 +66,14 @@
         public string TestChange(NTTestChangeInput input)
         {
             var paras = new Model.MonitorTestControlParas();
-            paras.Type = -1;
-            paras.Paras = input.HZ.ToString();
+            paras.ControlType = -1;
+            paras.Context = input.HZ.ToString();
 
             var runQueue = new RabbitMqExChangeHelper();
             runQueue.Push("NTTEST", paras);
             return "OK";
         }
-
+*/
 
 
 
diff --git a/Application/IStation.Application.Monitor/monitor_control/dto/NTStartInput.cs b/Application/IStation.Application.Monitor/monitor_control/dto/NTStartInput.cs
new file mode 100644
index 0000000..8f532b7
--- /dev/null
+++ b/Application/IStation.Application.Monitor/monitor_control/dto/NTStartInput.cs
@@ -0,0 +1,40 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using IStation.Model.Control;
+
+namespace IStation.Application
+{
+    /// <summary>
+    /// 鍗楅�氭车鍚姩鍏ュ弬
+    /// </summary>
+    public class NTStartInput
+    {
+        /// <summary>
+        /// 瀵嗙爜
+        /// </summary>
+        [Required]
+        public string Password { get;set; }
+
+        /// <summary>
+        /// 棰戠巼
+        /// </summary> 
+        [Required, Range(0, 50, ErrorMessage = "棰戠巼蹇呴』鍦ㄥ悎鐞嗚寖鍥村唴(0-50)")]
+        public double HZ { get; set; }
+
+        /// <summary>
+        /// 娉佃嚜鍔ㄨ繍琛屾ā寮�
+        /// </summary>
+        [Required]
+        public Model.MonitorTestControlParas.eOperatingMode OperatingMode { get; set; }
+
+        /// <summary>
+        /// 娉佃嚜鍔ㄨ繍琛屽��
+        /// </summary>
+        [Required]
+        public double OperatingValue { get; set; }
+    }
+}
diff --git a/Application/IStation.Application.Monitor/monitor_control/dto/NTStopInput.cs b/Application/IStation.Application.Monitor/monitor_control/dto/NTStopInput.cs
new file mode 100644
index 0000000..df81087
--- /dev/null
+++ b/Application/IStation.Application.Monitor/monitor_control/dto/NTStopInput.cs
@@ -0,0 +1,22 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace IStation.Application
+{
+    /// <summary>
+    /// 鍗楅�氭车鍏抽棴鍏ュ弬
+    /// </summary>
+    public class NTStopInput
+    {
+        /// <summary>
+        /// 瀵嗙爜
+        /// </summary>
+        [Required]
+        public string Password { get;set; }
+  
+    }
+}
diff --git a/Model/IStation.Model.Monitor/Control/MonitorTestControlParas_Enum.cs b/Model/IStation.Model.Monitor/Control/MonitorTestControlParas_Enum.cs
new file mode 100644
index 0000000..2105521
--- /dev/null
+++ b/Model/IStation.Model.Monitor/Control/MonitorTestControlParas_Enum.cs
@@ -0,0 +1,50 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace IStation.Model
+{
+
+    /// <summary>
+    /// 鐩戞祴娴嬭瘯鎺у埗鍙傛暟
+    /// </summary>
+    public partial class MonitorTestControlParas
+    {
+        /// <summary>
+        /// 鎺у埗绫诲瀷 
+        /// </summary>
+        public enum eControlType
+        {
+            /// <summary>
+            /// 鍋滄
+            /// </summary>
+            Stop = 0,
+
+            /// <summary>
+            /// 鍚姩
+            /// </summary>
+            Start = 1,
+        }
+
+        /// <summary>
+        /// 娉佃嚜鍔ㄨ繍琛屾ā寮�
+        /// </summary>
+        public enum eOperatingMode
+        {
+            /// <summary>
+            /// 瀹氭椂
+            /// </summary>
+            Timing = 1,
+
+            /// <summary>
+            /// 瀹氭祦閲�
+            /// </summary>
+            ConstantFlow = 2,
+        }
+
+    }
+
+
+}
diff --git a/Model/IStation.Model.Monitor/Control/MonitorTestControlParas_Model.cs b/Model/IStation.Model.Monitor/Control/MonitorTestControlParas_Model.cs
new file mode 100644
index 0000000..b963d93
--- /dev/null
+++ b/Model/IStation.Model.Monitor/Control/MonitorTestControlParas_Model.cs
@@ -0,0 +1,54 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace IStation.Model
+{
+    /// <summary>
+    ///  
+    /// </summary>
+    public partial class MonitorTestControlParas
+    {
+        /// <summary>
+        /// 寮�鏈哄弬鏁�
+        /// </summary>
+        public class StartContext : JsonList<StartContext>
+        { 
+            /// <summary>
+            /// 
+            /// </summary>
+            public StartContext() { }
+
+
+            /// <summary>
+            /// 
+            /// </summary>
+            public StartContext(double hz, eOperatingMode operatingMode, double operatingValue)
+            {
+                this.HZ = hz;
+                this.OperatingMode = operatingMode;
+                this.OperatingValue = operatingValue;
+            }
+
+            /// <summary>
+            /// 棰戠巼
+            /// </summary>  
+            public double HZ { get; set; }
+
+            /// <summary>
+            /// 杩愯妯″紡
+            /// </summary> 
+            public eOperatingMode OperatingMode { get; set; }
+
+            /// <summary>
+            /// 杩愯鍊�
+            /// </summary> 
+            public double OperatingValue { get; set; }
+        }
+
+
+    }
+}
diff --git a/Model/IStation.Model.Monitor/control/MonitorTestControlParas.cs b/Model/IStation.Model.Monitor/control/MonitorTestControlParas.cs
index 972b6ee..03ceafe 100644
--- a/Model/IStation.Model.Monitor/control/MonitorTestControlParas.cs
+++ b/Model/IStation.Model.Monitor/control/MonitorTestControlParas.cs
@@ -9,17 +9,17 @@
     /// <summary>
     /// 鐩戞祴娴嬭瘯鎺у埗鍙傛暟
     /// </summary>
-    public class MonitorTestControlParas 
+    public partial class MonitorTestControlParas
     {
         /// <summary>
-        /// 0浠h〃鍏虫満 1浠h〃寮�鏈� -1浠h〃鍙橀
+        /// 鎺у埗绫诲瀷
         /// </summary>
-        public int Type { get; set; }
+        public eControlType ControlType { get; set; }
 
         /// <summary>
-        /// 鍙傛暟
+        /// 瀵规帴涓婁笅鏂�
         /// </summary>
-        public string Paras { get; set; }
+        public string Context { get; set; }
 
     }
 }
diff --git a/Settings/IStation.Settings/models/Paras.cs b/Settings/IStation.Settings/models/Paras.cs
index 532459e..1ac24ca 100644
--- a/Settings/IStation.Settings/models/Paras.cs
+++ b/Settings/IStation.Settings/models/Paras.cs
@@ -1,4 +1,5 @@
-锘縰sing System;
+锘縰sing IStation.models.operating;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
@@ -160,6 +161,11 @@
         public Paras_LinuxTest LinuxTest { get; set; }
 
         /// <summary>
+        /// Operating鍙傛暟
+        /// </summary>
+        public Paras_Operating Operating { get; set; }
+
+        /// <summary>
         /// DataFile鍙傛暟
         /// </summary>
         public Paras_DataFile DataFile { get; set; }
diff --git a/Settings/IStation.Settings/models/monitor/Paras_Monitor.cs b/Settings/IStation.Settings/models/monitor/Paras_Monitor.cs
index 541ed3c..6a6b97d 100644
--- a/Settings/IStation.Settings/models/monitor/Paras_Monitor.cs
+++ b/Settings/IStation.Settings/models/monitor/Paras_Monitor.cs
@@ -20,7 +20,6 @@
         /// 鏍囧織
         /// </summary>
         public string Flag { get; set; }
-
-
+        
     }
 }
diff --git a/Settings/IStation.Settings/models/operating/Paras_Operating.cs b/Settings/IStation.Settings/models/operating/Paras_Operating.cs
new file mode 100644
index 0000000..9ce514a
--- /dev/null
+++ b/Settings/IStation.Settings/models/operating/Paras_Operating.cs
@@ -0,0 +1,20 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace IStation.models.operating
+{
+    /// <summary>
+    /// Operating 鍙傛暟
+    /// </summary>
+    public class Paras_Operating
+    {
+        /// <summary>
+        /// 鍗楅��
+        /// </summary>
+        public Paras_Operating_NT NT { get; set; } 
+
+    }
+}
diff --git a/Settings/IStation.Settings/models/operating/Paras_Operating_NT.cs b/Settings/IStation.Settings/models/operating/Paras_Operating_NT.cs
new file mode 100644
index 0000000..9ad1f44
--- /dev/null
+++ b/Settings/IStation.Settings/models/operating/Paras_Operating_NT.cs
@@ -0,0 +1,20 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace IStation
+{
+    /// <summary>
+    /// Operating 鍙傛暟 鍗楅��
+    /// </summary>
+    public class Paras_Operating_NT
+    {
+        /// <summary>
+        ///  瀵嗙爜
+        /// </summary>
+        public string Password { get; set; }
+    }
+
+}
diff --git a/Settings/IStation.Settings/paras/Settings.cs b/Settings/IStation.Settings/paras/Settings.cs
index cd23b01..70ece8b 100644
--- a/Settings/IStation.Settings/paras/Settings.cs
+++ b/Settings/IStation.Settings/paras/Settings.cs
@@ -1,4 +1,5 @@
-锘縰sing System;
+锘縰sing IStation.models.operating;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
@@ -252,6 +253,14 @@
             get { return SettingsHelper.Get().LinuxTest; }
         }
 
+        /// <summary>
+        /// Operating 鍙傛暟
+        /// </summary>
+        public static Paras_Operating Operating
+        {
+            get { return SettingsHelper.Get().Operating; }
+        }
+        
 
         /// <summary>
         /// DataFile 鍙傛暟
@@ -262,6 +271,8 @@
         }
          
 
+
+
         /// <summary>
         /// 淇濆瓨
         /// </summary>
diff --git a/Settings/IStation.Settings/paras_settings.json b/Settings/IStation.Settings/paras_settings.json
index 95589bb..eed2fde 100644
--- a/Settings/IStation.Settings/paras_settings.json
+++ b/Settings/IStation.Settings/paras_settings.json
@@ -271,10 +271,18 @@
     }
 
   },
+  
+  "Operating": { 
+    "NT": {
+      "Password": "666666", 
+    }
+  },
 
    "DataFile": { 
       "SaveFileUrl": "http://101.133.133.173:9019/",
 	  "PdfFolder":"Report" 
    }
+   
+
 
 }
diff --git a/Socket/IStation.DataDockingSocket4NT/control/SendControlJobHelper.cs b/Socket/IStation.DataDockingSocket4NT/control/SendControlJobHelper.cs
index ac9ab85..931ab34 100644
--- a/Socket/IStation.DataDockingSocket4NT/control/SendControlJobHelper.cs
+++ b/Socket/IStation.DataDockingSocket4NT/control/SendControlJobHelper.cs
@@ -49,7 +49,7 @@
                             return true;
                         }
                         byte[] bts = null;
-                        switch (paras.Type)
+                        switch (paras.ControlType)
                         {
                             case 0: 
                                 bts = MsgDataHelper.GetControlMsg鍏虫満(); 
@@ -61,19 +61,19 @@
                                 break;//浠庤緟鍔╃被涓幏鍙� 寮�鍚�
                             case -1:
                                 {
-                                    if (string.IsNullOrEmpty(paras.Paras))
+                                    if (string.IsNullOrEmpty(paras.Context))
                                     {
                                         NtLogHelper.Error($"[璋冮]鍙傛暟: null");
                                         return false;
                                     }
-                                    if (!double.TryParse(paras.Paras, out double value))
+                                    if (!double.TryParse(paras.Context, out double value))
                                     {
-                                        NtLogHelper.Error($"[璋冮]鍙傛暟寮傚父:{paras.Paras}");
+                                        NtLogHelper.Error($"[璋冮]鍙傛暟寮傚父:{paras.Context}");
                                         return false;
                                     }
                                    
                                      bts = MsgDataHelper.GetControlMsg璋冮(value);
-                                     NtLogHelper.Info($"[璋冮]鍙傛暟:{paras.Paras}"); 
+                                     NtLogHelper.Info($"[璋冮]鍙傛暟:{paras.Context}"); 
                                 }
                                 break;//浠庤緟鍔╃被涓幏鍙� 鍙橀
                             default:
diff --git a/TopShelf/IStation.TopShelf.DataDocking4Socket/Properties/PublishProfiles/FolderProfile.pubxml.user b/TopShelf/IStation.TopShelf.DataDocking4Socket/Properties/PublishProfiles/FolderProfile.pubxml.user
index 0e9b74e..43bb2de 100644
--- a/TopShelf/IStation.TopShelf.DataDocking4Socket/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/TopShelf/IStation.TopShelf.DataDocking4Socket/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -4,7 +4,7 @@
 -->
 <Project>
   <PropertyGroup>
-    <History>True|2022-10-26T02:50:57.8305616Z;True|2022-10-26T10:41:24.0512951+08:00;True|2022-10-26T10:36:18.9669938+08:00;True|2022-10-26T10:23:42.5700603+08:00;True|2022-10-26T09:49:18.1242267+08:00;True|2022-10-24T17:44:25.5039390+08:00;True|2022-07-02T00:06:16.6338790+08:00;True|2022-07-02T00:02:49.1000053+08:00;True|2022-07-01T23:23:53.1924783+08:00;True|2022-07-01T14:02:38.1190102+08:00;True|2022-07-01T13:55:33.4591108+08:00;</History>
+    <History>True|2022-10-26T06:21:13.7358061Z;True|2022-10-26T13:58:17.8518712+08:00;True|2022-10-26T10:50:57.8305616+08:00;True|2022-10-26T10:41:24.0512951+08:00;True|2022-10-26T10:36:18.9669938+08:00;True|2022-10-26T10:23:42.5700603+08:00;True|2022-10-26T09:49:18.1242267+08:00;True|2022-10-24T17:44:25.5039390+08:00;True|2022-07-02T00:06:16.6338790+08:00;True|2022-07-02T00:02:49.1000053+08:00;True|2022-07-01T23:23:53.1924783+08:00;True|2022-07-01T14:02:38.1190102+08:00;True|2022-07-01T13:55:33.4591108+08:00;</History>
     <LastFailureDetails />
   </PropertyGroup>
 </Project>
\ No newline at end of file

--
Gitblit v1.9.3