コード例 #1
0
        /// <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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        /// <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();
            }
        }