Esempio n. 1
0
        public void InitBarcodeList()
        {
            string filepath = TestRecordSavePath + "\\" + GetBanci() + ".csv";

            if (File.Exists(filepath))
            {
                DataTable dt = new DataTable();
                DataTable dt1;
                dt.Columns.Add("Time", typeof(string));
                dt.Columns.Add("Barcode", typeof(string));
                dt.Columns.Add("Result", typeof(string));
                dt.Columns.Add("Cycle", typeof(string));
                dt.Columns.Add("Index", typeof(string));
                try
                {
                    dt1 = Csvfile.csv2dt(filepath, 1, dt);
                    if (dt1.Rows.Count > 0)
                    {
                        foreach (DataRow item in dt1.Rows)
                        {
                            Testerwith4item.BarcodeList.Add(item["Barcode"].ToString());
                        }
                        ModelPrint("读取本地条码记录完成");
                    }
                    else
                    {
                        ModelPrint("本地文件无条码记录");
                    }
                }
                catch (Exception ex)
                {
                    Log.Default.Error("InitBarcodeList", ex.Message);
                }
            }
            else
            {
                ModelPrint("无当日本地记录文件");
            }
        }
        public MainWindowViewModel()
        {
            #region 初始化参数
            Version             = "20201011";
            MessageStr          = "";
            HomePageVisibility  = "Visible";
            AlarmPageVisibility = "Collapsed";
            try
            {
                using (StreamReader reader = new StreamReader(System.IO.Path.Combine(System.Environment.CurrentDirectory, "MachineStateA.json")))
                {
                    string json = reader.ReadToEnd();
                    MachineStateA = JsonConvert.DeserializeObject <MachineStateViewModel>(json);
                }
            }
            catch (Exception ex)
            {
                MachineStateA = new MachineStateViewModel()
                {
                    DaiLiao       = 0,
                    YangBen       = 0,
                    TesterAlarm   = 0,
                    Down          = 0,
                    UploaderAlarm = 0,
                    Run           = 0
                };
                WriteToJson(MachineStateA, System.IO.Path.Combine(System.Environment.CurrentDirectory, "MachineStateA.json"));
                AddMessage(ex.Message);
            }
            AlarmRecord = new ObservableCollection <AlarmRecordViewModel>();
            try
            {
                if (!Directory.Exists(@"D:\报警记录"))
                {
                    Directory.CreateDirectory(@"D:\报警记录");
                }
                DataTable dt;
                Csvfile.csv2dt(System.IO.Path.Combine(@"D:\报警记录", "AlarmRecord" + GetBanci() + ".csv"), 1, out dt);
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    AlarmRecordViewModel newrow = new AlarmRecordViewModel
                    {
                        Time    = Convert.ToDateTime(dt.Rows[i][0]),
                        Code    = (string)dt.Rows[i][1],
                        Content = (string)dt.Rows[i][2]
                    };
                    AlarmRecord.Add(newrow);
                }
            }
            catch (Exception ex)
            {
                AddMessage(ex.Message);
            }
            dispatcherTimer.Interval = new TimeSpan(0, 0, 1);
            dispatcherTimer.Tick    += DispatcherTimer_Tick;
            dispatcherTimer.Start();

            LastBanci = Inifile.INIGetStringValue(iniParameterPath, "Summary", "LastBanci", "null");
            #endregion

            // If you use EPPlus in a noncommercial context
            // according to the Polyform Noncommercial license:
            ExcelPackage.LicenseContext = LicenseContext.NonCommercial;

            #region 报警文档
            try
            {
                ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
                string alarmExcelPath = Path.Combine(System.Environment.CurrentDirectory, "报警.xlsx");
                if (File.Exists(alarmExcelPath))
                {
                    FileInfo existingFile = new FileInfo(alarmExcelPath);
                    using (ExcelPackage package = new ExcelPackage(existingFile))
                    {
                        // get the first worksheet in the workbook
                        ExcelWorksheet worksheet = package.Workbook.Worksheets[0];
                        for (int i = 1; i <= worksheet.Dimension.End.Row; i++)
                        {
                            AlarmData ad = new AlarmData();
                            ad.Code    = worksheet.Cells["A" + i.ToString()].Value == null ? "Null" : worksheet.Cells["A" + i.ToString()].Value.ToString();
                            ad.Content = worksheet.Cells["B" + i.ToString()].Value == null ? "Null" : worksheet.Cells["B" + i.ToString()].Value.ToString();
                            ad.Type    = worksheet.Cells["C" + i.ToString()].Value == null ? "Null" : worksheet.Cells["C" + i.ToString()].Value.ToString();
                            ad.Start   = DateTime.Now;
                            ad.End     = DateTime.Now;
                            ad.State   = false;
                            AlarmList.Add(ad);
                        }
                        AddMessage("读取到" + worksheet.Dimension.End.Row.ToString() + "条报警");
                    }
                }
                else
                {
                    AddMessage("VPP报警.xlsx 文件不存在");
                }
            }
            catch (Exception ex)
            {
                AddMessage(ex.Message);
            }
            #endregion

            AppLoadedEventCommand = new DelegateCommand(new Action(this.AppLoadedEventCommandExecute));
            OperateButtonCommand  = new DelegateCommand <object>(new Action <object>(this.OperateButtonCommandExecute));
            MenuActionCommand     = new DelegateCommand <object>(new Action <object>(this.MenuActionCommandExecute));
        }