From 185b197be2d94a6abe25cf27cfebb9781d51afed Mon Sep 17 00:00:00 2001 From: XingCheng3 <1773407212@qq.com> Date: Wed, 13 May 2026 01:25:44 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=80=E5=8C=96=E6=97=A0=E7=94=A8=E5=8F=82?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SCADA/App.config | 34 +- SCADA/Core/AppConfig.cs | 4 - SCADA/Funtion/B_DB_Opera.cs | 82 ---- SCADA/WebApi/HttpCli.cs | 723 ++++++++++++++++++------------------ 4 files changed, 377 insertions(+), 466 deletions(-) diff --git a/SCADA/App.config b/SCADA/App.config index eb058e4..7514c2f 100644 --- a/SCADA/App.config +++ b/SCADA/App.config @@ -7,30 +7,22 @@ - - - - - - - + + + + + + + - - - - - - - - - - - - - - + + + + + + diff --git a/SCADA/Core/AppConfig.cs b/SCADA/Core/AppConfig.cs index d28eb1d..594b50c 100644 --- a/SCADA/Core/AppConfig.cs +++ b/SCADA/Core/AppConfig.cs @@ -41,12 +41,8 @@ namespace MesWork public static int IsWriteLog4 = Convert.ToInt32(AppSettings["IsWriteLog4"]); public static string ConnectionString = AppSettings["ConnectionString"]; - public static string AuthorizationSet = AppSettings["AuthorizationSet"]; - public static int WebApi_Port = Convert.ToInt32(AppSettings["WebApi_Port"]); - public static string WebApi_ReqUrl = AppSettings["WebApi_ReqUrl"]; - /// /// 当前工位号 /// diff --git a/SCADA/Funtion/B_DB_Opera.cs b/SCADA/Funtion/B_DB_Opera.cs index 077dd70..22e6cf0 100644 --- a/SCADA/Funtion/B_DB_Opera.cs +++ b/SCADA/Funtion/B_DB_Opera.cs @@ -15,42 +15,6 @@ namespace MesWork public class B_DB_Opera { - public static void Event_WorkStart(string opName, int tagTypeCodeID, string partType, string tagID) - { - var ChangeTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); - var procedureName = "Event_WorkStart"; - var sqlParameter = new SqlParameter[] { - new SqlParameter("@OpName", opName), - new SqlParameter("@TagTypeCodeID", tagTypeCodeID), - new SqlParameter("@PartType", partType), - new SqlParameter("@ChangeTime",ChangeTime), - new SqlParameter("@TagID", tagID) - }; - SqlOperation.ExecuteStoredProcedure(procedureName, sqlParameter, out string errorMessage); - - } - - public static void Event_WorkEnd(string opName, int tagTypeCodeID, string partType - , string barCode, int qualityMask, int outCount, int duration - , string tagID) - { - var ChangeTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); - var procedureName = "Event_WorkEnd"; - var sqlParameter = new SqlParameter[] { - new SqlParameter("@OpName", opName), - new SqlParameter("@TagTypeCodeID", tagTypeCodeID), - new SqlParameter("@PartType", partType), - new SqlParameter("@BarCode", barCode), - new SqlParameter("@QualityMask", qualityMask), - new SqlParameter("@OutCount", outCount), - new SqlParameter("@Duration", duration), - new SqlParameter("@ChangeTime",ChangeTime), - new SqlParameter("@TagID", tagID) - }; - - SqlOperation.ExecuteStoredProcedure(procedureName, sqlParameter, out string errorMessage); - } - public static void Event_Signal_Log(string opName, int tagTypeCodeID, string signalName, string value) { @@ -101,36 +65,6 @@ namespace MesWork } - public static void Event_AlarmAndTip_Start(string opName, int tagTypeCodeID, string alarmText, string tagID, int Alarm1_Tip2) - { - var ChangeTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); - var procedureName = "Event_AlarmAndTip_Start"; - var sqlParameter = new SqlParameter[] { - new SqlParameter("@OpName", opName), - new SqlParameter("@TagTypeCodeID", tagTypeCodeID), - new SqlParameter("@AlarmText", alarmText), - new SqlParameter("@ChangeTime",ChangeTime), - new SqlParameter("@TagID", tagID), - new SqlParameter("@Alarm1_Tip2", Alarm1_Tip2), - }; - SqlOperation.ExecuteStoredProcedure(procedureName, sqlParameter, out string errorMessage); - - } - - public static void MES_StatusChange(string opName, int StatusCode, string TriggerTime) - { - var procedureName = "设备管理_状态变化新增"; - var sqlParameter = new SqlParameter[] { - new SqlParameter("@opName", opName), - new SqlParameter("@StatusCode", StatusCode), - new SqlParameter("@TriggerTime", TriggerTime), - }; - - SqlOperation.ExecuteStoredProcedure(procedureName, sqlParameter, out string errorMessage); - } - - - public static void Query_AlarmData(string opName, out int count, out string text) { count = 0; @@ -151,22 +85,6 @@ namespace MesWork } - public static void Event_DeviceStatus_UseTime(string opName, string Onhours, string Workhours, string DeviceStatus) - { - var ChangeTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); - var procedureName = "Event_DeviceStatus_UseTime"; - var sqlParameter = new SqlParameter[] { - new SqlParameter("@OpName", opName), - new SqlParameter("@Onhours", Onhours), - new SqlParameter("@Workhours", Workhours), - new SqlParameter("@DeviceStatus", DeviceStatus), - new SqlParameter("@ChangeTime",ChangeTime), - }; - - SqlOperation.ExecuteStoredProcedure(procedureName, sqlParameter, out string errorMessage); - - } - public static void Event_DeviceStatus_Change(string opName, string DeviceStatus) { var ChangeTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); diff --git a/SCADA/WebApi/HttpCli.cs b/SCADA/WebApi/HttpCli.cs index cb7d4bc..f3d8c17 100644 --- a/SCADA/WebApi/HttpCli.cs +++ b/SCADA/WebApi/HttpCli.cs @@ -1,362 +1,367 @@ -using MesWork; -using System; -using System.Collections.Generic; +using MesWork; +using System; +using System.Collections.Generic; +using System.Configuration; using System.IO; -using System.Linq; -using System.Net; -using System.Text; -using System.Threading.Tasks; - -namespace PLMTEST -{ - public class HttpCli - { - - - /// - /// 指定Url地址使用Get 方式获取全部字符串 - /// - /// 请求链接地址 - /// - public static string Get(string url) - { - string result = ""; - HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); - HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); - Stream stream = resp.GetResponseStream(); - try - { - //获取内容 - using (StreamReader reader = new StreamReader(stream)) +using System.Linq; +using System.Net; +using System.Text; +using System.Threading.Tasks; + +namespace PLMTEST +{ + public class HttpCli + { + + + /// + /// 指定Url地址使用Get 方式获取全部字符串 + /// + /// 请求链接地址 + /// + public static string Get(string url) + { + string result = ""; + HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); + HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); + Stream stream = resp.GetResponseStream(); + try + { + //获取内容 + using (StreamReader reader = new StreamReader(stream)) + { + result = reader.ReadToEnd(); + } + } + finally + { + stream.Close(); + } + return result; + } + + public static void GetFile(string url,string path) + { + WebRequest request = WebRequest.Create(url); + WebResponse response = request.GetResponse(); + if (response.ContentType.ToLower().Length > 0) + { + using (Stream reader = response.GetResponseStream()) + { + using (FileStream writer = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write)) + { + byte[] buffer = new byte[1024]; + int c = 0; + while ((c = reader.Read(buffer, 0, buffer.Length)) > 0) + { + writer.Write(buffer, 0, c); + } + } + } + //HttpContext + } + } + + public static byte[] GetFile_Bytes(string url) + { + byte[] bytesAll = null; + WebRequest request = WebRequest.Create(url); + WebResponse response = request.GetResponse(); + if (response.ContentType.ToLower().Length > 0) + { + using (Stream reader = response.GetResponseStream()) + { + MemoryStream ms = new MemoryStream(); + byte[] buffer = new byte[1024]; + while (true) + { + int sz = reader.Read(buffer, 0, 1024); + if (sz == 0) break; + ms.Write(buffer, 0, sz); + } + bytesAll = ms.ToArray(); + } + } + + //如是图片 + //System.Drawing.Image img = System.Drawing.Image.FromStream(ms); + + return bytesAll; + + } + + + + + + + + + + /// + /// 发送Get请求 + /// + /// 地址 + /// 请求参数定义 + /// + public static string Get(string url, Dictionary dic) + { + string result = ""; + StringBuilder builder = new StringBuilder(); + builder.Append(url); + if (dic.Count > 0) + { + builder.Append("?"); + int i = 0; + foreach (var item in dic) + { + if (i > 0) + builder.Append("&"); + builder.AppendFormat("{0}={1}", item.Key, item.Value); + i++; + } + } + HttpWebRequest req = (HttpWebRequest)WebRequest.Create(builder.ToString()); + //添加参数 + HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); + Stream stream = resp.GetResponseStream(); + try + { + //获取内容 + using (StreamReader reader = new StreamReader(stream)) + { + result = reader.ReadToEnd(); + } + } + finally + { + stream.Close(); + } + return result; + } + + + + /// + /// 指定Post地址使用Get 方式获取全部字符串 + /// + /// 请求后台地址 + /// + public static string Post(string url) + { + string result = ""; + HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); + req.Method = "POST"; + HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); + Stream stream = resp.GetResponseStream(); + //获取内容 + using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) + { + result = reader.ReadToEnd(); + } + return result; + } + + + + /// + /// 指定Post地址使用Get 方式获取全部字符串 + /// + /// 请求后台地址 + /// + public static string Post(string url, Dictionary dic) + { + string result = ""; + HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); + req.Method = "POST"; + req.ContentType = "application/x-www-form-urlencoded"; + #region 添加Post 参数 + StringBuilder builder = new StringBuilder(); + int i = 0; + foreach (var item in dic) + { + if (i > 0) + builder.Append("&"); + builder.AppendFormat("{0}={1}", item.Key, item.Value); + i++; + } + byte[] data = Encoding.UTF8.GetBytes(builder.ToString()); + req.ContentLength = data.Length; + using (Stream reqStream = req.GetRequestStream()) + { + reqStream.Write(data, 0, data.Length); + reqStream.Close(); + } + #endregion + HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); + Stream stream = resp.GetResponseStream(); + //获取响应内容 + using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) + { + result = reader.ReadToEnd(); + } + return result; + } + + + /// + /// 指定Post地址使用Get 方式获取全部字符串 + /// + /// 请求后台地址 + /// Post提交数据内容(utf-8编码的) + /// + public static string Post_Authorization(string url, string content,out string error ) + { + string result = ""; + error = ""; + try + { + HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); + req.Timeout = 30000; + req.Method = "POST"; + req.ContentType = "application/json"; + + // 添加自定义 Header + string authorization = ConfigurationManager.AppSettings["AuthorizationSet"]; + if (!string.IsNullOrWhiteSpace(authorization)) { - result = reader.ReadToEnd(); + req.Headers.Add("Authorization", authorization); } - } - finally - { - stream.Close(); - } - return result; - } - - public static void GetFile(string url,string path) - { - WebRequest request = WebRequest.Create(url); - WebResponse response = request.GetResponse(); - if (response.ContentType.ToLower().Length > 0) - { - using (Stream reader = response.GetResponseStream()) - { - using (FileStream writer = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write)) - { - byte[] buffer = new byte[1024]; - int c = 0; - while ((c = reader.Read(buffer, 0, buffer.Length)) > 0) - { - writer.Write(buffer, 0, c); - } - } - } - //HttpContext - } - } - - public static byte[] GetFile_Bytes(string url) - { - byte[] bytesAll = null; - WebRequest request = WebRequest.Create(url); - WebResponse response = request.GetResponse(); - if (response.ContentType.ToLower().Length > 0) - { - using (Stream reader = response.GetResponseStream()) - { - MemoryStream ms = new MemoryStream(); - byte[] buffer = new byte[1024]; - while (true) - { - int sz = reader.Read(buffer, 0, 1024); - if (sz == 0) break; - ms.Write(buffer, 0, sz); - } - bytesAll = ms.ToArray(); - } - } - - //如是图片 - //System.Drawing.Image img = System.Drawing.Image.FromStream(ms); - - return bytesAll; - - } - - - - - - - - - - /// - /// 发送Get请求 - /// - /// 地址 - /// 请求参数定义 - /// - public static string Get(string url, Dictionary dic) - { - string result = ""; - StringBuilder builder = new StringBuilder(); - builder.Append(url); - if (dic.Count > 0) - { - builder.Append("?"); - int i = 0; - foreach (var item in dic) - { - if (i > 0) - builder.Append("&"); - builder.AppendFormat("{0}={1}", item.Key, item.Value); - i++; - } - } - HttpWebRequest req = (HttpWebRequest)WebRequest.Create(builder.ToString()); - //添加参数 - HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); - Stream stream = resp.GetResponseStream(); - try - { - //获取内容 - using (StreamReader reader = new StreamReader(stream)) - { - result = reader.ReadToEnd(); - } - } - finally - { - stream.Close(); - } - return result; - } - - - - /// - /// 指定Post地址使用Get 方式获取全部字符串 - /// - /// 请求后台地址 - /// - public static string Post(string url) - { - string result = ""; - HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); - req.Method = "POST"; - HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); - Stream stream = resp.GetResponseStream(); - //获取内容 - using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) - { - result = reader.ReadToEnd(); - } - return result; - } - - - - /// - /// 指定Post地址使用Get 方式获取全部字符串 - /// - /// 请求后台地址 - /// - public static string Post(string url, Dictionary dic) - { - string result = ""; - HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); - req.Method = "POST"; - req.ContentType = "application/x-www-form-urlencoded"; - #region 添加Post 参数 - StringBuilder builder = new StringBuilder(); - int i = 0; - foreach (var item in dic) - { - if (i > 0) - builder.Append("&"); - builder.AppendFormat("{0}={1}", item.Key, item.Value); - i++; - } - byte[] data = Encoding.UTF8.GetBytes(builder.ToString()); - req.ContentLength = data.Length; - using (Stream reqStream = req.GetRequestStream()) - { - reqStream.Write(data, 0, data.Length); - reqStream.Close(); - } - #endregion - HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); - Stream stream = resp.GetResponseStream(); - //获取响应内容 - using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) - { - result = reader.ReadToEnd(); - } - return result; - } - - - /// - /// 指定Post地址使用Get 方式获取全部字符串 - /// - /// 请求后台地址 - /// Post提交数据内容(utf-8编码的) - /// - public static string Post_Authorization(string url, string content,out string error ) - { - string result = ""; - error = ""; - try - { - HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); - req.Timeout = 30000; - req.Method = "POST"; - req.ContentType = "application/json"; - - // 添加自定义 Header - req.Headers.Add("Authorization", MesWorkForm.AuthorizationSet); - req.Headers.Add("uuid", Guid.NewGuid().ToString().ToUpper()); - - #region 添加Post 参数 - byte[] data = Encoding.UTF8.GetBytes(content); - req.ContentLength = data.Length; - using (Stream reqStream = req.GetRequestStream()) - { - reqStream.Write(data, 0, data.Length); - reqStream.Close(); - } - #endregion - - HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); - Stream stream = resp.GetResponseStream(); - //获取响应内容 - using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) - { - result = reader.ReadToEnd(); - } - } - catch (Exception err) - { - error = $"WebApi Post请求调用错误:{err.Message}"; - } - - return result; - } - public static string Post(string url, string content, out string error) - { - string result = ""; - error = ""; - try - { - HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); - req.Timeout = 30000; - req.Method = "POST"; - req.ContentType = "application/json"; - - #region 添加Post 参数 - byte[] data = Encoding.UTF8.GetBytes(content); - req.ContentLength = data.Length; - using (Stream reqStream = req.GetRequestStream()) - { - reqStream.Write(data, 0, data.Length); - reqStream.Close(); - } - #endregion - - HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); - Stream stream = resp.GetResponseStream(); - //获取响应内容 - using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) - { - result = reader.ReadToEnd(); - } - } - catch (Exception err) - { - error = $"WebApi Post请求调用错误:{err.Message}"; - } - - return result; - } - - - - - /// - /// Http下载文件 - /// - /// 下载地址 - /// 存放完整路径(含文件名) - /// 每次多的大小 - /// 下载操作是否成功 - - public static bool DownLoadFiles(string uri, string filefullpath, int size = 1000000) - { - try - { - if (File.Exists(filefullpath)) - { - try - { - File.Delete(filefullpath); - } - catch (Exception ex) - { - return false; - } - } - - string fileDirectory = System.IO.Path.GetDirectoryName(filefullpath); - - if (!Directory.Exists(fileDirectory)) - { - Directory.CreateDirectory(fileDirectory); - } - - FileStream fs = new FileStream(filefullpath, FileMode.Create); - - byte[] buffer = new byte[size]; - - HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri); - - request.Timeout = 100000; - - request.AddRange((int)fs.Length); - - Stream ns = request.GetResponse().GetResponseStream(); - - long contentLength = request.GetResponse().ContentLength; - - int length = ns.Read(buffer, 0, buffer.Length); - - while (length > 0) - { - fs.Write(buffer,0 , length); - buffer = new byte[size]; - length = ns.Read(buffer, 0, buffer.Length); - } - - fs.Close(); - - return true; - } - catch (Exception ex) - { - return false; - } - - } - - - - - - } -} + req.Headers.Add("uuid", Guid.NewGuid().ToString().ToUpper()); + + #region 添加Post 参数 + byte[] data = Encoding.UTF8.GetBytes(content); + req.ContentLength = data.Length; + using (Stream reqStream = req.GetRequestStream()) + { + reqStream.Write(data, 0, data.Length); + reqStream.Close(); + } + #endregion + + HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); + Stream stream = resp.GetResponseStream(); + //获取响应内容 + using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) + { + result = reader.ReadToEnd(); + } + } + catch (Exception err) + { + error = $"WebApi Post请求调用错误:{err.Message}"; + } + + return result; + } + public static string Post(string url, string content, out string error) + { + string result = ""; + error = ""; + try + { + HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); + req.Timeout = 30000; + req.Method = "POST"; + req.ContentType = "application/json"; + + #region 添加Post 参数 + byte[] data = Encoding.UTF8.GetBytes(content); + req.ContentLength = data.Length; + using (Stream reqStream = req.GetRequestStream()) + { + reqStream.Write(data, 0, data.Length); + reqStream.Close(); + } + #endregion + + HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); + Stream stream = resp.GetResponseStream(); + //获取响应内容 + using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) + { + result = reader.ReadToEnd(); + } + } + catch (Exception err) + { + error = $"WebApi Post请求调用错误:{err.Message}"; + } + + return result; + } + + + + + /// + /// Http下载文件 + /// + /// 下载地址 + /// 存放完整路径(含文件名) + /// 每次多的大小 + /// 下载操作是否成功 + + public static bool DownLoadFiles(string uri, string filefullpath, int size = 1000000) + { + try + { + if (File.Exists(filefullpath)) + { + try + { + File.Delete(filefullpath); + } + catch (Exception ex) + { + return false; + } + } + + string fileDirectory = System.IO.Path.GetDirectoryName(filefullpath); + + if (!Directory.Exists(fileDirectory)) + { + Directory.CreateDirectory(fileDirectory); + } + + FileStream fs = new FileStream(filefullpath, FileMode.Create); + + byte[] buffer = new byte[size]; + + HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri); + + request.Timeout = 100000; + + request.AddRange((int)fs.Length); + + Stream ns = request.GetResponse().GetResponseStream(); + + long contentLength = request.GetResponse().ContentLength; + + int length = ns.Read(buffer, 0, buffer.Length); + + while (length > 0) + { + fs.Write(buffer,0 , length); + buffer = new byte[size]; + length = ns.Read(buffer, 0, buffer.Length); + } + + fs.Close(); + + return true; + } + catch (Exception ex) + { + return false; + } + + } + + + + + + } +}