/// <summary> /// Copia los datos correspondientes del archivo PDF a su posicion en el archivo Excel del reporte. /// </summary> public void Procesar() { //Se obtiene la pagina número 1 del reporte string texto = datosInventarioSteckel.ObtenerPagina(1); //Guarda cada linea del archivo en una lista. List <string> datos = texto.Split(new string[] { "\n" }, StringSplitOptions.RemoveEmptyEntries).ToList(); //Varaibles para detectar cuando se encuentran los valores buscados. bool rollo = false; bool placa = false; bool normalizado = false; //Variables para guardar los datos. double valorRollo = 0; double valorPlaca = 0; double valorNormalizado = 0; foreach (string linea in datos) { //Se obtiene la primera palabra de la linea. string inicioLinea = linea.Split(' ')[0]; //Si la linea tiene el dato de rollo y aun no se encuentra ese valor. if (inicioLinea == "ROLLO" && !rollo) { //Notifica que se encontro el valor de Rollo. rollo = true; //Convierte el valor a double y lo guarda en la variable correspondiente. valorRollo = Textos.ConvertirANumero(linea.Split(' ')[1]); } //Si la linea contiene el dato de placa y aun no se encuentra ese valor, se descarta el renglon 'PLACA + ROLLO'. if (inicioLinea == "PLACA" && !placa && !linea.Contains("ROLLO")) { //Notifica que se encontro el valor de Placa. placa = true; //Convierte el valor a double y lo guarda en la variable correspondiente. valorPlaca = Textos.ConvertirANumero(linea.Split(' ')[1]); } //Si la linea contiene el dato de normalizado y aun no se encuentra ese valor. if (inicioLinea == "NORMALIZADO" && !normalizado) { //Notifica que se encontro el valor de Normalizado. normalizado = true; //Convierte el valor a double y lo guarda en la variable correspondiente. valorNormalizado = Textos.ConvertirANumero(linea.Split(' ')[1]); } } //Se mapean los datos con su respectiva celda. reporteNovedades.GuardarValorNumericoDia("61", valorRollo); reporteNovedades.GuardarValorNumericoDia("60", valorPlaca); reporteNovedades.GuardarValorNumericoDia("62", valorNormalizado); //Se confirman los cambios en el archivo. reporteNovedades.GuardarCambios(); }
/// <summary> /// Copia los datos correspondientes del archivo PDF a su posicion en el archivo Excel del reporte. /// </summary> public void Procesar() { //Se obtiene la pagina número 1 del reporte string total = datosInventarioPlanchon.ObtenerPaginaTabla(1); //Guarda cada linea del archivo en una lista. List <string> tabla = total.Split(new string[] { "\n" }, StringSplitOptions.RemoveEmptyEntries).ToList(); tabla = tabla[tabla.Count - 3].Split(' ').ToList(); var cantidadTotal = tabla[tabla.Count - 1]; cantidadTotal = cantidadTotal.Replace(",", ""); //Se obtiene la pagina número 6 del reporte string texto = datosInventarioPlanchon.ObtenerPagina(6); //Guarda cada linea del archivo en una lista. List <string> datos = texto.Split(new string[] { "\n" }, StringSplitOptions.RemoveEmptyEntries).ToList(); //Recorre todas las lineas del archivo. for (int i = 0; i < datos.Count; i++) { //Cuando encuentra una linea con el texto "INSP Y ESC" si la siguiente linea no es "COL CONT", inserta una linea con este dato en valor 0. if (datos[i].Contains("INSP Y ESC")) { if (!datos[i + 1].Contains("COL CONT")) { datos.Insert(i + 1, "COL CONT 0"); } } } var resultadoResta = Textos.ExtraerNumeroComaDecimal(datos[1]) - tiraProg; //Se abre la hoja de datos del archivo Excel. reporteNovedades.CambiarHoja("DATOS"); //Se mapean los datos con su respectiva celda. reporteNovedades.GuardarValorNumericoDia("126", tiraProg); reporteNovedades.GuardarValorNumericoDia("127", Textos.ExtraerNumeroComaDecimal(datos[2])); reporteNovedades.GuardarValorNumericoDia("128", resultadoResta); reporteNovedades.GuardarValorNumericoDia("129", Textos.ExtraerNumeroComaDecimal(datos[3])); reporteNovedades.GuardarValorNumericoDia("130", Textos.ExtraerNumeroComaDecimal(datos[4])); reporteNovedades.GuardarValorNumericoDia("131", Textos.ExtraerNumeroComaDecimal(datos[5])); reporteNovedades.GuardarValorNumericoDia("132", Textos.ExtraerNumeroComaDecimal(datos[6])); reporteNovedades.GuardarValorNumericoDia("134", Textos.ExtraerNumeroComaDecimal(datos[8])); reporteNovedades.GuardarValorNumericoDia("135", Textos.ExtraerNumeroComaDecimal(datos[9])); reporteNovedades.GuardarValorNumericoDia("136", Textos.ExtraerNumeroComaDecimal(datos[10])); reporteNovedades.GuardarValorNumericoDia("137", Textos.ExtraerNumeroComaDecimal(datos[11])); reporteNovedades.GuardarValorNumericoDia("138", Textos.ExtraerNumeroComaDecimal(datos[12])); reporteNovedades.GuardarValorNumericoDia("139", Textos.ExtraerNumeroComaDecimal(datos[13])); reporteNovedades.GuardarValorNumericoDia("140", Textos.ExtraerNumeroComaDecimal(datos[15])); reporteNovedades.GuardarValorNumericoDia("141", Textos.ExtraerNumeroComaDecimal(datos[16])); reporteNovedades.GuardarValorNumericoDia("142", Textos.ExtraerNumeroComaDecimal(datos[17])); reporteNovedades.GuardarValorNumericoDia("143", Textos.ExtraerNumeroComaDecimal(datos[18])); reporteNovedades.GuardarValorNumericoDia("144", Textos.ExtraerNumeroComaDecimal(datos[19])); //duda sobre ajuste reporteNovedades.GuardarValorNumericoDia("145", Textos.ExtraerNumeroComaDecimal(datos[20])); reporteNovedades.GuardarValorNumericoDia("147", Textos.ExtraerNumeroComaDecimal(datos[25])); //Evalua todas las formulas. reporteNovedades.EvaluarFormulas(); double totalExcelNum = reporteNovedades.ObtenerValorRenglonDia(148); double totalInvplanchonNum = Textos.ConvertirANumero(cantidadTotal); double ajuste = totalInvplanchonNum - totalExcelNum; if (ajuste > 0) { double viasEscAjustada = Textos.ExtraerNumeroComaDecimal(datos[20]) + ajuste; reporteNovedades.GuardarValorNumericoDia("145", viasEscAjustada); reporteNovedades.EvaluarFormulas(); } salida.AjustePlanchon = ajuste; //Se confirman los cambios en el archivo. reporteNovedades.GuardarCambios(); }