Example #1
0
        private bool ValidarCorralesActivos()
        {
            var  pl              = new OrdenSacrificioPL();
            bool result          = false;
            var  detSeleccionado = new List <OrdenSacrificioDetalleInfo>();

            foreach (var d in Modelo.DetalleOrden)
            {
                if (d.Seleccionar == 1)
                {
                    detSeleccionado.Add(d);
                }
            }
            var corralesConLote = pl.ValidarCorralConLotesActivos(organizacionId, detSeleccionado);
            var mensaje         = string.Empty;

            foreach (var ccl in corralesConLote)
            {
                mensaje = mensaje != string.Empty ? string.Format("{0}, {1}", mensaje, ccl) : string.Format("{0}", ccl);
            }

            if (mensaje != string.Empty)
            {
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], string.Format(Properties.Resources.CancelacionOrdenSacrificio_MsjCorralesConLote, mensaje), MessageBoxButton.OK, MessageImage.Warning);
            }
            else
            {
                result = true;
            }

            return(result);
        }
Example #2
0
        private void CancelarSoloOrdenSIAP()
        {
            var    osPl  = new OrdenSacrificioPL();
            string fecha = dtpFecha.SelectedDate.Value.ToString("yyyy-MM-dd");

            var detSeleccionado = new List <OrdenSacrificioDetalleInfo>();

            foreach (var d in Modelo.DetalleOrden)
            {
                if (d.Seleccionar == 1)
                {
                    detSeleccionado.Add(d);
                }
            }

            var xml = ArmarXMLGuardar(detSeleccionado, fecha);

            if (osPl.ValidaCancelacionCabezasSIAP(xml, Modelo.OrdenSacrificioID, usuarioId))
            {
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.CancelacionOrdenSacrificio_GuardarExito, MessageBoxButton.OK, MessageImage.Correct);
                ObtenerOrdenSacrificio();
            }
            else
            {
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.CancelacionOrdenSacrificio_ErrorCancelarOS, MessageBoxButton.OK, MessageImage.Correct);
            }
        }
Example #3
0
        public static Respuesta <Obtener_Sacrificio_Model> Obtener_Sacrificio(Peticion <Obtener_Sacrificio_Request> req)
        {
            var feedBack = new Respuesta <Obtener_Sacrificio_Model> {
                Mensaje = string.Empty, Resultado = false, Datos = new Obtener_Sacrificio_Model()
            };

            try
            {
                var seguridad       = (SeguridadInfo)HttpContext.Current.Session["Seguridad"];
                var fechaSacrificio = req.Datos.FechaSacrificio.ToString("yyyy-MM-dd");
                var pl        = new OrdenSacrificioPL();
                var resultScp = pl.ObtenerResumenSacrificioScp(fechaSacrificio, seguridad.Usuario.OrganizacionID);
                resultScp.ForEach(e => e.OrganizacionID = seguridad.Usuario.OrganizacionID);
                if (resultScp.Any())
                {
                    var resultSiap = pl.ObtenerResumenSacrificioSiap(resultScp);
                    feedBack.Datos.TotalCabezas = resultScp.Count;
                    feedBack.Datos.Organizacion = seguridad.Usuario.Organizacion.Descripcion;
                    feedBack.Datos.Sacrificio   = resultSiap.ToArray();
                    feedBack.Resultado          = true;
                }
                else
                {
                    feedBack.Mensaje = string.Format("No se encontraron registros para la fecha de sacrifico especificada {0}.", req.Datos.FechaSacrificio.ToString("yyyy-MM-dd"));
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                feedBack.Mensaje = string.Format("Ocurrió un error al obtener sacrificio.: " + ex.Message);
            }

            return(feedBack);
        }
Example #4
0
        public void ObtenerOrdenSacrificio()
        {
            string fecha = dtpFecha.SelectedDate.ToString();

            datosDetalleOrden   = new Dictionary <int, int>();
            dicCabezas          = new Dictionary <int, int>();
            datoAnteriorCabezas = new Dictionary <int, int>();
            var ordensacrificioPL = new OrdenSacrificioPL();

            Modelo = ordensacrificioPL.OrdenSacrificioFecha(fecha, organizacionId);
            if (Modelo == null)
            {
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], string.Format(Properties.Resources.CancelacionOrdenSacrificio_NoExisteOS, fecha.Substring(0, 10)), MessageBoxButton.OK, MessageImage.Warning);
            }
            else
            {
                Modelo.DetalleOrden = ordensacrificioPL.ObtenerDetalleOrden(Modelo.OrdenSacrificioID);
                if (Modelo.DetalleOrden != null)
                {
                    if (Modelo.DetalleOrden.Count == 0)
                    {
                        SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.CancelacionOrdenSacrificio_ValidarExisteOS, MessageBoxButton.OK, MessageImage.Warning);
                    }
                    else
                    {
                        foreach (var od in Modelo.DetalleOrden)
                        {
                            if (od.Corral.TipoCorral.TipoCorralID != TipoCorral.Intensivo.GetHashCode() && od.CabezasActuales == 0)
                            {
                                od.Seleccionable = false;
                            }
                            listaOrdenDetalle.Add(od);
                        }

                        foreach (var dd in Modelo.DetalleOrden)
                        {
                            datosDetalleOrden.Add(dd.Lote.LoteID, dd.CabezasASacrificar);
                        }
                        Modelo.DetalleOrden.ToList().ForEach(e =>
                        {
                            dicCabezas.Add(e.Lote.LoteID, e.CabezasASacrificar);
                            datoAnteriorCabezas.Add(e.Lote.LoteID, e.CabezasASacrificar);
                        });
                        gridOrdenesSacrificios.GetBindingExpression(
                            DataGrid.ItemsSourceProperty)
                        .UpdateTarget();
                    }
                }
                else
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.CancelacionOrdenSacrificio_ValidarExisteOS, MessageBoxButton.OK, MessageImage.Warning);
                }
            }
        }
        public void ObtenerOrdenesSacrificio()
        {
            try
            {
                var ordenSacrificio = new OrdenSacrificioPL();
                var seguridad       = (SeguridadInfo)HttpContext.Current.Session["Seguridad"];
                if (seguridad != null)
                {
                    var ordenSacrificioDia = (new OrdenSacrificioInfo
                    {
                        OrganizacionID = seguridad.Usuario.Organizacion.OrganizacionID,
                        FechaOrden = DateTime.Today,
                        EstatusID = (int)Estatus.OrdenSacrificioPendiente
                    });

                    var orden = ordenSacrificio.ObtenerOrdenSacrificioDelDia(ordenSacrificioDia);

                    if (orden != null)
                    {
                        var listaBusqueda = (from item in orden.DetalleOrden
                                             select new
                        {
                            item.Corraleta.Codigo,
                            item.Lote.Lote,
                            item.Cabezas,
                            item.CabezasASacrificar,
                            FechaCreacion = DateTime.Today.Date,
                            item.Usuario.Nombre,
                            item.Lote.LoteID,
                            item.Corraleta.CorralID,
                            item.OrdenSacrificioDetalleID
                        }).ToList();
                        gvBusqueda.DataSource = listaBusqueda;
                        gvBusqueda.DataBind();
                    }
                    else
                    {
                        gvBusqueda.DataSource = new List <OrdenSacrificioInfo>();
                        gvBusqueda.DataBind();
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }
        }
Example #6
0
        private bool ConsultarEstatus(List <OrdenSacrificioDetalleInfo> detalle)
        {
            var result = false;

            try
            {
                var    pl    = new OrdenSacrificioPL();
                string fecha = dtpFecha.SelectedDate.Value.ToString("yyyy-MM-dd");
                var    lotes = pl.ConsultarEstatusOrdenSacrificioEnMarel(organizacionId, fecha, detalle);
                result = ObtenerLotesConDeterminadoEstatus(lotes);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.CancelacionOrdenSacrificio_ErrorConsultarEstatus, MessageBoxButton.OK, MessageImage.Error);
            }
            return(result);
        }
Example #7
0
 private void btnImprimir_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         if (gridOrdenesSacrificios.Items.Count > 0)
         {
             var ordenSacrificioPl = new OrdenSacrificioPL();
             ordenSacrificioPl.ImprimirOrdenSacrificio(ObtenerEtiquetasImpresion(), Modelo.DetalleOrden);
         }
         else
         {
             SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                               Properties.Resources.OrdenSacrificio_ErrorImprimir, MessageBoxButton.OK, MessageImage.Warning);
         }
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.CancelacionOrdenSacrificio_ErrorInesperado, MessageBoxButton.OK, MessageImage.Error);
     }
 }
Example #8
0
        private void Guardar()
        {
            try
            {
                var    osPl    = new OrdenSacrificioPL();
                var    guardar = true;
                string fecha   = dtpFecha.SelectedDate.Value.ToString("yyyy-MM-dd");

                var detSeleccionado = new List <OrdenSacrificioDetalleInfo>();
                foreach (var d in Modelo.DetalleOrden)
                {
                    if (d.Seleccionar == 1)
                    {
                        detSeleccionado.Add(d);
                    }
                }

                var xml  = ArmarXMLGuardar(detSeleccionado, fecha);
                var xml2 = ArmarXMLGuardarMarel(detSeleccionado, fecha);
                if (AplicaEnvioMarel())
                {
                    if (ConsultarEstatus(detSeleccionado))
                    {
                        if (!osPl.CancelacionOrdenSacrificioMarel(xml2, Modelo.OrganizacionID))
                        {
                            guardar = false;
                            SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.CancelacionOrdenSacrificio_ErrorCancelarOS, MessageBoxButton.OK, MessageImage.Correct);
                        }
                    }
                    else
                    {
                        guardar = false;
                    }
                }
                else
                {
                    /// aqui hay que mover
                    if (!osPl.CancelacionOrdenSacrificioSCP(xml, fecha, organizacionId))
                    {
                        guardar = false;
                    }
                }

                if (guardar)
                {
                    if (osPl.ValidaCancelacionCabezasSIAP(xml, Modelo.OrdenSacrificioID, usuarioId))
                    {
                        SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.CancelacionOrdenSacrificio_GuardarExito, MessageBoxButton.OK, MessageImage.Correct);
                        ObtenerOrdenSacrificio();
                    }
                    else
                    {
                        SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.CancelacionOrdenSacrificio_ErrorCancelarOS, MessageBoxButton.OK, MessageImage.Correct);
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }
        }
        public static int ObtenerHabilitarEstadoComedero(int loteID)
        {
            int resultado = 0;
            ProgramacionReimplantePL programacionReinplantePL = new ProgramacionReimplantePL();
            OrdenSacrificioPL        ordenSacrificioPL        = new OrdenSacrificioPL();
            LotePL lotePL = new LotePL();

            LoteInfo            lote  = new LoteInfo();
            OrdenSacrificioInfo orden = new OrdenSacrificioInfo();

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

                if (seguridad != null)
                {
                    lote = lotePL.ObtenerPorId(loteID);

                    if (lote != null)
                    {
                        //Se verifica si el corral va a Zilmax
                        if (lote.FechaDisponibilidad.ToShortDateString() != DateTime.Now.ToShortDateString())
                        {
                            resultado = 1;
                        }

                        //Se verifica si el corral va a reimplante
                        if (resultado == 1)
                        {
                            List <ProgramacionReinplanteInfo> programacionReinplante = null;
                            programacionReinplante = programacionReinplantePL.ObtenerProgramacionReimplantePorLoteID(lote);

                            if (programacionReinplante.Count > 0)
                            {
                                if (programacionReinplante.First().Fecha.ToShortDateString() == DateTime.Now.ToShortDateString())
                                {
                                    resultado = 0;
                                }
                            }
                        }

                        //Se verifica si el corral va a sacrificio
                        if (resultado == 1)
                        {
                            orden.FechaOrden     = DateTime.Now;
                            orden.OrganizacionID = organizacionId;
                            orden.EstatusID      = (int)Estatus.OrdenSacrificioPendiente;
                            orden = ordenSacrificioPL.ObtenerOrdenSacrificioDelDia(orden);

                            if (orden != null)
                            {
                                for (var i = 0; i < orden.DetalleOrden.Count; i++)
                                {
                                    if (orden.DetalleOrden[i].Lote.LoteID == lote.LoteID)
                                    {
                                        resultado = 0;
                                    }
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(resultado);
        }