From ab94f070d797edbe927d7d58a460cc4eddf48b03 Mon Sep 17 00:00:00 2001
From: jace.tang <1536884497@qq.com>
Date: 星期一, 13 六月 2022 10:58:40 +0800
Subject: [PATCH] 1.添加检测异常抛出时图片保存动作

---
 DetectionData.cs |   65 ++++++++++++++++++++++++++++++--
 1 files changed, 61 insertions(+), 4 deletions(-)

diff --git a/DetectionData.cs b/DetectionData.cs
index e0d4cb3..ec0f301 100644
--- a/DetectionData.cs
+++ b/DetectionData.cs
@@ -6,6 +6,8 @@
 using System.Text;
 using System.Windows.Forms;
 using System.Drawing;
+using System.Diagnostics;
+using System.Collections.Generic;
 
 namespace M423project
 {
@@ -15,6 +17,7 @@
         private SqlConnection connForUpload;
         private string _standardCheckMode;
 
+        int enableUploadMinutes = 10;
         private static readonly object synObj = new object();
         public DetectionData()
         {
@@ -39,6 +42,18 @@
             catch (Exception)
             {
                 CommonUtil.WriteLog(LogType.Err, "DataUpload杩炴帴鏁版嵁搴撳け璐ワ紒");
+            }
+
+            string enableUploadMinutesStr = ConfigurationManager.AppSettings["EnableUploadMinutes"];
+
+            int temp = 0;
+            if (int.TryParse(enableUploadMinutesStr, out temp))
+            {
+                enableUploadMinutes = temp;
+            }
+            else
+            {
+                enableUploadMinutes = 10;
             }
         }
 
@@ -135,7 +150,8 @@
         #region add by Patrick 2018-07-13
         public void SaveTrayBarcode(int detectID)
         {
-            string trayCode = CarrierBarcodeCtrl.GlobalCarrierBarcode;
+            string trayCode = "";
+            trayCode = CarrierBarcodeCtrl.GlobalCarrierBarcode;
 
             if (string.IsNullOrEmpty(trayCode))
             {
@@ -150,6 +166,41 @@
                 using (SqlCommand cmd = new SqlCommand(sql, connection))
                 {
                     cmd.ExecuteNonQuery();
+                }
+            }
+        }
+
+        public void SaveTrayBarcode(List<int> detectIDList, string carrierCode = null)
+        {
+            //string trayCode = CarrierBarcodeCtrl.GlobalCarrierBarcode;
+
+            if (carrierCode == null)
+            {
+                carrierCode = CarrierBarcodeCtrl.GlobalCarrierBarcode;
+            }
+
+            if (detectIDList.Count == 0)
+            {
+                return;
+            }
+            lock (synObj)
+            {
+                string idList = string.Join(",", detectIDList);
+                try
+                {
+                    string sql = $"Update ProductDetectionDetail set CarrierBarcode='{carrierCode}' where AutoID in ({idList})";
+
+                    using (SqlCommand cmd = new SqlCommand(sql, connection))
+                    {
+                        cmd.ExecuteNonQuery();
+                    }
+
+                    Trace.TraceInformation($"{idList}浜у搧缁戝畾杞藉叿鐮侊細{carrierCode}");
+                }
+                catch (Exception ex)
+                {
+                    Trace.TraceError($"{idList}浜у搧缁戝畾杞藉叿鐮侊細{carrierCode}寮傚父锛歿ex.Message}");
+                    //throw;
                 }
             }
         }
@@ -205,8 +256,8 @@
                                         AND ProductNoStatus  = 'OK' 
                                         AND ProductStatus<>'NA'
                                         AND (ISNULL(CarrierBarcode,'')<>'' OR ProductStatus  = 'NG')
-                                        AND DATEDIFF(DAY,'{0}',DetectTime)>=-1
-                                        ORDER BY DetectTime DESC", DateTime.Now.ToString("yyyy-MM-dd"));
+                                        AND DATEDIFF(MINUTE,DetectTime,'{0}')<={1}
+                                        ORDER BY DetectTime DESC", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), enableUploadMinutes.ToString());
 
             SqlDataReader dr = null;
             using (SqlCommand cmd = new SqlCommand(sql, connForUpload))
@@ -271,8 +322,14 @@
         public void SaveToCsv(ProductMeasureResult pmr)
         {
             string fileName = @"E:\DailyReport\detectdata" + DateTime.Now.ToString("yyyyMMdd") + ".csv";
-            bool IsNewFile = !File.Exists(fileName);
 
+            CSVDataRecord(pmr, fileName);
+
+        }
+
+        public void CSVDataRecord(ProductMeasureResult pmr, string fileName)
+        {
+            bool IsNewFile = !File.Exists(fileName);
             lock (csvLock)
             {
                 using (FileStream myStream = new FileStream(fileName, FileMode.OpenOrCreate))

--
Gitblit v1.8.0