From 3322022068ab818912d6f5d9e5eb31f51cc639c2 Mon Sep 17 00:00:00 2001
From: patrick.xu <patrick.xu@broconcentric.com>
Date: 星期四, 24 二月 2022 09:12:30 +0800
Subject: [PATCH] 添加配置文件的DataShift2

---
 src/Bro.M071.Process/M071Process_MES.cs |   51 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 48 insertions(+), 3 deletions(-)

diff --git a/src/Bro.M071.Process/M071Process_MES.cs b/src/Bro.M071.Process/M071Process_MES.cs
index e1c5f74..3f61ec4 100644
--- a/src/Bro.M071.Process/M071Process_MES.cs
+++ b/src/Bro.M071.Process/M071Process_MES.cs
@@ -7,7 +7,9 @@
 using System.Linq;
 using System.Reflection;
 using System.Text;
+using System.Threading;
 using System.Threading.Tasks;
+using System.Windows.Forms;
 
 namespace Bro.M071.Process
 {
@@ -151,7 +153,26 @@
                 LogAsync(DateTime.Now, $"MES鍏ユ枡妫�娴�", JsonConvert.SerializeObject(paras));
             }
 
-            var result = IncomingCheckMethod?.Invoke(IncomingCheckObj, paras).ToString();
+            string result = "-3";
+
+            int repeatTime = 3;
+
+            do
+            {
+                try
+                {
+                    result = IncomingCheckMethod?.Invoke(IncomingCheckObj, paras).ToString();
+                    repeatTime = -1;
+                }
+                catch (Exception ex)
+                {
+                    LogAsync(DateTime.Now, $"{barcode}浜у搧鏉$爜妫�娴嬪紓甯�", ex.GetExceptionMessage());
+                    repeatTime--;
+
+                    Thread.Sleep(100);
+                    result = "-3";
+                }
+            } while (repeatTime > 0);
             var mesReturn = (MESIncomingCheckReturn)int.Parse(result);
             sw.Stop();
             LogAsync(DateTime.Now, $"{barcode}浜у搧鏉$爜妫�娴嬶紝{result}|{mesReturn.ToString()}", $"鑰楁椂锛歿sw.ElapsedMilliseconds}ms");
@@ -207,15 +228,39 @@
 
             if (Config.IsEnableMESLog)
             {
-                LogAsync(DateTime.Now, $"{barcode}浜у搧妫�娴嬫暟鎹笂浼�", JsonConvert.SerializeObject(paras));
+                LogAsync(DateTime.Now, $"{pMeasure.Barcode}浜у搧妫�娴嬫暟鎹笂浼�", JsonConvert.SerializeObject(paras));
             }
 
-            var result = DataUploadMethod?.Invoke(DataUploadObj, paras).ToString();
+            string result = "-1";
+
+            int repeatTime = 3;
+            do
+            {
+                try
+                {
+                    result = DataUploadMethod?.Invoke(DataUploadObj, paras).ToString();
+                    repeatTime = -1;
+                }
+                catch (Exception ex)
+                {
+                    LogAsync(DateTime.Now, $"{barcode}浜у搧妫�娴嬫暟鎹笂浼犲紓甯�", ex.GetExceptionMessage());
+                    repeatTime--;
+
+                    Thread.Sleep(100); 
+                    result = "-1";
+                }
+            } while (repeatTime > 0);
+
             var mesReturn = (MESUploadReturn)int.Parse(result);
             sw.Stop();
             LogAsync(DateTime.Now, $"{barcode}浜у搧妫�娴嬫暟鎹笂浼狅紝{result}|{mesReturn.ToString()}", $"鑰楁椂锛歿sw.ElapsedMilliseconds}ms");
 
             OnCheckHintUpload?.Invoke("妫�娴嬫暟鎹�" + mesReturn.ToString(), mesReturn != MESUploadReturn.涓婁紶鎴愬姛);
+
+            if (mesReturn != MESUploadReturn.涓婁紶鎴愬姛)
+            {
+                MessageBox.Show($"{barcode}浜у搧鏁版嵁涓婁紶澶辫触,{mesReturn.ToString()}\r\n璇锋鏌ョ綉缁滆繛鎺ユ垨纭闂鍚庨噸鏂版娴�", "涓婁紶寮傚父", MessageBoxButtons.OK, MessageBoxIcon.Warning);
+            }
         }
 
         private string GetMESAlignmentData(ProductionMeasurement pMeasure)

--
Gitblit v1.8.0