public override void LoadWorkForm() { var Grid = (DataGridView)control.Controls.Find("DG_UpLog", true).FirstOrDefault(); var FUG = control.Controls.Find("FAS_EndGB", true).FirstOrDefault(); Label BoxNum = control.Controls.Find("BoxNum", true).OfType <Label>().FirstOrDefault(); Label NextBoxNum = control.Controls.Find("NextBoxNum", true).OfType <Label>().FirstOrDefault(); Label PalletNum = control.Controls.Find("PalletNum", true).OfType <Label>().FirstOrDefault(); Label Label_ShiftCounter = control.Controls.Find("Label_ShiftCounter", true).OfType <Label>().FirstOrDefault(); Label LB_LOTCounter = control.Controls.Find("LB_LOTCounter", true).OfType <Label>().FirstOrDefault(); Liter = GetLiter(); literID = GetLiterID(); ArrayList[6] = Liter + " " + LitIndex; FUG.Visible = true; FUG.Location = new Point(179, 11); FUG.Size = new Size(536, 209); GetDataPac(); #region //if (!CheckCounter()) //Проверка на первый запуск по лоту и линии //{ AddPacCounter(); Arraylpac = GetpackingCounter(); BoxNum.Text = "1"; PalletNum.Text = "1"; NextBoxNum.Text = (int.Parse(BoxNum.Text) + 1).ToString(); } //else //{ // // pac.PalletCounter[0], pac.BoxCounter[1], pac.UnitCounter[2] // Arraylpac = GetpackingCounter(); // PalletNum.Text = Arraylpac[0].ToString(); // BoxNum.Text = Arraylpac[1].ToString(); // NextBoxNum.Text = (int.Parse(BoxNum.Text) + 1).ToString(); // if (Arraylpac[2].ToString() != ArrayList[7].ToString()) // { // var grid = GetDatePac(short.Parse(PalletNum.Text), short.Parse(BoxNum.Text), literID); // Grid.RowCount = grid.Count(); // for (int i = 0; i < Grid.RowCount; i++) // { // Grid[0, i].Value = grid[i].UnitNum; // Grid[1, i].Value = grid[i].SerialNumber; // Grid[2, i].Value = grid[i].Littera; // Grid[3, i].Value = grid[i].BoxNum; // Grid[4, i].Value = grid[i].PalletNum; // Grid[5, i].Value = grid[i].PackingDate; // } // } //} #endregion ShiftCounterStart(); Label_ShiftCounter.Text = ShiftCounter.ToString(); LB_LOTCounter.Text = LotCounter.ToString(); }
public override void LoadWorkForm() { Label Label_ShiftCounter = control.Controls.Find("Label_ShiftCounter", true).OfType <Label>().FirstOrDefault(); Label LB_LOTCounter = control.Controls.Find("LB_LOTCounter", true).OfType <Label>().FirstOrDefault(); var FUG = control.Controls.Find("Desassembly_STBGroup", true).FirstOrDefault(); var CB = (ComboBox)control.Controls.Find("CB_ErrorCode", true).FirstOrDefault(); var CBDEsc = (ComboBox)control.Controls.Find("CB_INFO", true).FirstOrDefault(); FUG.Visible = true; FUG.Location = new Point(194, 12); FUG.Size = new Size(538, 199); GetErrorCode(CB); GetErrorCodeDescription(CBDEsc); ShiftCounterStart(); Label_ShiftCounter.Text = ShiftCounter.ToString(); LB_LOTCounter.Text = LotCounter.ToString(); }
void WriteToDB() { // pac.PalletCounter[0], pac.BoxCounter[1], pac.UnitCounter[2] Label LBPN = control.Controls.Find("PalletNum", true).OfType <Label>().FirstOrDefault(); Label BoxNum = control.Controls.Find("BoxNum", true).OfType <Label>().FirstOrDefault(); Label NextBoxNum = control.Controls.Find("NextBoxNum", true).OfType <Label>().FirstOrDefault(); Label Label_ShiftCounter = control.Controls.Find("Label_ShiftCounter", true).OfType <Label>().FirstOrDefault(); Label LB_LOTCounter = control.Controls.Find("LB_LOTCounter", true).OfType <Label>().FirstOrDefault(); var Grid = (DataGridView)control.Controls.Find("DG_UpLog", true).FirstOrDefault(); //если юнит каунтер = емкости коробки, то очищаем грид коробки и увеличиваем счетчик на 1 if (Arraylpac[2].ToString() == ArrayList[7].ToString()) { Grid.RowCount = 0; //Если текущая коробка кратна кол-во коробок в паллете, то паллет + 1 /*PalletCouner*/ Arraylpac[0] = Arraylpac[1] % int.Parse(ArrayList[8].ToString()) == 0 ? (short)(Arraylpac[0] + 1) : Arraylpac[0]; LBPN.Text = Arraylpac[0].ToString(); /*BoxCounter*/ Arraylpac[1] += 1; BoxNum.Text = Arraylpac[1].ToString(); NextBoxNum.Text = (Arraylpac[1] + 1).ToString(); } Arraylpac[2] = (short)(Grid.RowCount + 1); // "№", "Serial", "Litera","GroupBox","Pallet","ScanDate" AddPackingGS(); UpdateCounter(); SetSerialNumber(); AddToOperLogFASEND(FullSTBSN, GetPCBID()); ShiftCounter += 1; LotCounter += 1; ShiftCounterUpdate(); LotCounterUpdate(); Label_ShiftCounter.Text = ShiftCounter.ToString(); LB_LOTCounter.Text = LotCounter.ToString(); Grid.Rows.Add(Arraylpac[2], FullSTBSN, ArrayList[6], Arraylpac[1], Arraylpac[0], DateTime.UtcNow.AddHours(2)); Grid.Sort(Grid.Columns[0], System.ComponentModel.ListSortDirection.Descending); Grid.BackgroundColor = Color.Green; LabelStatus(Controllabel, "Приемник успешно добавлен!", Color.Green); ControllabelFASEND.Text = ""; }
public override void LoadWorkForm() { Label Label_ShiftCounter = control.Controls.Find("Label_ShiftCounter", true).OfType <Label>().FirstOrDefault(); Label LB_LOTCounter = control.Controls.Find("LB_LOTCounter", true).OfType <Label>().FirstOrDefault(); var LengthCheck = control.Controls.Find("LengthCheck", true).FirstOrDefault().Visible = true; var FUG = control.Controls.Find("FAS_Print", true).FirstOrDefault(); var SNPrint = control.Controls.Find("SNPRINT", true).FirstOrDefault(); var CHPrintSN = control.Controls.Find("CHPrintSN", true).OfType <CheckBox>().FirstOrDefault(); var PrintCheckSN = control.Controls.Find("PrintCheckSN", true).OfType <CheckBox>().FirstOrDefault(); //Перепечатка серийного номера по серийному номеру PrintCheckSN.Visible = true; var CountLBSN = control.Controls.Find("CountLBSN", true).OfType <Label>().FirstOrDefault(); //var CHPrintID = control.Controls.Find("CHPrintID", true).OfType<CheckBox>().FirstOrDefault().Visible = false; //var CountLBID = control.Controls.Find("CountLBID", true).OfType<Label>().FirstOrDefault().Visible = false; var XSN = control.Controls.Find("XSN", true).OfType <NumericUpDown>().FirstOrDefault(); var YSN = control.Controls.Find("YSN", true).OfType <NumericUpDown>().FirstOrDefault(); var PrintLBName = control.Controls.Find("PrintLBName", true).OfType <Label>().FirstOrDefault(); Label Fas_StartRange = control.Controls.Find("Fas_StartRange", true).OfType <Label>().FirstOrDefault(); PrintLBName.Text = "Текущий принтер \n" + printName; var ListPrinter = control.Controls.Find("ListPrinter", true).OfType <ListBox>().FirstOrDefault(); foreach (var item in PrinterSettings.InstalledPrinters) { if (item.ToString().Contains("ZDesigner")) { ListPrinter.Items.Add(item); } } if (DateFas_Start) { Fas_StartRange.Visible = true; Fas_StartRange.Text = $"диапазон: Start {StartRange}, End {EndRange} \n Литер {LitIndex}"; } else { Fas_StartRange.Visible = false; } FUG.Visible = true; FUG.Location = new Point(264, 19); FUG.Size = new Size(585, 186); GetLineForPrint(); if (CheckPathPrinterSettings()) { CreatePathPrinter(); } var list = Directory.GetFiles(@"C:\PrinterSettings").ToList(); XSN.Value = int.Parse(GetPrSet(list, "XSN")); YSN.Value = int.Parse(GetPrSet(list, "YSN")); CHPrintSN.Checked = UpPrintSN; SNPrint.Visible = UpPrintSN; CountLBSN.Text = "Кол-во этикеток SN = " + labelCount.ToString(); if (CHPrintSN.Checked) { CHPrintSN.BackColor = Color.Green; } else { CHPrintSN.BackColor = Color.White; } ShiftCounterStart(); Label_ShiftCounter.Text = ShiftCounter.ToString(); LB_LOTCounter.Text = LotCounter.ToString(); }
public override void KeyDownMethod() { var LengthCheck = control.Controls.Find("LengthCheck", true).OfType <CheckBox>().FirstOrDefault(); TextBox TB = control.Controls.Find("SerialTextBox", true).OfType <TextBox>().FirstOrDefault(); Label Controllabel = control.Controls.Find("Controllabel", true).OfType <Label>().FirstOrDefault(); var PrintCheckSN = control.Controls.Find("PrintCheckSN", true).OfType <CheckBox>().FirstOrDefault(); //Перепечатка серийного номера по серийному номеру if (PrintCheckSN.Checked) { if (TB.TextLength == 23) { var Result = CheckSerialNumber(TB.Text); if (Result == TB.Text) { Print(TB.Text, TB.Text, Controllabel); return; } else { LabelStatus(Controllabel, $"{Result}", Color.Red); return; } } else { LabelStatus(Controllabel, $"{"Не верный формат номера, включён флажок 'Печать дубликата серийного номера'! \n по серийному номеру"}", Color.Red); return; } } if (LengthCheck.Checked) //Галочка проверки на 21 символ (Когда на SMT косячат с длиной баркода) { if (TB.TextLength != 21) //Проверка на длину в 21 символ { LabelStatus(Controllabel, $"{TB.Text} не верный формат номера", Color.Red); return; } //Вывод ошибки } Label ShiftCounterl = control.Controls.Find("Label_ShiftCounter", true).OfType <Label>().FirstOrDefault(); Label LB_LOTCounter = control.Controls.Find("LB_LOTCounter", true).OfType <Label>().FirstOrDefault(); Label Fas_StartRange = control.Controls.Find("Fas_StartRange", true).OfType <Label>().FirstOrDefault(); DataGridView DG_UpLog = control.Controls.Find("DG_UpLog", true).OfType <DataGridView>().FirstOrDefault(); if (CheckLazerPCBID(TB.Text)) //Проверка номера в базе LazerBase //Добавить THT Start { LabelStatus(Controllabel, $"{TB.Text} не зарегистрирован в базе LazerBase или THTStart", Color.Red); return; } var FullSN = CheckAssemlyPCBID(); //Проверка отсканированного баркода в таблице FasStart if (FullSN == "False") //Плата с таким баркодом была отскнирована в другом лоте { LabelStatus(Controllabel, $"{TB.Text} уже был отсканирован в лоте {_Lot}", Color.Red); return; } if (!string.IsNullOrEmpty(FullSN)) //Если плата с таким баркодом была отсканирована на FasStart и имеет лот такой же с каким и работает программа { if (!UpPrintSN) //Проверка печати, если печати нет, то вывод ошибки { LabelStatus(Controllabel, $"{TB.Text} уже присвоен {FullSN}", Color.Red); return; } Print(TB.Text, FullSN, Controllabel); #region Старый код //msg Mes = new msg($"{TB.Text} уже присвоен \n SN номер{FullSN} \n Хотите перепечатать SN номер?"); //Запрос на перепечатку //var Result = Mes.ShowDialog(); //if (Result == DialogResult.No) //Если печать отменена //{ LabelStatus(Controllabel, $"{TB.Text} уже присвоен SN {FullSN} \n печать отменена!", Color.Red); return; } //if (string.IsNullOrEmpty(printName)) //Проверка подклчюение принетера //{ LabelStatus(Controllabel, $"Принтер не идентифицирован!", Color.Red); return; } ////Текстовые переменные для печати //var printCodeSN = FullSN.Substring(0, 22) + ">6" + FullSN.Substring(22); //var PrintTextSN = FullSN.Substring(0, 2) + " " + FullSN.Substring(2, 4) + " " + FullSN.Substring(6, 2) + " " + FullSN.Substring(8, 2) + // " " + FullSN.Substring(10, 2) + " " + FullSN.Substring(12, 3) + " " + FullSN.Substring(15, 8); //if (CheckPathPrinterSettings()) //Првоерка координат принтера // CreatePathPrinter(); //Если не найдена настройка, создаем её //var list = Directory.GetFiles(@"C:\PrinterSettings").ToList(); //Берем с папки координаты //var X = GetPrSet(list, "XSN"); //Определение X координаты //var Y = GetPrSet(list, "YSN"); //Определение Y координаты //DateText = GetManufDate(FullSN); //Берем дату на FasStart этого номера //print(LabelSN(PrintTextSN, printCodeSN,int.Parse(X), int.Parse(Y))); //Печать номера ////Вывод сообщения что все хорошо завершение события //LabelStatus(Controllabel, $"{TB.Text} уже присвоен SN {FullSN} \n Печать готова!", Color.Green); #endregion return; } //================================================================================= //работа с диапазоном //False Все прошло успешно //True Ошибка //Abort Закончились серийные номера во всех диапазонах //New Если открывается новый диапазон Link : var R = GetlabelDate(); //Метод, который проверяет, есть ли диапазон, если есть, то работа идет по диапазону if (R == "True") //Ошибка { LabelStatus(Controllabel, $"Ошибка при получении Серийного номера с таблицы \n FAS_SerialNumbers", Color.Red); return; } if (R == "Abort") //Закончилсь номера { LabelStatus(Controllabel, $"Закончились серийные номера в диапазонах! Вызовите технолога", Color.Red); return; } if (R == "New") //Открывается новый диапазон { goto Link; //Снова переходим к 156 строке и проверяем новый выбранный диапазон } //Вывод на лейбл инфо о диапозоне Fas_StartRange.Text = $"Дата Label - {DateText} \n диапазон: Start {StartRange}, End {EndRange} \n Литер {LitIndex}"; if (WriteDB(0, Controllabel)) { return; } //Операция изменение информации о серийном номере, который мы определили if (FullSTBSN.Length == 23) { if (UpPrintSN) //Принт, печатать этикетку или нет { if (string.IsNullOrEmpty(printName)) { LabelStatus(Controllabel, $"Принтер не идентифицирован!", Color.Red); return; } var printCodeSN = FullSTBSN.Substring(0, 22) + ">6" + FullSTBSN.Substring(22); var PrintTextSN = FullSTBSN.Substring(0, 2) + " " + FullSTBSN.Substring(2, 4) + " " + FullSTBSN.Substring(6, 2) + " " + FullSTBSN.Substring(8, 2) + " " + FullSTBSN.Substring(10, 2) + " " + FullSTBSN.Substring(12, 3) + " " + FullSTBSN.Substring(15, 8); if (CheckPathPrinterSettings()) { CreatePathPrinter(); } var list = Directory.GetFiles(@"C:\PrinterSettings").ToList(); var X = GetPrSet(list, "XSN"); var Y = GetPrSet(list, "YSN"); DateText = GetManufDate(FullSTBSN); print(LabelSN(PrintTextSN, printCodeSN, int.Parse(X), int.Parse(Y))); //LabelStatus(Controllabel, $"Номер платы {TB.Text} /n успешно соединен с номером приемника", Color.Green); } AddToOperLogFasStart(FullSTBSN); //Добавляем в лог данные ShiftCounter += +1; //+ к выпуску LotCounter += 1; ShiftCounterl.Text = ShiftCounter.ToString(); //Обновляем лейбл LB_LOTCounter.Text = LotCounter.ToString(); ShiftCounterUpdate(); //обновляем ShiftCounter LotCounterUpdate(); DG_UpLog.Rows.Add(ShiftCounter, FullSTBSN, TB.Text, UpPrintSN, DateTime.UtcNow.AddHours(2), DateText.ToString("dd.MM.yyyy") + " " + DateTime.Now.ToString("HH:mm:ss")); //Добавляем в грид строку DG_UpLog.Sort(DG_UpLog.Columns[0], System.ComponentModel.ListSortDirection.Descending); //Сортировка { LabelStatus(Controllabel, $"Прошло успешно!", Color.Green); return; } } else if (FullSNPCB.Length != 23) { LabelStatus(Controllabel, $"Серийный номeр не сформирован!", Color.Red); update(); } }