Exemplo n.º 1
0
 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("");
     }
 }
Exemplo n.º 2
0
        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;
                }
            }
        }