private void Window_Loaded(object sender, RoutedEventArgs e)
 {
     GlobalVar.AddMessage("软件加载完成");
     GlobalVar.plc = new DeltaPLC();
     ReadAlarmRecordfromCSV();
     ReadBarcodeRecordfromCSV();
 }
        private void DispatcherTimerTickUpdateUi(Object sender, EventArgs e)
        {
            string banci = GlobalVar.GetBanci();

            if (banci != LastBanci)
            {
                LastBanci = banci;
                Inifile.INIWriteValue(iniParameterPath, "System", "Banci", LastBanci);
                //GlobalVar.AlarmRecordQueue.Clear();
                GlobalVar.AlarmRecord.Clear();
                GlobalVar.MESDataRecord.Clear();
                GlobalVar.AddMessage("换班数据清空" + LastBanci);
            }
            if (GlobalVar.AlarmRecordQueue.Count > 0)
            {
                foreach (AlarmTableItem item in GlobalVar.AlarmRecordQueue)
                {
                    GlobalVar.AlarmRecord.Add(item);
                }
                GlobalVar.AlarmRecordQueue.Clear();
            }
            if (GlobalVar.MESDataRecordQueue.Count > 0)
            {
                foreach (MESDataItem item in GlobalVar.MESDataRecordQueue)
                {
                    GlobalVar.MESDataRecord.Add(item);
                }
                GlobalVar.MESDataRecordQueue.Clear();
            }
        }
        private void ReadBarcodeRecordfromCSV()
        {
            //"Date", "Barcode", "MachineID", "UserID", "ProductName", "MachineName", "FactoryArea", "FactorySeparation"
            string    filepath = "D:\\生产记录\\条码" + GlobalVar.GetBanci() + ".csv";
            DataTable dt       = new DataTable();
            DataTable dt1;

            dt.Columns.Add("Date", typeof(string));
            dt.Columns.Add("Barcode", typeof(string));
            dt.Columns.Add("MachineID", typeof(string));
            dt.Columns.Add("UserID", typeof(string));

            dt.Columns.Add("ProductName", typeof(string));
            dt.Columns.Add("MachineName", typeof(string));
            dt.Columns.Add("FactoryArea", typeof(string));
            dt.Columns.Add("FactorySeparation", typeof(string));
            dt.Columns.Add("ZhiJuClass", typeof(string));
            dt.Columns.Add("Barcodeproofing", typeof(string));
            dt.Columns.Add("scancodetype", typeof(string));
            dt.Columns.Add("CCD", typeof(string));
            dt.Columns.Add("NNNN", typeof(string));
            try
            {
                if (File.Exists(filepath))
                {
                    dt1 = Csvfile.GetFromCsv(filepath, 1, dt);
                    if (dt1.Rows.Count > 0)
                    {
                        foreach (DataRow item in dt1.Rows)
                        {
                            MESDataItem tr = new MESDataItem()
                            {
                                Date = item[0].ToString(), Index = item[1].ToString(), Barcode = item[2].ToString(), MachineID = item[3].ToString(), UserID = item[4].ToString(), ProductName = item[5].ToString(), MachineName = item[6].ToString(), FactoryArea = item[7].ToString(), FactorySeparation = item[8].ToString()
                            };
                            lock (GlobalVar.obj1)
                            {
                                //GlobalVar.AlarmRecord.Add(tr);
                                GlobalVar.MESDataRecordQueue.Enqueue(tr);
                            }
                        }
                        GlobalVar.AddMessage("读取条码记录完成");
                    }
                }
                else
                {
                    GlobalVar.AddMessage("条码记录不存在");
                }
            }
            catch (Exception ex)
            {
                GlobalVar.AddMessage(ex.Message);
            }
        }
        private void ReadAlarmRecordfromCSV()
        {
            string    filepath = "D:\\报警记录\\报警记录" + GlobalVar.GetBanci() + ".csv";
            DataTable dt       = new DataTable();
            DataTable dt1;

            dt.Columns.Add("AlarmDate", typeof(string));
            dt.Columns.Add("MachineID", typeof(string));
            dt.Columns.Add("UserID", typeof(string));
            dt.Columns.Add("AlarmMessage", typeof(string));
            try
            {
                if (File.Exists(filepath))
                {
                    dt1 = Csvfile.GetFromCsv(filepath, 1, dt);
                    if (dt1.Rows.Count > 0)
                    {
                        foreach (DataRow item in dt1.Rows)
                        {
                            AlarmTableItem tr = new AlarmTableItem()
                            {
                                AlarmDate = item[0].ToString(), MachineID = item[1].ToString(), UserID = item[2].ToString(), AlarmMessage = item[3].ToString()
                            };
                            lock (GlobalVar.obj)
                            {
                                //GlobalVar.AlarmRecord.Add(tr);
                                GlobalVar.AlarmRecordQueue.Enqueue(tr);
                            }
                        }
                        GlobalVar.AddMessage("读取报警记录完成");
                    }
                }
                else
                {
                    GlobalVar.AddMessage("报警记录不存在");
                }
            }
            catch (Exception ex)
            {
                GlobalVar.AddMessage(ex.Message);
            }
        }