private string GetBand(string fgcode, out string msg) { if (Config.POSTData.GetBandType.ToLower() == "trace") { var tsr = TraceSerial.GetSerial(Config.POSTData.GetBandUrl, "fg", fgcode, Config.POSTData.ProcessName, true); if (tsr.Response.Code == HttpStatusCode.OK) { if (string.IsNullOrEmpty(tsr.TraceSerial.Serials.Band)) { msg = $"获取Band码失败:接口未返回Band码\r\n {fgcode}"; return(""); } msg = ""; return(tsr.TraceSerial.Serials.Band); } else { msg = $"获取Band码失败:{tsr.Response.Error}\r\n {fgcode}"; return(""); } } else if (Config.POSTData.GetBandType.ToLower() == "jgp") { LogRead.Log.Info($"获取Band码: {fgcode}"); var res = Http.Get(Config.POSTData.GetBandUrl.Replace("{fg}", fgcode.Replace("+", "%20"))); if (res.Code != HttpStatusCode.OK) { msg = $"获取Band码失败: {fgcode}"; LogRead.Log.Error(msg); return(""); } LogRead.Log.Info($"获取Band码响应结果: {res.Contact}"); try { CheckResult checkResult = res.Contact.ToEntity <CheckResult>(); if (!checkResult.status) { msg = $"获取Band码失败:接口返回false\r\n{fgcode}"; LogRead.Log.Error(msg); return(""); } if (checkResult.msg.IndexOf("null") > -1) { msg = $"获取Band码失败:接口返回null\r\n{fgcode}"; LogRead.Log.Error(msg); return(""); } if (string.IsNullOrEmpty(checkResult.msg)) { msg = $"获取Band码失败:接口返回空\r\n{fgcode}"; LogRead.Log.Error(msg); return(""); } msg = ""; return(checkResult.msg); } catch (Exception ex) { msg = $"获取Band码失败:{ex.Message}\r\n{fgcode}"; LogRead.Log.Error(msg); return(""); } } else { msg = ($"获取Band码失败:不支持的Band码获取类型\r\n{fgcode}"); LogRead.Log.Error(msg); return(""); } }
private void GetBand(Datas data, Product product) { var db = new DbContext(); var db_datas = db.DatasDb; string fgcode = data.FGCode; if (Config.CheckIn) { var db_indatas = db.InDatasDb; var inData = db_indatas.GetSingle(p => p.FG == data.FGCode); if (inData == null) { LogRead.Log.Error($"线头数据验证失败,未找到对应线头数据!FGCode: {data.FGCode}"); product.AddNgMsg("线头未过站!"); //product.GetBandSuccess = false; return; } data.SN = inData.SN; //更新数据库 db_datas.Update(data); } else { if (Config.POSTData.GetBandType.ToLower() == "jgp") { LogRead.Log.Info($"获取Band码 FGCode: {fgcode}"); var res = Http.Get(Config.POSTData.GetBandUrl.Replace("{fg}", fgcode.Replace("+", "%20"))); SaveRequestTime("GetBand", res.Elapsed); if (res.Code != HttpStatusCode.OK) { product.AddNgMsg("获取Band码失败"); LogRead.Log.Error($"获取Band码失败 FGCode: {fgcode}"); product.GetBandSuccess = false; return; } LogRead.Log.Info($"获取Band码响应结果: {res.Contact}"); try { CheckResult checkResult = res.Contact.ToEntity <CheckResult>(); if (!checkResult.status) { product.AddNgMsg("获取Band码失败:接口返回false"); LogRead.Log.Error($"获取Band码失败:接口返回false {fgcode}"); product.GetBandSuccess = false; return; } if (checkResult.msg.IndexOf("null") > -1) { product.AddNgMsg("获取Band码失败:接口返回空"); LogRead.Log.Error($"获取Band码失败:接口返回空 {fgcode}"); product.GetBandSuccess = false; return; } if (string.IsNullOrEmpty(checkResult.msg)) { product.AddNgMsg("获取Band码失败:接口返回空"); LogRead.Log.Error($"获取Band码失败:接口返回空 {fgcode}"); product.GetBandSuccess = false; return; } data.SN = checkResult.msg; LogRead.Log.Info($"获取Band码成功:{checkResult.msg} {fgcode}"); //更新数据库 db_datas.Update(data); } catch (Exception ex) { product.AddNgMsg("获取Band码失败"); LogRead.Log.Error($"获取Band码失败:{ex.Message} {fgcode}"); product.GetBandSuccess = false; return; } } else if (Config.POSTData.GetBandType.ToLower() == "trace") { var tsr = TraceSerial.GetSerial(Config.POSTData.GetBandUrl, "fg", fgcode, Config.POSTData.ProcessName, true); SaveRequestTime("GetBand", tsr.Response.Elapsed); if (tsr.Response.Code == HttpStatusCode.OK && tsr.TraceSerial != null) { if (string.IsNullOrEmpty(tsr.TraceSerial.Serials.Band)) { product.AddNgMsg("获取Band码失败,接口未返回Band码"); LogRead.Log.Error($"获取Band码失败:接口未返回Band码 {fgcode}"); product.GetBandSuccess = false; } else { data.SN = tsr.TraceSerial.Serials.Band; LogRead.Log.Info($"获取Band码成功:{tsr.TraceSerial.Serials.Band} {fgcode}"); //更新数据库 db_datas.Update(data); } } else { product.AddNgMsg("获取Band码失败,接口请求失败"); LogRead.Log.Error($"获取Band码失败:{tsr.Response.Error} {fgcode}"); product.GetBandSuccess = false; return; } } else { product.AddNgMsg("获取Band码失败"); LogRead.Log.Error($"获取Band码失败:不支持的Band码获取类型 {fgcode}"); product.GetBandSuccess = false; return; } } }