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); } }
/// <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); } }