jace.tang
2022-06-14 bd5297c64f39c360a7bf41435a88ae5e70840fc2
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))