/// <summary> /// Imprime la orden de sacrificio /// </summary> /// <param name="etiquetas"></param> /// <param name="detalleOrden"></param> public void ImprimirOrdenSacrificio(ImpresionOrdenSacrificioInfo etiquetas, IList <OrdenSacrificioDetalleInfo> detalleOrden) { Logger.Info(); var ordenSacrificioBl = new OrdenSacrificioBL(); ordenSacrificioBl.ImprimirOrdenDeSacrificio(etiquetas, detalleOrden); }
private ImpresionOrdenSacrificioInfo ObtenerEtiquetasImpresion() { var etiquetasImpresion = new ImpresionOrdenSacrificioInfo(); try { etiquetasImpresion.EtiquetaFecha = Properties.Resources.OrdenSacrificio_ReporteFecha; etiquetasImpresion.EtiquetaCabezaEmpresa = Properties.Resources.OrdenSacrificio_ReporteCabezaEmpresa; etiquetasImpresion.EtiquetaTitulo = Properties.Resources.OrdenSacrificio_ReporteTituloReporte; etiquetasImpresion.EtiquetaFolioIso = Properties.Resources.OrdenSacrificio_ReporteSerieIso; etiquetasImpresion.EtiquetaPlanta = Properties.Resources.OrdenSacrificio_ReportePlanta; etiquetasImpresion.EtiquetaNoSalida = Properties.Resources.OrdenSacrificio_ReporteNoSalida; etiquetasImpresion.EtiquetaCorraletas = Properties.Resources.OrdenSacrificio_ReporteCorraletas; etiquetasImpresion.EtiquetaCorral = Properties.Resources.OrdenSacrificio_ReporteCorral; etiquetasImpresion.EtiquetaLote = Properties.Resources.OrdenSacrificio_ReporteLote; etiquetasImpresion.EtiquetaCabezas = Properties.Resources.OrdenSacrificio_ReporteCabezas; etiquetasImpresion.EtiquetaDiasEngorda = Properties.Resources.OrdenSacrificio_ReporteDiasEngorda; etiquetasImpresion.EtiquetaTipo = Properties.Resources.OrdenSacrificio_ReporteTipo; etiquetasImpresion.EtiquetaProveedor = Properties.Resources.OrdenSacrificio_ReporteProveedor; etiquetasImpresion.EtiquetaEstatus = Properties.Resources.OrdenSacrificio_ReporteStatus; etiquetasImpresion.EtiquetaDiasRetiro = Properties.Resources.OrdenSacrificio_ReporteDiasRetiro; etiquetasImpresion.Etiquetaczas = Properties.Resources.OrdenSacrificio_Reporteczas; etiquetasImpresion.EtiquetaTotal = Properties.Resources.OrdenSacrificio_ReporteTotal; etiquetasImpresion.EtiquetaObservaciones = Properties.Resources.OrdenSacrificio_ReporteObservaciones; etiquetasImpresion.EtiquetaFechaInicio = Properties.Resources.OrdenSacrificio_ReporteFechaInicio; etiquetasImpresion.EtiquetaFechaTerminacion = Properties.Resources.OrdenSacrificio_ReporteFechaTermino; etiquetasImpresion.Observaciones = Modelo.Observacion.ToString(); if (dtpFecha.SelectedDate != null) { etiquetasImpresion.FechaReporte = (DateTime)dtpFecha.SelectedDate; } } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.CancelacionOrdenSacrificio_ErrorEtiquetas, MessageBoxButton.OK, MessageImage.Error); } return(etiquetasImpresion); }
/// <summary> /// Realiza la impresion de la orden de sacrificio /// </summary> /// <param name="etiquetas"></param> /// <param name="detalleOrden"></param> internal void ImprimirOrdenDeSacrificio(ImpresionOrdenSacrificioInfo etiquetas, IList <OrdenSacrificioDetalleInfo> detalleOrden) { var reporte = new Document(PageSize.A4.Rotate(), 10, 10, 35, 75); try { const string nombreArchivo = "ordenSacrifio.pdf"; PdfWriter.GetInstance(reporte, new FileStream(nombreArchivo, FileMode.OpenOrCreate)); reporte.Open(); var dirLogo = AppDomain.CurrentDomain.BaseDirectory + "Imagenes\\skLogo.png"; var fuenteDatos = new Font { Size = 6, Color = Color.BLACK }; var imgSuperior = Image.GetInstance(dirLogo); imgSuperior.ScaleAbsolute(90f, 25f); float[] medidaCeldas = { 0.75f, 0.75f, 0.75f, 0.75f, 0.75f, 1.20f, 1.0f, 2.25f, 0.85f, 0.85f, 0.85f }; var table = new PdfPTable(11); table.SetWidths(medidaCeldas); // var cell = new PdfPCell(new Phrase(etiquetas.EtiquetaCabezaEmpresa + "\n" + etiquetas.EtiquetaTitulo, fuenteDatos)) { Colspan = 12, HorizontalAlignment = 1, Border = 0 }; table.AddCell(cell); // cell = new PdfPCell(imgSuperior) { Padding = 2, Colspan = 5, Border = 0 }; table.AddCell(cell); cell = new PdfPCell(new Phrase("", fuenteDatos)) { Colspan = 3, Border = 0 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(" ", fuenteDatos)) { VerticalAlignment = 0, Border = 0 }; table.AddCell(cell); cell = new PdfPCell(new Phrase("", fuenteDatos)) { Colspan = 3, VerticalAlignment = 0, Border = 0 }; table.AddCell(cell); // cell = new PdfPCell(new Phrase(" ", fuenteDatos)) { VerticalAlignment = 0, Colspan = 9, Border = 0 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(etiquetas.EtiquetaFolioIso, fuenteDatos)) { VerticalAlignment = 0, Colspan = 3, Border = 0 }; table.AddCell(cell); // cell = new PdfPCell(new Phrase(etiquetas.EtiquetaFecha, fuenteDatos)) { HorizontalAlignment = 0 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(etiquetas.FechaReporte.ToLongDateString(), fuenteDatos)) { Colspan = 3 }; table.AddCell(cell); table.AddCell(""); cell = new PdfPCell(new Phrase("")) { Colspan = 3, Border = 0 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(etiquetas.EtiquetaPlanta, fuenteDatos)) { Border = 0 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(etiquetas.EtiquetaCabezaEmpresa, fuenteDatos)) { Border = 0, PaddingBottom = 3, Colspan = 3 }; table.AddCell(cell); //Titulos cell = new PdfPCell(new Phrase(etiquetas.EtiquetaNoSalida, fuenteDatos)) { HorizontalAlignment = 1 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(etiquetas.EtiquetaCorraletas, fuenteDatos)) { HorizontalAlignment = 1 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(etiquetas.EtiquetaCorral, fuenteDatos)) { HorizontalAlignment = 1 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(etiquetas.EtiquetaLote, fuenteDatos)) { HorizontalAlignment = 1 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(etiquetas.EtiquetaCabezas, fuenteDatos)) { HorizontalAlignment = 1 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(etiquetas.EtiquetaDiasEngorda, fuenteDatos)) { HorizontalAlignment = 1 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(etiquetas.EtiquetaTipo, fuenteDatos)) { HorizontalAlignment = 1 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(etiquetas.EtiquetaProveedor, fuenteDatos)) { HorizontalAlignment = 1 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(etiquetas.EtiquetaEstatus, fuenteDatos)) { HorizontalAlignment = 1 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(etiquetas.EtiquetaDiasRetiro, fuenteDatos)) { HorizontalAlignment = 1 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(etiquetas.Etiquetaczas, fuenteDatos)) { HorizontalAlignment = 1 }; table.AddCell(cell); // var total = 0; var totalSacrificados = 0; var contadorRegistro = 0; foreach (var turno in Enum.GetValues(typeof(TurnoEnum)).Cast <TurnoEnum>().ToList()) { if (contadorRegistro > 0) { cell = new PdfPCell(new Phrase("", fuenteDatos)) { Colspan = 12, Padding = 5 }; table.AddCell(cell); contadorRegistro = 0; } foreach (var orden in detalleOrden) { if (orden.Turno == turno) { cell = new PdfPCell(new Phrase(orden.Corral.Codigo, fuenteDatos)) { HorizontalAlignment = 1 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(orden.Corraleta.Codigo, fuenteDatos)) { HorizontalAlignment = 1 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(orden.Corral.Codigo, fuenteDatos)) { HorizontalAlignment = 1 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(orden.Lote.Lote, fuenteDatos)) { HorizontalAlignment = 1 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(orden.Cabezas.ToString(CultureInfo.InvariantCulture), fuenteDatos)) { HorizontalAlignment = 1 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(orden.DiasEngordaGrano.ToString(CultureInfo.InvariantCulture), fuenteDatos)) { HorizontalAlignment = 1 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(orden.Clasificacion, fuenteDatos)) { HorizontalAlignment = 1 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(orden.Proveedor.Descripcion, fuenteDatos)) { HorizontalAlignment = 1 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(orden.Estatus, fuenteDatos)) { HorizontalAlignment = 1 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(orden.DiasRetiro.ToString(CultureInfo.InvariantCulture), fuenteDatos)) { HorizontalAlignment = 1 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(orden.CabezasASacrificar.ToString(CultureInfo.InvariantCulture), fuenteDatos)) { HorizontalAlignment = 1 }; table.AddCell(cell); totalSacrificados += orden.CabezasASacrificar; contadorRegistro++; } } } var detalleOrdenTmp = new List <OrdenSacrificioDetalleInfo>(); foreach (var orden in detalleOrden) { var contar = detalleOrdenTmp.All(detalleTmp => detalleTmp.Corral.CorralID != orden.Corral.CorralID); detalleOrdenTmp.Add(orden); if (contar) { total += orden.Cabezas; } } cell = new PdfPCell(new Phrase("", fuenteDatos)) { Border = 0 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(etiquetas.EtiquetaTotal, fuenteDatos)); table.AddCell(cell); cell = new PdfPCell(new Phrase("", fuenteDatos)); table.AddCell(cell); cell = new PdfPCell(new Phrase("", fuenteDatos)); table.AddCell(cell); cell = new PdfPCell(new Phrase(total.ToString(CultureInfo.InvariantCulture), fuenteDatos)) { HorizontalAlignment = 1 }; table.AddCell(cell); cell = new PdfPCell(new Phrase("", fuenteDatos)) { Colspan = 5, Border = 0 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(totalSacrificados.ToString(CultureInfo.InvariantCulture), fuenteDatos)) { HorizontalAlignment = 1 }; table.AddCell(cell); cell = new PdfPCell(new Phrase("", fuenteDatos)) { Colspan = 12, Border = 0, Padding = 15 }; table.AddCell(cell); cell = new PdfPCell(new Phrase(etiquetas.EtiquetaObservaciones + "\n\n" + etiquetas.Observaciones + "\n", fuenteDatos)) { Colspan = 12, PaddingBottom = 10 }; table.AddCell(cell); reporte.Add(table); reporte.Close(); SendToPrinter(AppDomain.CurrentDomain.BaseDirectory + nombreArchivo); } catch (Exception ex) { Logger.Error(ex); reporte.Close(); } }