From 1894ccc4014d813ea60cf276ac066e5870a82566 Mon Sep 17 00:00:00 2001
From: kingno <30263@KINGNO>
Date: 星期四, 18 九月 2025 13:51:20 +0800
Subject: [PATCH] 简化代码

---
 src/Bro.M141.Process/M141Process_ImageCheck.cs |  778 -----------------------------------------------------------
 1 files changed, 7 insertions(+), 771 deletions(-)

diff --git a/src/Bro.M141.Process/M141Process_ImageCheck.cs b/src/Bro.M141.Process/M141Process_ImageCheck.cs
index f5a1735..4fd9be8 100644
--- a/src/Bro.M141.Process/M141Process_ImageCheck.cs
+++ b/src/Bro.M141.Process/M141Process_ImageCheck.cs
@@ -113,327 +113,6 @@
             return msg;
         }
 
-        [ProcessMethod("ImageCheck", "ImageCheckOperation2", "閫氱敤鍥剧墖妫�娴嬫搷浣�,鏁版嵁浜や簰杈撳嚭", InvokeType.TestInvoke)]
-        public ResponseMessage ImageCheckOperationOUT(IOperationConfig config, IDevice invokeDevice, IDevice sourceDevice)
-        {
-            ResponseMessage msg = new ResponseMessage();
-
-            if (config is IImageCheckOperationConfig opConfig)
-            {
-                var results = opConfig.Products.Select(u =>
-                {
-                    DetectResult result = new DetectResult();
-                    result.PID = u.PID;
-                    result.Specs = GetSpecListFromConfigSelection(opConfig.SpecCollection);
-                    return result;
-                }).ToList();
-
-                msg.DataObj = results;
-
-
-                var tool = GetHalconTool(null, "", opConfig.AlgorithemPath);
-                Tuple<bool, Dictionary<string, HTuple>, Dictionary<string, HObject>, string, int> ret = null;
-
-
-
-                if (opConfig.BDstate)
-                {
-                    List<double> bdlist = M141Config.BDCollection.FirstOrDefault(u => u.CameraId == opConfig.ExecuteDevice && u.CheckIndex == opConfig.BDindex)?.BDList;
-                    if (bdlist == null)
-                    {
-                        LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"鏈壘鍒版爣瀹氶厤缃紝搴忓彿{opConfig.BDindex}");
-                        return msg;
-                    }
-                    ret = tool.RunProcedure(new Dictionary<string, HTuple>() { { "INPUT_CalibrationData", bdlist.ToArray() } }, new Dictionary<string, HalconDotNet.HObject>() { { "INPUT_Image", opConfig.ImageSet.HImage } }, new List<string>() { "OUTPUT_Results_1", "OUTPUT_Results_2", "OUTPUT_TransmitData" }, null);
-                }
-                else
-                {
-                    ret = tool.RunProcedure(null, new Dictionary<string, HalconDotNet.HObject>() { { "INPUT_Image", opConfig.ImageSet.HImage } }, new List<string>() { "OUTPUT_Results_1", "OUTPUT_Results_2", "OUTPUT_TransmitData" }, null);
-                }
-
-
-                //var ret = tool.RunProcedure(null, new Dictionary<string, HalconDotNet.HObject>() { { "INPUT_Image", opConfig.ImageSet.HImage } }, new List<string>() { "OUTPUT_Results_1", "OUTPUT_Results_2" }, null);
-
-                if (!ret.Item1)
-                {
-                    LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"鑴氭湰{opConfig.AlgorithemPath}杩愯寮傚父锛寋ret.Item4}");
-                }
-                else
-                {
-                    //for (int i = 1; i <= 2; i++)
-                    //{
-                    //    var p = opConfig.Products.FirstOrDefault(u => u.SEQUENCE.EndsWith(i.ToString()));
-                    //    if (p != null)
-                    //    {
-                    //        var pResult = results.FirstOrDefault(u => u.PID == p.PID);
-                    //        var datas = ret.Item2[$"OUTPUT_Results_{i}"].HTupleToDouble();
-
-                    //        LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"褰撳墠鑴氭湰缁撴灉OUTPUT_Results_{i}锛歿string.Join(",", datas.Select(u => u.ToString("f3")))}");
-
-                    //        if (pResult != null && datas.Count > 0)
-                    //        {
-                    //            FillSpecResults(pResult.PID, pResult.Specs, datas);
-                    //        }
-                    //    }
-                    //}
-
-                    opConfig.Products.ForEach(p =>
-                    {
-                        var pResult = results.FirstOrDefault(u => u.PID == p.PID);
-                        string i = p.SEQUENCE[p.SEQUENCE.Length - 1].ToString();
-                        var datas = ret.Item2[$"OUTPUT_Results_{i}"].HTupleToDouble();
-                        dicdate[i] = ret.Item2["OUTPUT_TransmitData"].HTupleToDouble();
-
-                        LogAsync(DateTime.Now, EnumHelper.LogLevel.Detail, $"鏁版嵁浜や簰杈撳嚭{i}  {string.Join(",", dicdate[i])}");
-                        if (i == "1")
-                        {
-                            set1.Set();
-                        }
-                        else
-                        {
-                            set2.Set();
-                        }
-
-                        LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"褰撳墠鑴氭湰缁撴灉OUTPUT_Results_{i}锛歿string.Join(",", datas.Select(u => u.ToString("f3")))}");
-
-                        if (pResult != null && datas.Count > 0)
-                        {
-                            FillSpecResults(pResult.PID, pResult.Specs, datas, p.SEQUENCE);
-                        }
-                    });
-                }
-            }
-
-            return msg;
-        }
-
-        [ProcessMethod("ImageCheck", "ImageCheckOperation3", "閫氱敤鍥剧墖妫�娴嬫搷浣�,鏁版嵁浜や簰杈撳叆,涓嶆竻鏁版嵁", InvokeType.TestInvoke)]
-        public ResponseMessage ImageCheckOperationIN1(IOperationConfig config, IDevice invokeDevice, IDevice sourceDevice)
-        {
-            ResponseMessage msg = new ResponseMessage();
-
-            if (config is IImageCheckOperationConfig opConfig)
-            {
-                var results = opConfig.Products.Select(u =>
-                {
-                    DetectResult result = new DetectResult();
-                    result.PID = u.PID;
-                    result.Specs = GetSpecListFromConfigSelection(opConfig.SpecCollection);
-                    return result;
-                }).ToList();
-
-                msg.DataObj = results;
-
-
-                var tool = GetHalconTool(null, "", opConfig.AlgorithemPath);
-                Tuple<bool, Dictionary<string, HTuple>, Dictionary<string, HObject>, string, int> ret = null;
-
-
-                string index = "1";
-                opConfig.Products.ForEach(p =>
-                {
-                    index = p.SEQUENCE[p.SEQUENCE.Length - 1].ToString();
-                });
-
-                if (dicdate[index].Count == 0)
-                {
-                    if (index == "1")
-                    {
-                        set1.Reset();
-                        set1.WaitOne(3000);
-                    }
-                    else
-                    {
-                        set2.Reset();
-                        set2.WaitOne(3000);
-                    }
-                }
-                LogAsync(DateTime.Now, EnumHelper.LogLevel.Detail, $"鏁版嵁浜や簰杈撳叆{index}  {string.Join(",", dicdate[index])}");
-                double[] tem = dicdate[index].ToArray();
-
-
-                if (opConfig.BDstate)
-                {
-                    List<double> bdlist = M141Config.BDCollection.FirstOrDefault(u => u.CameraId == opConfig.ExecuteDevice && u.CheckIndex == opConfig.BDindex)?.BDList;
-                    if (bdlist == null)
-                    {
-                        LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"鏈壘鍒版爣瀹氶厤缃紝搴忓彿{opConfig.BDindex}");
-                        return msg;
-                    }
-
-
-                    ret = tool.RunProcedure(new Dictionary<string, HTuple>() { { "INPUT_TransmitData", tem }, { "INPUT_CalibrationData", bdlist.ToArray() } }, new Dictionary<string, HalconDotNet.HObject>() { { "INPUT_Image", opConfig.ImageSet.HImage } }, new List<string>() { "OUTPUT_Results_1", "OUTPUT_Results_2" }, null);
-
-                }
-                else
-                {
-                    ret = tool.RunProcedure(new Dictionary<string, HTuple>() { { "INPUT_TransmitData", tem } }, new Dictionary<string, HalconDotNet.HObject>() { { "INPUT_Image", opConfig.ImageSet.HImage } }, new List<string>() { "OUTPUT_Results_1", "OUTPUT_Results_2" }, null);
-                }
-
-
-
-
-
-                ret = tool.RunProcedure(new Dictionary<string, HTuple>() { { "INPUT_TransmitData", tem } }, new Dictionary<string, HalconDotNet.HObject>() { { "INPUT_Image", opConfig.ImageSet.HImage } }, new List<string>() { "OUTPUT_Results_1", "OUTPUT_Results_2" }, null);
-
-                //var ret = tool.RunProcedure(null, new Dictionary<string, HalconDotNet.HObject>() { { "INPUT_Image", opConfig.ImageSet.HImage } }, new List<string>() { "OUTPUT_Results_1", "OUTPUT_Results_2" }, null);
-
-                if (!ret.Item1)
-                {
-                    LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"鑴氭湰{opConfig.AlgorithemPath}杩愯寮傚父锛寋ret.Item4}");
-                }
-                else
-                {
-                    //for (int i = 1; i <= 2; i++)
-                    //{
-                    //    var p = opConfig.Products.FirstOrDefault(u => u.SEQUENCE.EndsWith(i.ToString()));
-                    //    if (p != null)
-                    //    {
-                    //        var pResult = results.FirstOrDefault(u => u.PID == p.PID);
-                    //        var datas = ret.Item2[$"OUTPUT_Results_{i}"].HTupleToDouble();
-
-                    //        LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"褰撳墠鑴氭湰缁撴灉OUTPUT_Results_{i}锛歿string.Join(",", datas.Select(u => u.ToString("f3")))}");
-
-                    //        if (pResult != null && datas.Count > 0)
-                    //        {
-                    //            FillSpecResults(pResult.PID, pResult.Specs, datas);
-                    //        }
-                    //    }
-                    //}
-
-                    opConfig.Products.ForEach(p =>
-                    {
-                        var pResult = results.FirstOrDefault(u => u.PID == p.PID);
-
-                        string i = p.SEQUENCE[p.SEQUENCE.Length - 1].ToString();
-                        var datas = ret.Item2[$"OUTPUT_Results_{i}"].HTupleToDouble();
-
-                        LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"褰撳墠鑴氭湰缁撴灉OUTPUT_Results_{i}锛歿string.Join(",", datas.Select(u => u.ToString("f3")))}");
-
-                        if (pResult != null && datas.Count > 0)
-                        {
-                            FillSpecResults(pResult.PID, pResult.Specs, datas, p.SEQUENCE);
-                        }
-                    });
-                }
-            }
-
-            return msg;
-        }
-
-        [ProcessMethod("ImageCheck", "ImageCheckOperation4", "閫氱敤鍥剧墖妫�娴嬫搷浣�,鏁版嵁浜や簰杈撳叆,娓呮暟鎹�", InvokeType.TestInvoke)]
-        public ResponseMessage ImageCheckOperationIN2(IOperationConfig config, IDevice invokeDevice, IDevice sourceDevice)
-        {
-            ResponseMessage msg = new ResponseMessage();
-
-            if (config is IImageCheckOperationConfig opConfig)
-            {
-                var results = opConfig.Products.Select(u =>
-                {
-                    DetectResult result = new DetectResult();
-                    result.PID = u.PID;
-                    result.Specs = GetSpecListFromConfigSelection(opConfig.SpecCollection);
-                    return result;
-                }).ToList();
-
-                msg.DataObj = results;
-
-
-                var tool = GetHalconTool(null, "", opConfig.AlgorithemPath);
-                Tuple<bool, Dictionary<string, HTuple>, Dictionary<string, HObject>, string, int> ret = null;
-
-                string index = "1";
-                opConfig.Products.ForEach(p =>
-                {
-                    index = p.SEQUENCE[p.SEQUENCE.Length - 1].ToString();
-
-                });
-
-                if (dicdate[index].Count == 0)
-                {
-                    if (index == "1")
-                    {
-                        set1.Reset();
-                        set1.WaitOne(3000);
-                    }
-                    else
-                    {
-                        set2.Reset();
-                        set2.WaitOne(3000);
-                    }
-                }
-                LogAsync(DateTime.Now, EnumHelper.LogLevel.Detail, $"鏁版嵁浜や簰杈撳叆{index}  {string.Join(",", dicdate[index])}");
-                double[] tem = dicdate[index].ToArray();
-
-
-
-
-                if (opConfig.BDstate)
-                {
-                    List<double> bdlist = M141Config.BDCollection.FirstOrDefault(u => u.CameraId == opConfig.ExecuteDevice && u.CheckIndex == opConfig.BDindex)?.BDList;
-                    if (bdlist == null)
-                    {
-                        LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"鏈壘鍒版爣瀹氶厤缃紝搴忓彿{opConfig.BDindex}");
-                        return msg;
-                    }
-
-
-                    ret = tool.RunProcedure(new Dictionary<string, HTuple>() { { "INPUT_TransmitData", tem }, { "INPUT_CalibrationData", bdlist.ToArray() } }, new Dictionary<string, HalconDotNet.HObject>() { { "INPUT_Image", opConfig.ImageSet.HImage } }, new List<string>() { "OUTPUT_Results_1", "OUTPUT_Results_2" }, null);
-
-                }
-                else
-                {
-                    ret = tool.RunProcedure(new Dictionary<string, HTuple>() { { "INPUT_TransmitData", tem } }, new Dictionary<string, HalconDotNet.HObject>() { { "INPUT_Image", opConfig.ImageSet.HImage } }, new List<string>() { "OUTPUT_Results_1", "OUTPUT_Results_2" }, null);
-                }
-                //ret = tool.RunProcedure(new Dictionary<string, HTuple>() { { "INPUT_TransmitData", tem } }, new Dictionary<string, HalconDotNet.HObject>() { { "INPUT_Image", opConfig.ImageSet.HImage } }, new List<string>() { "OUTPUT_Results_1", "OUTPUT_Results_2" }, null);
-
-                dicdate[index].Clear();
-
-                //var ret = tool.RunProcedure(null, new Dictionary<string, HalconDotNet.HObject>() { { "INPUT_Image", opConfig.ImageSet.HImage } }, new List<string>() { "OUTPUT_Results_1", "OUTPUT_Results_2" }, null);
-
-                if (!ret.Item1)
-                {
-                    LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"鑴氭湰{opConfig.AlgorithemPath}杩愯寮傚父锛寋ret.Item4}");
-                }
-                else
-                {
-                    //for (int i = 1; i <= 2; i++)
-                    //{
-                    //    var p = opConfig.Products.FirstOrDefault(u => u.SEQUENCE.EndsWith(i.ToString()));
-                    //    if (p != null)
-                    //    {
-                    //        var pResult = results.FirstOrDefault(u => u.PID == p.PID);
-                    //        var datas = ret.Item2[$"OUTPUT_Results_{i}"].HTupleToDouble();
-
-                    //        LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"褰撳墠鑴氭湰缁撴灉OUTPUT_Results_{i}锛歿string.Join(",", datas.Select(u => u.ToString("f3")))}");
-
-                    //        if (pResult != null && datas.Count > 0)
-                    //        {
-                    //            FillSpecResults(pResult.PID, pResult.Specs, datas);
-                    //        }
-                    //    }
-                    //}
-
-                    opConfig.Products.ForEach(p =>
-                    {
-                        var pResult = results.FirstOrDefault(u => u.PID == p.PID);
-
-                        string i = p.SEQUENCE[p.SEQUENCE.Length - 1].ToString();
-                        var datas = ret.Item2[$"OUTPUT_Results_{i}"].HTupleToDouble();
-
-                        LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"褰撳墠鑴氭湰缁撴灉OUTPUT_Results_{i}锛歿string.Join(",", datas.Select(u => u.ToString("f3")))}");
-
-                        if (pResult != null && datas.Count > 0)
-                        {
-                            FillSpecResults(pResult.PID, pResult.Specs, datas, p.SEQUENCE);
-                        }
-                    });
-                }
-            }
-
-            return msg;
-        }
-
 
         protected List<ISpec> GetSpecListFromConfigSelection(List<SpecSelector> specSelectors)
         {
@@ -529,159 +208,7 @@
         }
 
         DateTime? _ct = null;
-        [ProcessMethod("", "ProductDataUpload", "浜у搧鏁版嵁涓婁紶", InvokeType.TestInvoke)]
-        public ResponseMessage ProductDataUpload(IOperationConfig config, IDevice invokeDevice, IDevice sourceDevice)
-        {
-            ResponseMessage msg = new ResponseMessage();
-
-            var triggerDatas = config.TriggerStr.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
-            string inputSequence = triggerDatas[triggerDatas.Length - 1];
-
-            var productList = new List<int>() { 1, 2 }.Select(u =>
-            {
-                string sequence = $"{inputSequence}_{u}";
-                return FindProductBySequence(sequence, true);
-            }).ToList();
-
-            string replyData = "#,UpData";
-
-            int waitInterval = 300;
-            int repeatTime = /*M141Config.DetectTimeout / waitInterval+*/2;
-
-            do
-            {
-                if (productList.All(p => !string.IsNullOrWhiteSpace(p.Result)))
-                {
-                    break;
-                }
-                else
-                {
-                    Thread.Sleep(waitInterval);
-                    repeatTime--;
-                }
-
-                if (repeatTime < 0)
-                {
-                    LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"浜у搧{string.Join(",", productList.Select(u => u.PID))}妫�娴嬭幏鍙栨眹鎬荤粨鏋滆秴鏃讹紝浣跨敤褰撳墠缁撴灉");
-                    break;
-                }
-            } while (true);
-
-
-            var Defaultclass = M141Config.DefectClassCollection.FirstOrDefault(u => u.IsDefault);
-            productList.ForEach(p =>
-            {
-                if (Defaultclass == null)
-                {
-                    replyData += $",{(string.IsNullOrEmpty(p.Result) ? "NG" : p.Result)}";
-                    if (string.IsNullOrEmpty(p.Result))
-                    {
-                        p.Result = "NG";
-                    }
-                }
-                else
-                {
-                    replyData += $",{(string.IsNullOrEmpty(p.Result) ? Defaultclass.ClassName : p.Result)}";
-
-                    if (string.IsNullOrEmpty(p.Result))
-                    {
-                        p.Result = Defaultclass.ClassName;
-                    }
-                }
-
-                var specList = p.Details.SelectMany(u => u.ResultList.SelectMany(r => r.Specs)).ToList();
-                p.Details.SelectMany(u => u.SpecList).ToList().ForEach(s =>
-                {
-                    if (!specList.Any(u => u.Code == s.Code))
-                    {
-                        specList.Add(s);
-                    }
-                });
-
-                List<Pointdata> Pointdatas11 = new List<Pointdata>();
-
-                foreach (var item in specList)
-                {
-                    try
-                    {
-                        Pointdatas11.Add(new Pointdata()
-                        {
-                            Code = item.Code,
-                            Value = Convert.ToDouble(item.GetMeasureValueStr()),
-                            Stand = item.StandardValue,
-                            Min = item.StandardValue - item.Tolrenance_Negative,
-                            Max = item.StandardValue + item.Tolrenance_Positive,
-                            ispoint = false,
-                        });
-                    }
-                    catch
-                    {
-
-                    }
-                }
-                M141Codelist.Add(Pointdatas11);
-
-                HandleProductStatistc(p);
-            });
-
-            if (!M141Config.IsEnabelMESUpload)
-            {
-                replyData += ",OK";
-            }
-            else
-            {
-                int mesres = UploadProductDataToMES(productList);
-                if (mesres == 0)
-                {
-                    replyData += $",OK";
-                }
-                else
-                {
-                    if (M141Config.MESProjectCode.ToUpper().Contains("AOI2"))
-                    {
-                        if (mesres == 3)
-                        {
-                            replyData += $",OK";
-                        }
-                        else
-                        {
-                            replyData += $",NG";
-                        }
-                    }
-                    else
-                    {
-                        replyData += $",NG{mesres.ToString()}";
-                    }
-                }
-            }
-
-
-            productList.ForEach(p =>
-            {
-                replyData += $",{(p.SN.ToLower().Contains("read") ? "No Read" : p.SN)}";
-            });
-
-            ReplyTcpData("All", config.TriggerSource, replyData);
-
-
-            //淇濆瓨鍘嬬缉鍥�
-            productList.ForEach(p =>
-            {
-                SaveZip(p.PID, p.Result);
-            });
-
-
-
-            //if (M141Config.IsEnableOEEDataUpload)
-            //{
-            //    productList.ForEach(p =>
-            //    {
-            //        OEEDataUpload(M141Config.OEEConfig_WorkPlace, p.SN, p.Details.SelectMany(u => u.ResultList).ToList());
-            //    });
-            //}
-
-            return msg;
-        }
+      
 
         string _csvHead = "";
         List<string> _specHeadList = null;
@@ -694,19 +221,7 @@
             int waitTimes = 1;
             if (p.Details.Any(u => u.IsDone == false) && waitTimes > 0)
             {
-                //var pDB = _manager_P_Product.QueryProductByPID(p.PID);
-
-                //for (int i = 0; i < p.Details.Count; i++)
-                //{
-                //    if (!p.Details[i].IsDone)
-                //    {
-                //        var correspondingDetail = pDB?.Details.FirstOrDefault(u => u.PositionName == p.Details[i].PositionName);
-                //        if (correspondingDetail?.IsDone ?? false)
-                //        {
-                //            p.Details[i] = correspondingDetail;
-                //        }
-                //    }
-                //}
+             
                 waitTimes--;
             }
 
@@ -743,9 +258,7 @@
             var defectClass = GetDefectClassFromDefectList(defects);
             UpdateResult(DateTime.Now, p.SN, defectClass.ClassName, "");
 
-            //浜у搧搴忓彿+1
-            Interlocked.Increment(ref _productIndex);
-
+    
             List<ISpec> specList = new List<ISpec>();
             specList.AddRange(p.Details.SelectMany(u => u.SpecList).ToList().ConvertAll(u => (ISpec)u));
             specList.AddRange(p.Details.SelectMany(u => u.ResultList.SelectMany(d => d.Specs)));
@@ -763,80 +276,7 @@
             //}
         }
 
-        private void ReplyRealTimeData(List<ContourPoint>? contourPoints, List<ISpec> specList)
-        {
-            if (contourPoints != null && contourPoints.Count > 0)
-            {
-                M141Config.RealTimeDataModels.ForEach(r =>
-                {
-                    if (!r.IsEnabled)
-                        return;
-
-                    List<string> selectPoints = new List<string>();
-                    r.DataDetails.ForEach(u =>
-                    {
-                        var point = contourPoints.FirstOrDefault(c => c.Name == u.PointName);
-                        if (point != null)
-                        {
-                            double pValue = 0;
-                            switch (u.EdgeSelect)
-                            {
-                                case ContourEdge.X:
-                                    pValue = point.ActualX;
-                                    break;
-                                case ContourEdge.Y:
-                                    pValue = point.ActualY;
-                                    break;
-                            }
-
-                            if (pValue > u.ValidRangeMin && pValue < u.ValidRangeMax)
-                            {
-                                selectPoints.Add($"{point.Name.Replace(' ', '-').Replace('_', '-')}-{u.EdgeSelect.ToString()}:{pValue.ToString("f3")}");
-                            }
-                        }
-                    });
-
-                    if (selectPoints.Count == r.DataDetails.Count)
-                    {
-                        string reply = r.DataHead + ",";
-                        reply += $"{string.Join(",", selectPoints)},Count:{_productIndex}*\r\n";
-                        _realTimeServer.WriteAndRead(reply, out _, out _);
-                    }
-                });
-            }
-
-            if (specList != null && specList.Count > 0)
-            {
-                M141Config.RealTimeDataModels.ForEach(r =>
-                {
-                    if (!r.IsEnabled)
-                        return;
-
-                    List<string> selectPoints = new List<string>();
-                    r.DataDetails.ForEach(u =>
-                    {
-                        var spec = specList.FirstOrDefault(s => s.Code == u.SpecCode);
-                        if (spec != null)
-                        {
-                            double pValue = spec.ActualValue ?? -999;
-                            if (pValue > u.ValidRangeMin && pValue < u.ValidRangeMax)
-                            {
-                                selectPoints.Add($"{spec.Code.Replace(' ', '-').Replace('_', '-')}{u.SpecAfter}:{pValue.ToString("f3")}");
-                                //selectPoints.Add($"{u.EdgeSelect.ToString()}:{pValue.ToString("f3")}");
-                            }
-                        }
-                    });
-
-                    if (selectPoints.Count == r.DataDetails.Count)
-                    {
-                        string reply = r.DataHead + ",";
-                        reply += $"{string.Join(",", selectPoints)},Count:{_productIndex}*\r\n";
-                        _realTimeServer.WriteAndRead(reply, out _, out _);
-                    }
-                });
-            }
-
-        }
+    
 
         private void UpdateProductResultAsync(ProductModel p)
         {
@@ -860,215 +300,11 @@
                 //_manager_P_Product.UpdateProductResult(p.ID, p.PID, p.SN, p.Result);
             });
 
-            //return await _taskFactory.StartNew(() =>
-            // {
-            //     UpdateProductResult(p, out bool isOK);
-            //     return isOK;
-            // });
+     
         }
 
-        [ProcessMethod("", "UploadDataToMES", "涓婁紶淇℃伅鑷矼ES", InvokeType.TestInvoke)]
-        public ResponseMessage UploadDataToMES(IOperationConfig config, IDevice executeDevice, IDevice sourceDevice)
-        {
-            ResponseMessage msg = new ResponseMessage();
-            try
-            {
-                LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"MES涓婁紶淇℃伅锛歿config.TriggerStr}");
-                //MESService.WSTESTSoapClient client = new MESService.WSTESTSoapClient(MESService.WSTESTSoapClient.EndpointConfiguration.WSTESTSoap, M141Config.MESUploadURL);
-                //string reply = client.aoidataX2966aoi3Insert(config.TriggerStr);
-                HttpPost(M141Config.MESUploadURL, config.TriggerStr, out string reply, out StatusCode_en encode);
+ 
 
-
-                LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"MES鍙嶉淇℃伅锛歿reply}\r\n{JsonConvert.SerializeObject(encode)}");
-                XDocument doc = XDocument.Parse(reply);
-                foreach (XElement element in doc.Root.Elements())
-                {
-                    reply = element.Value;
-                }
-
-                msg.DataStr = reply;
-                Mes_re jObj = JsonConvert.DeserializeObject<Mes_re>(reply);
-
-
-                msg.Result = jObj.code; /*== 1000 ? 1 : -1;*/
-
-                if (msg.Result == 1003)
-                {
-                    if (jObj.msg.Contains("瀵奸�氭祴璇�"))
-                    {
-                        msg.Result = 4;
-                    }
-                    else
-                    {
-                        msg.Result = 1;
-                    }
-                }
-            }
-            catch (Exception ex)
-            {
-                LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"涓婁紶淇℃伅鑷硔M141Config.MESUploadURL}寮傚父锛寋ex.GetExceptionMessage()}");
-                msg.Result = -1;
-            }
-            return msg;
-        }
-
-        public bool HttpPost(string url, string postDataStr, out string Result, out StatusCode_en ResultStatus)
-        {
-            if (M141Config.MESProjectCode.ToUpper().Contains("3221AOI1"))
-            {
-                postDataStr = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\r\n  <soap:Body>\r\n    <X3221_AOI1_Upload xmlns=\"http://tempuri.org/\">\r\n      <json>" + postDataStr + "</json>\r\n    </X3221_AOI1_Upload>\r\n  </soap:Body>\r\n</soap:Envelope>";
-            }
-           else if (M141Config.MESProjectCode.ToUpper().Contains("3221AOI2"))
-            {
-                postDataStr = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\r\n  <soap:Body>\r\n    <X3221_AOI2_Upload xmlns=\"http://tempuri.org/\">\r\n      <json>" + postDataStr + "</json>\r\n    </X3221_AOI2_Upload>\r\n  </soap:Body>\r\n</soap:Envelope>";
-            }
-            else if (M141Config.MESProjectCode.ToUpper().Contains("3221AOI3B"))
-            {
-                postDataStr = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\r\n  <soap:Body>\r\n    <X3221_AOI3B_Upload xmlns=\"http://tempuri.org/\">\r\n      <json>" + postDataStr + "</json>\r\n    </X3221_AOI3B_Upload>\r\n  </soap:Body>\r\n</soap:Envelope>";
-            }
-            else if (M141Config.MESProjectCode.ToUpper().Contains("3221AOI3"))
-            {
-                postDataStr = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\r\n  <soap:Body>\r\n    <X3221_AOI3_Upload xmlns=\"http://tempuri.org/\">\r\n      <json>" + postDataStr + "</json>\r\n    </X3221_AOI3_Upload>\r\n  </soap:Body>\r\n</soap:Envelope>";
-            }
-            else if (M141Config.MESProjectCode.ToUpper().Contains("3222AOI2"))
-            {
-                postDataStr = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\r\n  <soap:Body>\r\n    <X3222_AOI2_Upload xmlns=\"http://tempuri.org/\">\r\n      <json>" + postDataStr + "</json>\r\n    </X3222_AOI2_Upload>\r\n  </soap:Body>\r\n</soap:Envelope>";
-            }
-            else if (M141Config.MESProjectCode.ToUpper().Contains("3222AOI3"))
-            {
-                postDataStr = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\r\n  <soap:Body>\r\n    <X3222_AOI3_Upload xmlns=\"http://tempuri.org/\">\r\n      <json>" + postDataStr + "</json>\r\n    </X3222_AOI3_Upload>\r\n  </soap:Body>\r\n</soap:Envelope>";
-            }
-
-            bool flag = false;
-            Result = string.Empty;
-            ResultStatus = new StatusCode_en();
-            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
-            HttpWebResponse response;
-            try
-            {
-                request.Timeout = 2000;//杩炴帴MES瓒呮椂涓嶈秴杩�2S
-                byte[] bytesToPost = System.Text.Encoding.UTF8.GetBytes(postDataStr); //杞崲涓篵ytes鏁版嵁
-                request.Method = "POST";
-                request.ContentType = "text/xml; charset=utf-8";
-                //request.ContentLength = bytesToPost.Length;
-
-                //                POST / CYWebService.asmx / X3221_AOI2_Upload HTTP / 1.1
-                //Host: 10.8.0.66
-                //Content - Type: application / x - www - form - urlencoded
-                //Content - Length: length
-
-                //json = string
-
-                //request.ContentType = "application/json";
-
-                //request.Headers["Authorization"] = "09a2815ab6814ea3a87166d2bf866085"; //瀹緵
-                //request.Headers["Content-MD5"] = "c69fac58411218a8f4a7b1f8e00cf791";//MD5瑙f瀽
-                request.Accept = "*/*";
-                CookieContainer cookie = new CookieContainer();
-                request.CookieContainer = cookie;
-                #region 鍏朵粬娌℃湁璁剧疆鐨勫弬鏁�
-                //request.ContentLength = Encoding.UTF8.GetByteCount(postDataStr);//娣诲姞闀垮害鍚庡啓鍏ユ祦鍚庡叧闂笉浜�,鍙兘娴佹柟寮忎笉鍚岄棶棰�
-                //request.Referer = "";
-                //request.Accept = "Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
-                //request.Headers["Accept-Language"] = "zh-CN,zh;q=0.";
-                //request.Headers["Accept-Charset"] = "GBK,utf-8;q=0.7,*;q=0.3";
-                //request.UserAgent = "User-Agent:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1";
-                //request.KeepAlive = true;
-                //Stream myRequestStream = request.GetRequestStream();
-                //StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding("gb2312"));           
-                //myStreamWriter.Write(bytesToPost);
-                //myStreamWriter.Flush();
-                //myStreamWriter.Close();
-                #endregion
-                Stream stream = request.GetRequestStream();
-                byte[] bs = System.Text.Encoding.UTF8.GetBytes(postDataStr);
-                stream.Write(bs, 0, bs.Length);
-                stream.Flush();
-                stream.Close();
-                response = (HttpWebResponse)request.GetResponse();
-
-                ResultStatus = new StatusCode_en
-                {
-                    StatusCode = (int)response.StatusCode,
-                    StatusCodeDiscribe = response.StatusDescription,
-                };
-                response.Cookies = cookie.GetCookies(response.ResponseUri);
-                Stream myResponseStream = response.GetResponseStream();
-                //鑾峰彇鍏ㄩ儴杩斿洖鍊糥ML瀛楃涓�
-                StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
-                Result = myStreamReader.ReadToEnd();
-                flag = true;
-            }
-            catch (WebException ex)
-            {
-                //response = (HttpWebResponse)ex.Response;//鏈変簺寮傚父濡傛搷浣滆秴鏃讹紝瀵硅薄浼氫负绌猴紝鎯宠璇︾粏鏁版嵁涓嶅缓璁姞鍒ゆ柇
-                ResultStatus = new StatusCode_en
-                {
-                    ErrDiscribe = ex.Message
-                };
-                flag = false;
-            }
-            return flag;
-        }
-
-        public class StatusCode_en//缁撴灉鍚堥泦
-        {
-            /// <summary>
-            /// 鐘舵�佺爜锛屽404
-            /// </summary>
-            public int StatusCode { get; set; }
-            /// <summary>
-            /// 鐘舵�佹弿杩帮紝濡侼otFound
-            /// </summary>
-            public string StatusCodeDiscribe { get; set; }
-            /// <summary>
-            /// 閿欒鎻忚堪锛屽
-            /// </summary>
-            public string ErrDiscribe { get; set; }
-        }
-
-        public class Mes_re//缁撴灉鍚堥泦
-        {
-
-            public int code { get; set; }
-
-            public string msg { get; set; }
-
-            public object value { get; set; }
-
-            public object data { get; set; }
-        }
-
-
-
-        [ProcessMethod("", "CheckProductSNByMES", "妫�娴嬩骇鍝佹潯鐮侊紙鍓嶇珯缁撴灉锛�", InvokeType.TestInvoke)]
-        public ResponseMessage CheckProductSNByMES(IOperationConfig config, IDevice executeDevice, IDevice sourceDevice)
-        {
-            ResponseMessage msg = new ResponseMessage();
-            try
-            {
-                LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"MES妫�娴嬫潯鐮侊細{config.TriggerStr}");
-
-                MESService.WSTESTSoapClient client = new MESService.WSTESTSoapClient(MESService.WSTESTSoapClient.EndpointConfiguration.WSTESTSoap, M141Config.MESUploadURL);
-
-                Stopwatch sw = new Stopwatch();
-                sw.Start();
-                string reply = client.checkaoidataX2966aoi3Insert(config.TriggerStr);
-                msg.DataStr = reply;
-
-                sw.Stop();
-                LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"MES妫�娴嬫潯鐮亄config.TriggerSource}锛屽弽棣堜俊鎭細{reply}锛岃�楁椂锛歿sw.ElapsedMilliseconds}ms");
-
-                JObject jObj = JsonConvert.DeserializeObject<JObject>(reply);
-                msg.Result = jObj.Value<string>("msg") == "OK" ? 1 : -1;
-            }
-            catch (Exception ex)
-            {
-                LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"妫�娴嬫潯鐮佷俊鎭嚦{M141Config.MESUploadURL}寮傚父锛寋ex.GetExceptionMessage()}");
-                msg.Result = -1;
-            }
-            return msg;
-        }
-
+    
     }
 }

--
Gitblit v1.8.0