wenxiangchao
2026-11-02 9d1660270272180cd71147d6ddd53d1382643d2e
Plugin.TestResult/Util/PNUtil.cs
@@ -1,4 +1,7 @@
using HMI.Core.Util;
using log4net;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Plugin.TestResult_WPF;
using System;
using System.Net.Http;
@@ -15,13 +18,14 @@
    public class PNUtil
    {
        public static bool GetPN(string mesAddress, string sn, out string pn, out string msg)
        public static bool GetPN(string mesAddress, string stationName, string sn, out string pn, out string msg)
        {
            pn = null;
            msg = string.Empty;
            try
            {
                string json = $"{{\"csn\":\"{sn}\",\"station_name\":\"OP170Burn-In老化\"}}";
                //OP170Burn-In老化
                string json = $"{{\"csn\":\"{sn}\",\"station_name\":\"{stationName}\"}}";
                HttpClient val = new HttpClient();
                ViewControl.Logger.Debug($"Get PN Send: [{json}]");
                try
@@ -52,5 +56,53 @@
                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;
            }
        }
    }
}