From 9d1660270272180cd71147d6ddd53d1382643d2e Mon Sep 17 00:00:00 2001
From: wenxiangchao <wenxiangchao@ihengxin.com.cn>
Date: 星期一, 02 十一月 2026 18:00:14 +0800
Subject: [PATCH] merge: 并入远程 Initial commit 作为历史根节点
---
Plugin.BurnIn/Util/PNUtil.cs | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 106 insertions(+), 0 deletions(-)
diff --git a/Plugin.BurnIn/Util/PNUtil.cs b/Plugin.BurnIn/Util/PNUtil.cs
new file mode 100644
index 0000000..955f732
--- /dev/null
+++ b/Plugin.BurnIn/Util/PNUtil.cs
@@ -0,0 +1,106 @@
+锘縰sing HMI.Core.Util;
+using log4net;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System.Net.Http;
+using System.Text;
+
+namespace Plugin.BurnIn.Util
+{
+ public class HttpResult
+ {
+ public int code { get; set; }
+ public string msg { get; set; }
+ public string ipn { get; set; }
+ }
+
+ public class PNUtil
+ {
+ public static bool GetPN(string mesAddress, string stationName, string sn, out string pn, out string msg)
+ {
+ pn = null;
+ msg = string.Empty;
+ try
+ {
+ //OP170Burn-In鑰佸寲
+ string json = $"{{\"csn\":\"{sn}\",\"station_name\":\"{stationName}\"}}";
+ HttpClient val = new HttpClient();
+ BurnInUI.Logger.Debug($"Get PN Send: [{json}]");
+ try
+ {
+ StringContent val2 = new StringContent(json, Encoding.UTF8, "application/json");
+ HttpResponseMessage result = val.PostAsync($"http://{mesAddress}/mes-module-system-2.1.1/lixun/api/getPn", (HttpContent)(object)val2).Result;
+ result.EnsureSuccessStatusCode();
+ string resJson = result.Content.ReadAsStringAsync().Result;
+ HttpResult httpResult = JsonUtil.Deserialize<HttpResult>(resJson);
+ BurnInUI.Logger.Debug($"Get PN Receive: [{resJson}]");
+ if (httpResult.code == 200)
+ {
+ pn = httpResult.ipn;
+ return true;
+ }
+ msg = httpResult.msg;
+ return false;
+ }
+ finally
+ {
+ ((IDisposable)val)?.Dispose();
+ }
+ }
+ catch (Exception ex)
+ {
+ BurnInUI.Logger.Debug($"Get PN Error.", ex);
+ msg = $"璇锋眰PN寮傚父锛亄ex.Message}";
+ return false;
+ }
+ }
+
+
+ public static bool CheckIn(ILog log, string mesAddress, string stationName, string sn, out bool needCheckIn, out string msg)
+ {
+ JObject data = new JObject();
+ data.Add("cmd", "QUERY_RECORD");
+ data.Add("p", "UOP");
+
+ data.Add("sn", sn);
+ data.Add("station_name", stationName);
+ data.Add("op", "A0000001");
+
+ needCheckIn = false;
+ msg = string.Empty;
+ string sendData = string.Empty;
+ string resData = null;
+ try
+ {
+ sendData = data.ToString(Formatting.None);
+ using (HttpClient val = new HttpClient())
+ {
+ StringContent val2 = new StringContent(sendData, Encoding.UTF8, "application/json");
+ HttpResponseMessage result = val.PostAsync("http://" + mesAddress + "/mes-module-system-2.1.1/lixun/api/checkIn", (HttpContent)(object)val2).Result;
+ result.EnsureSuccessStatusCode();
+ resData = result.Content.ReadAsStringAsync().Result;
+ JObject httpResult = JObject.Parse(resData);
+
+ log.Info("CheckIn Send: " + httpResult.Value<string>("sendStr"));
+ log.Info("CheckIn Receive: " + httpResult.Value<string>("receiveStr"));
+ log.Info("CheckIn Get: " + resData);
+
+ msg = httpResult.Value<string>("msg");
+ if (httpResult.Value<int>("code") == 200)
+ {
+ needCheckIn = httpResult.Value<bool>("needCheckIn");
+ return true;
+ }
+ log.Error("CheckIn Error: " + msg);
+ return false;
+ }
+ }
+ catch (Exception ex)
+ {
+ msg = ex.Message + " in " + ex.StackTrace + ".SendStr: " + sendData + ",ResultStr: " + resData;
+ log.Error("CheckIn Unknow Error: " + msg);
+ return false;
+ }
+ }
+ }
+}
--
Gitblit v1.9.1