private void ObtenerEntradasGanado() { try { var entradaGanadoPL = new EntradaGanadoPL(); if (!dtpFecha.SelectedDate.HasValue || dtpFecha.SelectedDate.Value == DateTime.MinValue) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ImpresionTarjetaRecepcion_FechaInvalida, MessageBoxButton.OK, MessageImage.Warning); return; } Contexto.Fecha = dtpFecha.SelectedDate.Value; impresionTarjeta = entradaGanadoPL.ObtenerEntradasImpresionTarjetaRecepcion(Contexto); if (impresionTarjeta != null && impresionTarjeta.Any()) { impresionTarjeta.ForEach(impre => { impre.Descripcion = string.Format(Properties.Resources.ImpresionTarjetaRecepcion_NomenclaturaFormato, impre.FolioEntrada); }); } } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ImpresionTarjetaRecepcion_ErrorConsultarEntradas, MessageBoxButton.OK, MessageImage.Error); } }
/// <summary> /// Funcion que permite generar la lista de corrales listos para ser programados /// </summary> private void LlenaDatosGrid() { try { var entradaGanadoPl = new EntradaGanadoPL(); listaEntradaGanado = entradaGanadoPl.ObtenerPorTipoCorral(organizacionID, (int)TipoCorral.Recepcion); if (listaEntradaGanado != null) { dgProgramacionCorteGanado.ItemsSource = agruparLista(listaEntradaGanado.Lista); } else { dgProgramacionCorteGanado.ItemsSource = null; SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ProgramacionCorteGanado_ErrorSinDatos, MessageBoxButton.OK, MessageImage.Warning); } } catch (ExcepcionGenerica) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ProgramacionCorteGanado_ErrorObtenerPartidas, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ProgramacionCorteGanado_ErrorObtenerPartidas, MessageBoxButton.OK, MessageImage.Error); } }
/// <summary> /// Consulta el Folio de Entrada Seleccionado /// </summary> private void ConsultarEntradaGanado() { try { int folioEntrada; int.TryParse(skAyudaFolio.Descripcion, out folioEntrada); if (folioEntrada == 0) { skAyudaFolio.Descripcion = skAyudaFolio.Clave; int.TryParse(skAyudaFolio.Descripcion, out folioEntrada); } var entradaGanadoPL = new EntradaGanadoPL(); var entradaGanado = entradaGanadoPL.ObtenerEntradasGanadoCosteado(folioEntrada, organizacionIdLogin); if (entradaGanado == null) { return; } ContenedorCosteoEntrada.EntradaGanado = entradaGanado; CargarCamposConsulta(); var dataContext = DataContext; DataContext = null; DataContext = dataContext; skAyudaFolio.Descripcion = ContenedorCosteoEntrada.EntradaGanado.FolioEntrada.ToString(CultureInfo.InvariantCulture); } catch (Exception ex) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], ex.Message, MessageBoxButton.OK, MessageImage.Error); } }
/// <summary> /// Metodo para obtener corrales con sus lotes activos /// </summary> /// <param name="inicio"></param> /// <param name="limite"></param> private void ObtenerPartidas(int inicio, int limite) { try { var entradaPL = new EntradaGanadoPL(); var pagina = new PaginacionInfo { Inicio = inicio, Limite = limite }; ResultadoInfo <EntradaGanadoInfo> resultadoBusqueda = entradaPL.ObtenerPartidasProgramadasPorPaginas(pagina, int.MinValue, organizacionID); if (resultadoBusqueda != null && resultadoBusqueda.Lista != null && resultadoBusqueda.Lista.Count > 0) { GridResultado.ItemsSource = agruparGrid(resultadoBusqueda.Lista); PaginacionPartidas.TotalRegistros = resultadoBusqueda.TotalRegistros; } else { PaginacionPartidas.TotalRegistros = 0; GridResultado.ItemsSource = new List <EntradaGanadoInfo>(); } GridResultado.SelectedIndex = -1; } catch (Exception) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], "Ocurrio un error al consultar las partidas", MessageBoxButton.OK, SuKarne.Controls.Enum.MessageImage.Error); } }
private void Guardar() { var entradaGanadoPL = new EntradaGanadoPL(); entradaGanadoPL.GuardarReemplazoAretes(Contexto.ListaAretes.Where( are => are.PermiteEditar && (!are.AreteCentro.Trim().Equals(are.AreteCorte.Trim()))).ToList(), Contexto.EntradaGanado); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.GuardadoConExito, MessageBoxButton.OK, MessageImage.Correct); InicializaContexto(); dgAretes.ItemsSource = null; }
/// <summary> /// Metodo para obtener corrales con sus lotes activos que no cuentan con fecha de evalauacion /// </summary> private void ObtenerCorrales() { try { var usuario = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; int organizacionID = 0; if (usuario != null) { organizacionID = usuario.Usuario.Organizacion.OrganizacionID; } var entradaPl = new EntradaGanadoPL(); var resultadoBusqueda = entradaPl.ObtenerPorIDOrganizacion(organizacionID, TipoCorral.Recepcion.GetHashCode()); if (resultadoBusqueda != null && resultadoBusqueda.Lista != null && resultadoBusqueda.Lista.Count > 0) { var listaBusqueda = (from item in resultadoBusqueda.Lista select new { Horas = CalcularHorasTranscurridas(item.FechaEntrada, item.FechaSalida), item.FolioEntrada, item.CodigoCorral, item.Lote.LoteID, item.Lote.Lote, item.CabezasRecibidas, item.PesoTara, PesoLlegada = String.Format("{0:#,#}", (int)(item.PesoBruto - item.PesoTara)), item.FechaEntrada, item.OrganizacionOrigen, item.FolioOrigen, item.CorralID, item.PesoBruto, item.FechaSalida, item.PesoOrigen, HoraLlegada = item.FechaEntrada.ToShortTimeString() }).ToList(); gvBusqueda.DataSource = listaBusqueda; gvBusqueda.DataBind(); txttotalAyuda.Value = Numeros.ValorUno.GetHashCode().ToString(); } else { gvBusqueda.DataSource = new List <EntradaGanadoInfo>(); gvBusqueda.DataBind(); txttotalAyuda.Value = Numeros.ValorCero.GetHashCode().ToString(); } } catch (Exception ex) { Logger.Error(ex); } }
public static EntradaGanadoInfo TraerInformacionEntrada(FiltroCalificacionGanadoInfo filtroCalificacionGanado) { try { var entradaGanadoPL = new EntradaGanadoPL(); var seguridad = (SeguridadInfo)ObtenerSeguridad(); filtroCalificacionGanado.OrganizacionID = seguridad.Usuario.Organizacion.OrganizacionID; var entradaGanado = entradaGanadoPL.ObtenerEntradaGanadoCapturaCalidad(filtroCalificacionGanado); return(entradaGanado); } catch (Exception ex) { Logger.Error(ex); throw; } }
public static Response <List <EntradaGanadoInfo> > ObtenerCorralesSinEvaluar() { try { int organizacionID = 0; var usuario = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; if (usuario != null) { organizacionID = usuario.Usuario.Organizacion.OrganizacionID; } var entradaPl = new EntradaGanadoPL(); var resultadoBusqueda = entradaPl.TraerGanadoPorOrganizacionId(organizacionID, (int)TipoCorral.Recepcion); if (resultadoBusqueda != null) { var listaBusqueda = (from item in resultadoBusqueda select new EntradaGanadoInfo { Horas = item.Horas, FolioEntrada = item.FolioEntrada, CodigoCorral = item.CodigoCorral, LoteID = item.LoteID, CodigoLote = item.CodigoLote, CabezasRecibidas = item.CabezasRecibidas, PesoLlegada = (int)(item.PesoBruto - item.PesoTara), PesoTara = item.PesoTara, FechaEntrada = item.FechaEntrada, OrganizacionOrigen = item.OrganizacionOrigen, FolioOrigen = item.FolioOrigen, CorralID = item.CorralID, PesoBruto = item.PesoBruto, FechaSalida = item.FechaSalida, PesoOrigen = item.PesoOrigen }).ToList(); return(Response <List <EntradaGanadoInfo> > .CrearResponse(true, listaBusqueda)); } return(Response <List <EntradaGanadoInfo> > .CrearResponseVacio <List <EntradaGanadoInfo> >(false, "Ocurrio un error al consultar")); } catch (Exception ex) { return(Response <List <EntradaGanadoInfo> > .CrearResponseVacio <List <EntradaGanadoInfo> >(false, ex.Message)); } }
public static CorralInfo TraerCorral(CorralInfo corralInfo, int embarqueId) { try { var seguridad = (SeguridadInfo)ObtenerSeguridad(); int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID; //corralInfo.Organizacion.OrganizacionID; var corralPL = new CorralPL(); corralInfo.Organizacion = new OrganizacionInfo { OrganizacionID = organizacionId }; corralInfo.TipoCorral = new TipoCorralInfo { TipoCorralID = 1 }; //TipoCorral = 1 Recepción CorralInfo corral = corralPL.ObtenerPorCodigoCorral(corralInfo); if (corral != null) { int corralId = corral.CorralID; int lotesActivo = TraerLoteObtenerActivosPorCorral(corralId); if (lotesActivo > 0) { //Obtener programaciones por corral var entradaGanadoPL = new EntradaGanadoPL(); int total = entradaGanadoPL.ObtenerPorCorralDisponible(organizacionId, corralId, embarqueId); if (total > 0) { //si la condición se cumple el corral ya tiene un lote asignado corral = new CorralInfo(); } } } return(corral); } catch (Exception ex) { Logger.Error(ex); throw; } }
private void ObtenerDiasEngorda(IEnumerable <AnimalInfo> animales) { var entradaGanadoPL = new EntradaGanadoPL(); List <EntradaGanadoInfo> entradas = animales.Select(x => new EntradaGanadoInfo { FolioOrigen = x.FolioEntrada, OrganizacionID = Contexto.OrganizacionId }).ToList(); entradas = entradaGanadoPL.ObtenerEntradasPorFolioOrigenXML(entradas); if (entradas != null && entradas.Any()) { var count = entradas.Count; double temp = 0D; for (int i = 0; i < count; i++) { temp += entradas[i].FechaEntrada.Ticks / (double)count; } var fechaPromedio = new TimeSpan((long)temp); var fechaActual = new TimeSpan(DateTime.Now.Ticks); Contexto.DiasEngorda = (fechaActual - fechaPromedio).Days; } }
private void ObtenerAretesPartida() { try { var entradaGanadoPL = new EntradaGanadoPL(); List <FiltroAnimalesReemplazoArete> aretes = entradaGanadoPL.ObtenerReemplazoAretes(Contexto.EntradaGanado); if (aretes == null) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ReemplazoArete_SinAretes, MessageBoxButton.OK, MessageImage.Warning); InicializaContexto(); return; } FiltroAnimalesReemplazoArete primerArete = aretes.FirstOrDefault(); if (primerArete != null) { Contexto.CabezasOrigen = primerArete.CabezasOrigen; Contexto.CabezasRecibidas = primerArete.CabezasRecibidas; Contexto.CabezasCortadas = aretes.Count(arete => arete.AnimalID != 0 && arete.FolioEntradaCorte == Contexto.EntradaGanado.FolioEntrada); } aretes.ForEach(are => { if (string.IsNullOrWhiteSpace(are.AreteCorte) || are.FolioEntradaCentro != are.FolioEntradaCorte) { are.PermiteEditar = true; are.AreteCorte = are.AreteCentro; } }); Contexto.ListaAretes = aretes; CargarAretesGrid(); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ReemplazoArete_ErrorCargarAretes, MessageBoxButton.OK, MessageImage.Error); } }
public static int ObtenerExisteArete(string corralCodigo, string arete, bool validarDeteccion) { int retorno = 0; string areteDeteccion = string.Empty, areteMuerte = string.Empty; try { SeguridadInfo seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; IList <AnimalInfo> animales = null; int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID; var animalPl = new AnimalPL(); var corralPl = new CorralPL(); var lotePL = new LotePL(); AnimalInfo animal = null; CorralInfo corral = null; LoteInfo lote = null; corral = corralPl.ObtenerCorralPorCodigo(organizacionId, corralCodigo); corral.Organizacion = new OrganizacionInfo { OrganizacionID = organizacionId }; if (validarDeteccion) { areteDeteccion = animalPl.obtenerExisteDeteccion(arete); } if (areteDeteccion == string.Empty) { areteMuerte = animalPl.obtenerExisteMuerte(arete); if (areteMuerte == string.Empty) { if (corral.TipoCorral.TipoCorralID != (int)TipoCorral.Recepcion && corral.TipoCorral.TipoCorralID != (int)TipoCorral.CorraletaSacrificio) { animales = animalPl.ObtenerAnimalesPorCorral(corral, organizacionId); if (animales != null) { for (int i = 0; i < animales.Count; i++) { if (arete == animales[i].Arete) { return(1); } } } /* Validar Si el arete existe en el inventario y es carga inicial */ var animalInventario = animalPl.ObtenerAnimalPorArete(arete, organizacionId); if (animalInventario == null) { retorno = 0; } } else if (corral.TipoCorral.TipoCorralID == (int)TipoCorral.CorraletaSacrificio) { animal = animalPl.ObtenerAnimalPorArete(arete, organizacionId); if (animal != null) { if (animalPl.ObtenerExisteSalida(animal.AnimalID) > 0) { retorno = 1; } } } else { var entrada = new EntradaGanadoPL(); lote = lotePL.ObtenerLotesActivos(organizacionId, corral.CorralID); if (lote != null) { var datosEntrada = entrada.ObtenerEntradaPorLote(lote); if (datosEntrada != null) { if (datosEntrada.TipoOrganizacionOrigenId != (int)TipoOrganizacion.CompraDirecta) { int salida = corralPl.ObtenerExisteInterfaceSalida(organizacionId, corralCodigo, arete); if (salida > 0) { retorno = 1; // Existe arete en la interface } else { retorno = 0;//Valido, pero aqui va la validacion de interfaz salida } } else { /* Si es compra directa validar q el arete no exista en el inventario */ var animalInventario = animalPl.ObtenerAnimalPorArete(arete, organizacionId); if (animalInventario != null) { retorno = 0;// el arete ya existe en el inventario } else { retorno = 1;//Valido, es compra directa y no existe en el inventario } } } } } } else { retorno = 3;//Muerto } } else { retorno = 2;//Detectado } } catch (Exception ex) { Logger.Error(ex); } return(retorno); }
public static TarjetaRecepcionGanadoInfo TraerEntradaGanado(EntradaGanadoInfo entradaGanadoInfo) { try { TarjetaRecepcionGanadoInfo result = null; var seguridad = (SeguridadInfo)ObtenerSeguridad(); var entradaPl = new EntradaGanadoPL(); var entradaGanadoCalidadPl = new EntradaGanadoCalidadPL(); var operadorPL = new OperadorPL(); var choferPL = new ChoferPL(); var jaulaPL = new JaulaPL(); int folioEntrada = entradaGanadoInfo.FolioEntrada; int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID; //entradaGanadoInfo.OrganizacionID; entradaGanadoInfo = entradaPl.ObtenerPorFolioEntrada(folioEntrada, organizacionId); if (entradaGanadoInfo != null) { var entradaGanadoCalidad = entradaGanadoCalidadPl.ObtenerEntradaGanadoId(entradaGanadoInfo.EntradaGanadoID); if (entradaGanadoCalidad == null) { result = new TarjetaRecepcionGanadoInfo { ConteoCapturado = false }; return(result); } if (entradaGanadoCalidad.All(ent => ent.EntradaGanadoID == 0)) { result = new TarjetaRecepcionGanadoInfo { ConteoCapturado = false }; return(result); } int embarqueId = entradaGanadoInfo.EmbarqueID; var embarquePL = new EmbarquePL(); var embarque = embarquePL.ObtenerPorID(embarqueId); CorralInfo corral = TraerCorralPorEmbarque(embarque.FolioEmbarque); result = new TarjetaRecepcionGanadoInfo { EntradaGanado = entradaGanadoInfo, Operador = operadorPL.ObtenerPorID(entradaGanadoInfo.OperadorID), Chofer = choferPL.ObtenerPorID(entradaGanadoInfo.ChoferID), Jaula = jaulaPL.ObtenerPorID(entradaGanadoInfo.JaulaID), Corral = corral, ConteoCapturado = true }; } return(result); } catch (Exception ex) { Logger.Error(ex); throw; } }
public static string Guardar(EntradaGanadoInfo entradaGanadoInfo) { try { var seguridad = (SeguridadInfo)ObtenerSeguridad(); int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID; int folioEntrada = entradaGanadoInfo.FolioEntrada; int corralId = entradaGanadoInfo.CorralID; int usuarioId = seguridad.Usuario.UsuarioID; var entradaGanadoPL = new EntradaGanadoPL(); EntradaGanadoInfo infoGrabar = entradaGanadoPL.ObtenerPorFolioEntrada(folioEntrada, organizacionId); int embarqueId = infoGrabar.EmbarqueID; foreach (var condicion in entradaGanadoInfo.ListaCondicionGanado) { condicion.UsuarioID = usuarioId; } infoGrabar.CabezasRecibidas = entradaGanadoInfo.CabezasRecibidas; infoGrabar.ListaCondicionGanado = entradaGanadoInfo.ListaCondicionGanado; infoGrabar.UsuarioModificacionID = usuarioId; infoGrabar.CorralID = entradaGanadoInfo.CorralID; infoGrabar.ManejoSinEstres = entradaGanadoInfo.ManejoSinEstres; LoteInfo loteInfo = ObtenerLoteCorralRuteo(organizacionId, corralId, embarqueId); if (loteInfo == null) { loteInfo = infoGrabar.Lote; TipoOrganizacionInfo tipoOrganizacion = TraerTipoOrganizacion(infoGrabar.TipoOrigen); loteInfo.TipoProcesoID = tipoOrganizacion.TipoProceso.TipoProcesoID; loteInfo.OrganizacionID = organizacionId; loteInfo.UsuarioCreacionID = usuarioId; if (corralId > 0) { CorralInfo corral = TraerCorralPorId(corralId); if (corral != null) { loteInfo.CorralID = corralId; loteInfo.TipoCorralID = corral.TipoCorral.TipoCorralID; } } loteInfo.Activo = EstatusEnum.Activo; loteInfo.DisponibilidadManual = false; loteInfo.Cabezas = infoGrabar.CabezasRecibidas; loteInfo.CabezasInicio = infoGrabar.CabezasOrigen; } else { //Obtener programaciones por corral int total = entradaGanadoPL.ObtenerPorCorralDisponible(organizacionId, corralId, embarqueId); if (total > 0) { return("ERROR"); } loteInfo.Cabezas = infoGrabar.CabezasRecibidas; loteInfo.CabezasInicio = infoGrabar.CabezasRecibidas; loteInfo.UsuarioModificacionID = usuarioId; infoGrabar.Lote = loteInfo; } infoGrabar.CondicionJaula = entradaGanadoInfo.CondicionJaula; entradaGanadoPL.GuardarEntradaCondicion(infoGrabar); return("OK"); } catch (Exception ex) { Logger.Error(ex); throw; } }
public static List <AnimalInfo> ObtenerAnimalesPorCodigoCorral(CorralInfo corralInfo) { try { var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID; bool validarSalida = true; var animalPl = new AnimalPL(); var corralPl = new CorralPL(); var entrada = new EntradaGanadoPL(); List <AnimalInfo> listaanimales = null; var corralIn = corralPl.ObtenerCorralPorCodigo(organizacionId, corralInfo.Codigo); if (corralIn != null) { var lotePl = new LotePL(); var lote = lotePl.ObtenerLotesActivos(organizacionId, corralIn.CorralID); if (lote != null) { if (corralIn.GrupoCorral == (int)GrupoCorralEnum.Enfermeria || corralIn.GrupoCorral == (int)GrupoCorralEnum.Produccion) { listaanimales = animalPl.ObtenerAnimalesPorCorral(corralInfo, organizacionId); } else if (corralIn.GrupoCorral == (int)GrupoCorralEnum.Recepcion) { var datosEntrada = entrada.ObtenerEntradaPorLote(lote); if (datosEntrada != null) { if (datosEntrada.TipoOrganizacionOrigenId == (int)TipoOrganizacion.CompraDirecta) { validarSalida = false; } } AnimalInfo animal; if (validarSalida) { listaanimales = new List <AnimalInfo>(); var interfaz = new InterfaceSalidaAnimalPL(); var anim = interfaz.ObtenerAretesInterfazSalidaAnimal(corralInfo.Codigo, organizacionId); if (anim != null) { foreach (InterfaceSalidaAnimalInfo interfaceAnimal in anim) { animal = new AnimalInfo(); animal.Arete = interfaceAnimal.Arete; listaanimales.Add(animal); } } else { animal = new AnimalInfo { AnimalID = -1 }; listaanimales.Add(animal); } } } } } return(listaanimales); } catch (Exception ex) { Logger.Error(ex); throw; } }