Beispiel #1
0
        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();
        }
Beispiel #2
0
        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();
        }
Beispiel #3
0
        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 = "";
        }
Beispiel #4
0
        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();
        }
Beispiel #5
0
        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();
            }
        }