private void BtnImprimir_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var boton = e.Source as Button;
                if (boton != null)
                {
                    var elemento      = boton.CommandParameter as ImpresionCalidadMezcladoModel;
                    var calidad       = new CalidadMezcladoFormulasAlimentoPL();
                    var listaAuxiliar = new List <ImpresionCalidadMezcladoModel> {
                        elemento
                    };
                    calidad.CalculosDetalle(listaAuxiliar);
                    var documento = new ReportDocument();
                    var reporte   = String.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory,
                                                  "\\Administracion\\Impresiones\\rptEf.MezRotomix 2.rpt");
                    documento.Load(reporte);

                    documento.DataSourceConnections.Clear();
                    documento.SetDataSource(listaAuxiliar);
                    documento.Refresh();

                    ExportOptions rptExportOption;
                    var           rptFileDestOption = new DiskFileDestinationOptions();
                    var           rptFormatOption   = new PdfRtfWordFormatOptions();
                    string        reportFileName    = string.Format("{0}_{1}_{2}.pdf", @"C:\CheckListCalidadMezclado",
                                                                    elemento.Tecnica,
                                                                    Contexto.Fecha.ToString("ddMMyyyy"));
                    rptFileDestOption.DiskFileName = reportFileName;
                    rptExportOption = documento.ExportOptions;
                    {
                        rptExportOption.ExportDestinationType    = ExportDestinationType.DiskFile;
                        rptExportOption.ExportFormatType         = ExportFormatType.PortableDocFormat;
                        rptExportOption.ExportDestinationOptions = rptFileDestOption;
                        rptExportOption.ExportFormatOptions      = rptFormatOption;
                    }
                    documento.Export();
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.Impresion_ReporteGeneradoConExito, MessageBoxButton.OK,
                                      MessageImage.Correct);
                    Process.Start(reportFileName);
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                  Properties.Resources.ImpresionSupervisionTecnicasDeteccion_ErrorImpresion,
                                  MessageBoxButton.OK,
                                  MessageImage.Error);
            }
        }
 private void ObtenerCalidadMezclado()
 {
     try
     {
         var calidadMezcladoFormulasAlimentoPL = new CalidadMezcladoFormulasAlimentoPL();
         if (!dtpFecha.SelectedDate.HasValue || dtpFecha.SelectedDate.Value == DateTime.MinValue)
         {
             SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                               Properties.Resources.ImpresionCalidadMezclado_FechaInvalida, MessageBoxButton.OK,
                               MessageImage.Warning);
             return;
         }
         Contexto.Fecha   = dtpFecha.SelectedDate.Value;
         impresionTarjeta =
             calidadMezcladoFormulasAlimentoPL.ObtenerImpresionCalidadMezclado(Contexto);
         if (impresionTarjeta != null && impresionTarjeta.Any())
         {
             impresionTarjeta.ToList().ForEach(impre =>
             {
                 impre.Descripcion =
                     string.Format(
                         Properties.Resources.
                         ImpresionCalidadMezclado_NomenclaturaFormato,
                         impre.Tecnica,
                         impre.FechaPremezcla.ToString("dd/MM/yyyy"));
             });
         }
         gridDatos.ItemsSource = impresionTarjeta;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                           Properties.Resources.ImpresionCalidadMezclado_ErrorConsultarMezclas, MessageBoxButton.OK,
                           MessageImage.Error);
     }
 }
Esempio n. 3
0
        /// <summary>
        /// Algoritmo para cargar los datos necesarios para llenar el Grid de la ventana
        /// </summary>
        private void CargarPrimerGrid()
        {
            try
            {
                CalidadMezcladoFormulasAlimentoPL traerDatosTablaResumen = new CalidadMezcladoFormulasAlimentoPL();
                DatosGridUno = traerDatosTablaResumen.TraerDatosTablaResumen(organizacionID, FormulasMuestrear);
                if (DatosGridUno != null)
                {
                    //Se calcula la columna de Particulas Esperadas
                    foreach (var elementos in DatosGridUno)
                    {
                        decimal materiaSeca = (Convert.ToDecimal(elementos.PesoBS) / Convert.ToDecimal(elementos.PesoBH)) * 100;
                        if (materiaSeca == 0)
                        {
                            elementos.ParticulasEsperadas = 0;
                        }
                        else
                        {
                            elementos.ParticulasEsperadas = ((elementos.Factor * 100) / materiaSeca) * elementos.Peso;
                        }
                    }
                    //Se calcula % de eficiencia de recuperación
                    foreach (var elementos in DatosGridUno)
                    {
                        elementos.PorEficiencia = (elementos.PromParticulasEsperadas / elementos.ParticulasEsperadas) * 100;
                    }
                    // calcula el campo "Promedio" o "Media"
                    int     a    = 0;
                    decimal asum = 0;
                    foreach (var elementos in DatosGridUno)
                    {
                        a++;
                        asum += elementos.PorEficiencia;
                    }
                    Promedio.Text = Convert.ToString(decimal.Round(asum / a, 0));
                    //se calcula el campo Desviación Estándar
                    int    cCont              = 0;
                    double media              = Convert.ToDouble(asum / a);
                    double preVarianza        = 0;
                    double varianza           = 0;
                    double desviacionEstandar = 0;
                    foreach (var elementos in DatosGridUno)
                    {
                        preVarianza += Math.Pow((Convert.ToDouble(elementos.PorEficiencia) - media), 2);
                        cCont++;
                    }
                    varianza           = preVarianza / cCont;
                    desviacionEstandar = Math.Sqrt(varianza);

                    DesvEstandar.Text = Convert.ToString(Math.Round(desviacionEstandar, 2));
                    //Se calcula Coeficiente de Variacion
                    double coeficienteVar = ((desviacionEstandar * 100) / media);
                    CoefVariacion.Text = Convert.ToString(Math.Round(coeficienteVar, 2));
                    //Se calcula Eficiencia de Mezclado
                    EficMezclado.Text   = Convert.ToString(Math.Round(100 - coeficienteVar, 2));
                    GridUno.ItemsSource = new List <CalidadMezcladoFormula_ResumenInfo>();
                    GridUno.ItemsSource = DatosGridUno;
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }
        }