Esempio n. 1
0
        public static string CancelarMovimientoMuerte(MuerteInfo ganadoMuertoInfo)
        {
            try
            {
                ganadoMuertoInfo.Activo            = EstatusEnum.Activo;
                ganadoMuertoInfo.UsuarioCreacionID = usuarioID;
                ganadoMuertoInfo.EstatusId         = (int)EstatusMuertes.Cancelado;

                ganadoMuertoInfo.OperadorCancelacionInfo = new OperadorInfo
                {
                    OperadorID = usuario.Usuario.Operador.OperadorID
                };


                var muertePL = new MuertePL();

                muertePL.CancelarMovimientoMuerte(ganadoMuertoInfo);

                return("OK");
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }
        }
        public static Response <MuerteInfo> GuardarRecepcion(string value)
        {
            Response <MuerteInfo> retValue = null;

            try
            {
                var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"];
                //informacion del la organzacion y usuario
                if (seguridad != null)
                {
                    var values    = Utilerias.Deserializar <List <MuerteInfo> >(value);
                    var guardarPl = new MuertePL();

                    var resultado = guardarPl.GuardarRecepcionGanadoMuerto(values, seguridad.Usuario.Operador.OperadorID);

                    if (resultado == 1)
                    {
                        retValue = Response <MuerteInfo> .CrearResponseVacio <MuerteInfo>(true, "OK");
                    }
                }
                else
                {
                    retValue = Response <MuerteInfo> .CrearResponseVacio <MuerteInfo>(false, "Fallo al guardar recepcion. Su sesión a expirado, por favor ingrese de nuevo");
                }
            }
            catch (Exception ex)
            {
                retValue = Response <MuerteInfo> .CrearResponseVacio <MuerteInfo>(false, "Error inesperado: " + ex.InnerException.Message);
            }

            return(retValue);
        }
Esempio n. 3
0
        public static AnimalInfo ObtenerExisteArete(string arete)
        {
            AnimalInfo animal = null;

            try
            {
                var animalPL       = new AnimalPL();
                var muertePL       = new MuertePL();
                var seguridad      = (SeguridadInfo)HttpContext.Current.Session["Seguridad"];
                int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID;

                animal = animalPL.ObtenerAnimalPorArete(arete, organizacionId);

                if (animal != null)
                {
                    MuerteInfo muerto = muertePL.ObtenerMuertoPorArete(organizacionId, arete);
                    if (muerto != null)
                    {
                        animal.AnimalID = -1;
                    }
                }

                //ObtenerCorralDestinoAnimal(arete);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(animal);
        }
        public static Response <MuerteInfo> GuardarSalida(string value)
        {
            Response <MuerteInfo> retValue = null;

            try
            {
                var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"];
                //informacion del la organzacion y usuario
                if (seguridad != null)
                {
                    var values    = Utilerias.Deserializar <MuerteInfo>(value);
                    var guardarPl = new MuertePL();

                    var muerte = new MuerteInfo()
                    {
                        MuerteId            = values.MuerteId,
                        AnimalId            = values.AnimalId,
                        LoteId              = values.LoteId,
                        CorralId            = values.CorralId,
                        OrganizacionId      = seguridad.Usuario.Organizacion.OrganizacionID,
                        ProblemaId          = values.ProblemaId,
                        FotoNecropsia       = values.FotoNecropsia,
                        Observaciones       = values.Observaciones,
                        Arete               = values.Arete,
                        AreteMetalico       = values.AreteMetalico,
                        OperadorNecropsiaId = seguridad.Usuario.Operador.OperadorID,
                        Peso = values.Peso,
                        UsuarioCreacionID = seguridad.Usuario.UsuarioID,
                        EstatusId         = (int)EstatusMuertes.Necropsia,
                        CorralCodigo      = values.CorralCodigo
                    };
                    if (muerte != null)
                    {
                        muerte.FotoNecropsia = TipoFoto.Necropsia.ToString() + '/' + muerte.FotoNecropsia;
                    }

                    var resultado = guardarPl.GuardarSalidaPorMuerteNecropsia(muerte);

                    if (resultado == 1)
                    {
                        retValue = Response <MuerteInfo> .CrearResponseVacio <MuerteInfo>(true, "OK");
                    }
                }
                else
                {
                    retValue = Response <MuerteInfo> .CrearResponseVacio <MuerteInfo>(false, "Fallo al guardar salida. Su sesión a expirado, por favor ingrese de nuevo");
                }
            }
            catch (Exception ex)
            {
                retValue = Response <MuerteInfo> .CrearResponseVacio <MuerteInfo>(false, "Error inesperado: " + ex.InnerException.Message);
            }

            return(retValue);
        }
        public static IList <ProblemaInfo> ObtenerListaProblemas()
        {
            IList <ProblemaInfo> retValue = null;
            var pl = new MuertePL();

            try
            {
                retValue = pl.ObtenerListaProblemasNecropsia();
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }

            return(retValue);
        }
Esempio n. 6
0
        public static IList <MuerteInfo> ObtenerInformacionCancelarMovimiento()
        {
            IList <MuerteInfo> muertes = null;

            try
            {
                var muertesPl = new MuertePL();
                muertes =
                    muertesPl.ObtenerInformacionCancelarMovimiento(organizacionID)
                    ?? new List <MuerteInfo>();
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }
            return(muertes);
        }
        public static IList <MuerteInfo> ObtenerAretesMuertosRecepcion()
        {
            IList <MuerteInfo> retValue = null;

            retValue = null;
            var pl = new MuertePL();

            try
            {
                var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"];
                if (seguridad != null)
                {
                    retValue = pl.ObtenerGanadoMuertoParaRecepcion(seguridad.Usuario.Organizacion.OrganizacionID);
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }

            return(retValue);
        }
Esempio n. 8
0
        public static int GuardarMuerte(MuerteInfo muerte)
        {
            int retValue = 0;

            try
            {
                CorralInfo corral   = new CorralInfo();
                CorralPL   corralPL = new CorralPL();
                AnimalPL   animalPL = new AnimalPL();
                LotePL     lotePL   = new LotePL();
                corral = ObtenerCorral(muerte.CorralCodigo);
                var        seguridad      = (SeguridadInfo)HttpContext.Current.Session["Seguridad"];
                LoteInfo   lote           = ObtenerLotesCorral(corral.CorralID);
                int        organizacionID = 0;
                AnimalInfo animal         = null;
                MuerteInfo muerteGrabar   = null;
                // 1 se encuentra en corral 2 Carga Inicial
                var esCargaInicial = FlagCargaInicial.Default;
                //informacion del la organzacion y usuario
                if (seguridad != null)
                {
                    organizacionID = seguridad.Usuario.Organizacion.OrganizacionID;
                    var deteccionPl = new DeteccionPL();

                    if (corral.GrupoCorral != (int)GrupoCorralEnum.Recepcion)
                    {
                        if (muerte.Arete != string.Empty && muerte.AreteMetalico == string.Empty)
                        {
                            var animalPl = new AnimalPL();
                            var animales = animalPl.ObtenerAnimalesPorCorral(corral, organizacionID);
                            if (animales != null)
                            {
                                for (int i = 0; i < animales.Count; i++)
                                {
                                    if (muerte.Arete == animales[i].Arete)
                                    {
                                        esCargaInicial = FlagCargaInicial.SeEncuentraEnCorral;
                                        break;
                                    }
                                }
                            }
                            /* Validar Si el arete existe en el inventario */
                            animal = animalPl.ObtenerAnimalPorArete(muerte.Arete, organizacionID);
                            if (animal != null && animal.CargaInicial && esCargaInicial == FlagCargaInicial.Default)
                            {
                                esCargaInicial = FlagCargaInicial.EsCargaInicial;
                            }
                            else if (animal == null)
                            {
                                animal = new AnimalInfo()
                                {
                                    Arete                 = muerte.Arete,
                                    AreteMetalico         = muerte.AreteMetalico,
                                    LoteID                = lote.LoteID,
                                    CorralID              = corral.CorralID,
                                    UsuarioModificacionID = seguridad.Usuario.UsuarioID,
                                };
                                // Este arete se dara de alta en el corral
                                esCargaInicial = FlagCargaInicial.EsAreteNuevo;
                            }
                        }
                        if (muerte.AreteMetalico != string.Empty && muerte.Arete == string.Empty)
                        {
                            animal = animalPL.ObtenerAnimalPorAreteTestigo(muerte.AreteMetalico, organizacionID);
                        }
                    }
                    var    guardarPl = new MuertePL();
                    string foto      = string.Empty;
                    if (muerte.FotoDeteccion != string.Empty)
                    {
                        foto = TipoFoto.Muerte.ToString() + '/' + muerte.FotoDeteccion;
                    }

                    if (animal != null)
                    {
                        muerteGrabar = new MuerteInfo
                        {
                            LoteId              = lote.LoteID,
                            CorralId            = corral.CorralID,
                            OrganizacionId      = seguridad.Usuario.Organizacion.OrganizacionID,
                            FotoDeteccion       = foto,
                            Observaciones       = muerte.Observaciones,
                            Arete               = animal.Arete,
                            AreteMetalico       = animal.AreteMetalico,
                            OperadorDeteccionId = seguridad.Usuario.Operador.OperadorID,
                            UsuarioCreacionID   = seguridad.Usuario.UsuarioID,
                            EstatusId           = (int)EstatusMuertes.Detectado
                        };
                    }
                    else
                    {
                        muerteGrabar = new MuerteInfo
                        {
                            LoteId              = lote.LoteID,
                            CorralId            = corral.CorralID,
                            OrganizacionId      = seguridad.Usuario.Organizacion.OrganizacionID,
                            FotoDeteccion       = foto,
                            Observaciones       = muerte.Observaciones,
                            Arete               = muerte.Arete,
                            AreteMetalico       = muerte.AreteMetalico,
                            OperadorDeteccionId = seguridad.Usuario.Operador.OperadorID,
                            UsuarioCreacionID   = seguridad.Usuario.UsuarioID,
                            EstatusId           = (int)EstatusMuertes.Detectado
                        };
                    }

                    if (corral.TipoCorral.TipoCorralID == (int)TipoCorral.CorraletaSacrificio)
                    {
                        muerteGrabar.LoteId = animalPL.ObtenerLoteSalidaAnimal(muerteGrabar.Arete, muerteGrabar.AreteMetalico, organizacionID);
                    }

                    if (muerteGrabar != null)
                    {
                        muerteGrabar.Corral = corral;
                        var resultado = guardarPl.GuardarMuerte(muerteGrabar,
                                                                esCargaInicial,
                                                                animal);
                        retValue = resultado;
                    }
                }
                else
                {
                    retValue = 0;
                }
            }
            catch (Exception ex)
            {
                retValue = -1;
            }
            return(retValue);
        }
        /// <summary>
        /// Carga la informacion del arete en pantalla
        /// </summary>
        private void LlenarDatosArete()
        {
            MuerteInfo areteMuerto = null;
            var        pl          = new MuertePL();
            var        animalPL    = new AnimalPL();
            var        corralPL    = new CorralPL();

            try
            {
                var seguridad      = (SeguridadInfo)HttpContext.Current.Session["Seguridad"];
                var organizacionID = seguridad.Usuario.Organizacion.OrganizacionID;
                if (seguridad != null)
                {
                    //Se obtiene el Corral para ver Si es de Recepcion
                    corralInfo = corralPL.ObtenerCorralPorCodigo(organizacionID, corralInfo.Codigo);

                    if (corralInfo.GrupoCorral == (int)GrupoCorralEnum.Recepcion)
                    {
                        /* Si el corral es de Recepcion */
                        areteMuerto = pl.ObtenerGanadoMuertoPorAreteRecepcion(organizacionID, numeroArete);
                    }
                    else
                    {
                        /* Si el corral es de Enfermeria o produccion */
                        areteMuerto = pl.ObtenerGanadoMuertoPorArete(organizacionID, numeroArete);
                        if (areteMuerto != null && areteMuerto.AnimalId > 0)
                        {
                            areteMuerto.Peso = animalPL.ObtenerUltimoMovimientoAnimal(new AnimalInfo()
                            {
                                AnimalID = areteMuerto.AnimalId, OrganizacionIDEntrada = organizacionID
                            }).Peso;
                        }
                        else
                        {
                            if (areteMuerto == null)
                            {
                                areteMuerto = new MuerteInfo {
                                    Arete = numeroArete, CorralCodigo = corralInfo.Codigo
                                };
                            }
                            var lote   = new LoteInfo();
                            var lotePl = new LotePL();
                            lote = lotePl.ObtenerPorCorral(organizacionID, corralInfo.CorralID);
                            if (lote != null)
                            {
                                var listaAnimales = animalPL.ObtenerAnimalesPorLoteID(lote);
                                if (listaAnimales != null)
                                {
                                    var listaMovimientosActivos = (from animal in listaAnimales
                                                                   let movimiento = new AnimalMovimientoInfo()
                                                                                    select animalPL.ObtenerUltimoMovimientoAnimal(animal)).ToList();

                                    if (listaMovimientosActivos.Count > 0)
                                    {
                                        areteMuerto.Peso = listaMovimientosActivos.Sum(registro => registro.Peso) /
                                                           listaMovimientosActivos.Count;
                                    }
                                }
                            }
                        }
                    }

                    if (areteMuerto != null)
                    {
                        hdMuerteId.Value = areteMuerto.MuerteId.ToString();
                        hdAnimalId.Value = areteMuerto.AnimalId.ToString();
                        hdCorralId.Value = areteMuerto.CorralId.ToString();
                        hdLoteId.Value   = areteMuerto.LoteId.ToString();

                        if (areteMuerto.MuerteId == 0)
                        {
                            hdMuerteId.Value = muerteId.ToString();
                        }

                        txtCorral.Text            = areteMuerto.CorralCodigo;
                        txtPeso.Text              = areteMuerto.Peso.ToString();
                        txtAreteMetalico.Text     = areteMuerto.AreteMetalico;
                        txtNumeroArete.Text       = areteMuerto.Arete;
                        txtNombreResponsable.Text = seguridad.Usuario.Nombre;
                        lblFechaSalida.Text      += " " + DateTime.Now.ToShortDateString();
                        lblHoraSalida.Text       += " " + DateTime.Now.ToShortTimeString();

                        var parametros = ObtenerParametrosRutaImagenes(seguridad.Usuario.Organizacion.OrganizacionID);
                        imgFotoDeteccion.Visible = false;
                        if (parametros != null && areteMuerto.FotoDeteccion != string.Empty)
                        {
                            imgFotoDeteccion.Visible  = true;
                            imgFotoDeteccion.ImageUrl = parametros.Valor + areteMuerto.FotoDeteccion;
                        }
                    }
                    else
                    {
                        ClientScript.RegisterStartupScript(this.GetType(), "myScript", "MostrarFalloCargarDatos();", true);
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }
        }
Esempio n. 10
0
        /// <summary>
        /// Ocurre cuando se presiona click sobre el control
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnGenerar_OnClick(object sender, RoutedEventArgs e)
        {
            var muertesPl            = new MuertePL();
            var salidaGanadoMuertePl = new SalidaGanadoMuertoPL();
            var muerteInfo           = new MuerteInfo()
            {
                OrganizacionId = Convert.ToInt32(Application.Current.Properties["OrganizacionID"]),
                FechaNecropsia = dtFecha.SelectedDate.Value
            };

            try
            {
                IList <SalidaGanadoMuertoInfo> listaMuertes = muertesPl.ObtenerMuertesFechaNecropsia(muerteInfo);

                if (listaMuertes != null && listaMuertes.Count > 0)
                {
                    int folio = 0;
                    IList <SalidaGanadoMuertoInfo> result = listaMuertes.Where(muerte => muerte.FolioSalida != 0).ToList();
                    if (result != null && result.Count > 0)
                    {
                        folio = result[0].FolioSalida;
                    }
                    else
                    {
                        var salidaGanadoMuerteInfo = new SalidaGanadoMuertoInfo()
                        {
                            OrganizacionID = Convert.ToInt32(Application.Current.Properties["OrganizacionID"]),
                            TipoFolio      = (int)TipoFolio.SalidaGanadoMuerte
                        };
                        folio = salidaGanadoMuertePl.ObtenerFolio(salidaGanadoMuerteInfo);
                    }
                    var organizacionPl   = new OrganizacionPL();
                    var organizacionInfo = new OrganizacionInfo();
                    organizacionInfo = organizacionPl.ObtenerPorID(muerteInfo.OrganizacionId);
                    var etiquetas = ObtenerEtiquetas();
                    etiquetas.Titulo = organizacionInfo.Descripcion;
                    etiquetas.Folio  = folio.ToString().PadLeft(5, '0');
                    etiquetas.Fecha  = dtFecha.Text;

                    listaMuertes[0].FolioSalida           = folio;
                    listaMuertes[0].UsuarioModificacionID = Convert.ToInt32(Application.Current.Properties["UsuarioID"]);

                    salidaGanadoMuertePl.AsignarFolioMuertes(listaMuertes);
                    try
                    {
                        salidaGanadoMuertePl.CrearOrdenSalidaGandoMuerto(etiquetas, listaMuertes);
                        salidaGanadoMuertePl.MostrarReportePantalla();
                    }
                    catch
                    {
                        SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                          Properties.Resources.OrdenSalidaMuerteGanado_msgArchivoAbierto,
                                          MessageBoxButton.OK,
                                          MessageImage.Stop);
                    }
                }
                else
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.OrdenSalidaMuerteGanado_msgNoExistenMuertes,
                                      MessageBoxButton.OK,
                                      MessageImage.Stop);
                    dtFecha.SelectedDate = DateTime.Now;
                }
            }
            catch (System.Exception ex)
            {
                Logger.Error(ex);
            }
        }