Пример #1
0
        /// <summary>
        /// Obtiene los barcodes del panel
        /// </summary>
        public List <Bloque> GetBlockBarcodes(string proceso)
        {
            List <Bloque> bloques = new List <Bloque>();

            if (located && fileHeaders.Count > 0)
            {
                InspectionTextFileHeader pcbinfo = fileHeaders.Where(o => o.header == "PcbInfo").FirstOrDefault();

                if (pcbinfo == null)
                {
                    rnsi.aoiLog.warning("No se localizo el header PcbInfo en InspectionResult");
                }
                else
                {
                    List <InspectionTextFileHeader> res = fileHeaders.Where(o => o.header == "BlockBarcode").ToList();
                    if (res.Count() > 0)
                    {
                        // Bloques disponibles!
                        foreach (InspectionTextFileHeader bar in res)
                        {
                            string barcode = bar.FindAtrributeValue("szBlockBarcode");
                            string block   = bar.FindAtrributeValue("nComponentBlockNo");

                            // Para agregar sufijo a proceso BPR
                            if (proceso == "B")
                            {
                                barcode = barcode + "-B";
                            }

                            Bloque bk = new Bloque(barcode);
                            bk.bloqueId = int.Parse(block);
                            bloques.Add(bk);
                        }
                    }
                }
            }

            if (bloques.Count == 0)
            {
                if ((panel.pcbInfo.bloques > panel.pcbInfo.etiquetas))
                {
                    bloques = CreateVirtualBlocks();
                }
                else
                {
                    bloques.Add(CreateSingleBlock(proceso));
                }
            }

            return(bloques);
        }
Пример #2
0
        private List <InspectionTextFileHeader> GetFileHeaders(string inspectionResultTextFile)
        {
            string contenido = FilesHandler.ReadFile(inspectionResultTextFile);

            contenido += "\n----DUMMY";
            string[] lineas = contenido.Split(FILAS);

            List <InspectionTextFileHeader> headers = new List <InspectionTextFileHeader>();
            InspectionTextFileHeader        obj     = new InspectionTextFileHeader();

            // Guardo datos de headers, variables y valores en un diccionario
            foreach (string txt in lineas)
            {
                if (txt.Contains("----"))
                {
                    if (!obj.header.Equals(""))
                    {
                        headers.Add(obj);
                    }
                    obj        = new InspectionTextFileHeader();
                    obj.header = txt.ToString().Replace('\r', ' ').Replace('-', ' ').Trim();
                }
                else
                {
                    string[] sp = txt.Split(':');

                    if (sp.Length > 1)
                    {
                        InspectionTextFileAtrribute inspectionAttribute = new InspectionTextFileAtrribute();

                        inspectionAttribute.variable = sp[0].ToString().Replace('\r', ' ').Trim();
                        inspectionAttribute.valor    = sp[1].ToString().Replace('\r', ' ').Trim();

                        obj.attributes.Add(inspectionAttribute);
                    }
                }
            }
            return(headers);
        }