コード例 #1
0
 public DatosProgramacionBasculaMateriaPrima(ParametrosDetallePedidoInfo parametrosDetallePedidoInfoParam)
 {
     InitializeComponent();
     parametrosDetallePedidoInfo = parametrosDetallePedidoInfoParam;
     productoID = parametrosDetallePedidoInfo.Producto.ProductoId;
     AgregarAyudaProveedor();
     AgregarAyudaChofer();
     AgregarAyudaCamion();
     CargarDatosProducto();
     CargarDatosGrid();
 }
コード例 #2
0
        public static List <PedidoInfo> ObtenerFolios(int folioPedido)
        {
            var seguridad                  = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;
            int organizacionId             = 0;
            List <PedidoInfo> listaPedidos = null;
            var pedidosPl                  = new PedidosPL();

            if (seguridad != null)
            {
                organizacionId = seguridad.Usuario.Organizacion.OrganizacionID;
            }

            listaPedidos = pedidosPl.ObtenerPedidosProgramadosYParciales(new PedidoInfo
            {
                FolioPedido  = folioPedido,// 0 Regresa todos los folios.
                Organizacion = new OrganizacionInfo {
                    OrganizacionID = organizacionId
                },
                Activo = EstatusEnum.Activo
            });

            List <PedidoInfo> listaPedidoGenerico = null;

            if (listaPedidos != null)
            {
                foreach (var pedido in listaPedidos)
                {
                    if (pedido.DetallePedido != null)
                    {
                        int contadorProducto = 0, contadorPesaje = 0;

                        foreach (PedidoDetalleInfo pedidoDetalle in pedido.DetallePedido)
                        {
                            contadorProducto++;

                            var detalle = new ParametrosDetallePedidoInfo
                            {
                                Producto           = pedidoDetalle.Producto,
                                PedidoDetalleId    = pedidoDetalle.PedidoDetalleId,
                                LoteProceso        = pedidoDetalle.InventarioLoteDestino,
                                CantidadSolicitada = pedidoDetalle.CantidadSolicitada
                            };

                            if (pedidoDetalle.ProgramacionMateriaPrima != null)
                            {
                                foreach (var programacion in pedidoDetalle.ProgramacionMateriaPrima)
                                {
                                    if (programacion.PesajeMateriaPrima != null)
                                    {
                                        foreach (var pesajeMateriaPrima in
                                                 programacion.PesajeMateriaPrima.Where(
                                                     pesajeMateriaPrima => pesajeMateriaPrima.PesoTara > 0))
                                        {
                                            contadorPesaje++;
                                        }
                                    }
                                }
                            }
                        }

                        if (contadorPesaje != contadorProducto)
                        {
                            if (listaPedidoGenerico == null)
                            {
                                listaPedidoGenerico = new List <PedidoInfo>();
                            }

                            listaPedidoGenerico.Add(pedido);
                        }
                    }
                }
            }

            if (listaPedidoGenerico != null)
            {
                listaPedidoGenerico = listaPedidoGenerico.OrderBy(x => x.FolioPedido).ToList();
            }
            return(listaPedidoGenerico);
        }
コード例 #3
0
        public static List <ParametrosDetallePedidoInfo> ObtenerPedidoPorTicket(int ticket, int folio)
        {
            var seguridad      = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;
            int organizacionId = 0;
            var pedidosPl      = new PedidosPL();

            try
            {
                if (seguridad != null)
                {
                    organizacionId = seguridad.Usuario.Organizacion.OrganizacionID;
                }

                List <ParametrosDetallePedidoInfo> pedidoDetalleGenerico = null;

                var pedidoSeleccionado = pedidosPl.ObtenerPedidoPorFolio(folio, organizacionId);

                if (pedidoSeleccionado != null)
                {
                    foreach (PedidoDetalleInfo pedidoDetalle in pedidoSeleccionado.DetallePedido)
                    {
                        bool agregarProducto = false;

                        var detalle = new ParametrosDetallePedidoInfo
                        {
                            Producto           = pedidoDetalle.Producto,
                            PedidoDetalleId    = pedidoDetalle.PedidoDetalleId,
                            LoteProceso        = pedidoDetalle.InventarioLoteDestino,
                            CantidadSolicitada = pedidoDetalle.CantidadSolicitada
                        };

                        if (pedidoDetalle.ProgramacionMateriaPrima != null)
                        {
                            foreach (var programacion in pedidoDetalle.ProgramacionMateriaPrima
                                     )
                            {
                                if (programacion.PesajeMateriaPrima != null)
                                {
                                    foreach (
                                        var pesajeMateriaPrima in
                                        programacion.PesajeMateriaPrima.Where(
                                            pesajeMateriaPrima =>
                                            pesajeMateriaPrima.PesoTara > 0 &&
                                            pesajeMateriaPrima.Ticket == ticket))
                                    {
                                        agregarProducto = true;
                                    }
                                }
                            }

                            detalle.CantidadEntregada =
                                pedidoDetalle.ProgramacionMateriaPrima.Sum(
                                    programacionMateria => programacionMateria.CantidadEntregada);
                        }

                        detalle.CantidadPendiente = pedidoDetalle.CantidadSolicitada -
                                                    detalle.CantidadEntregada;

                        if (agregarProducto)
                        {
                            if (pedidoDetalleGenerico == null)
                            {
                                pedidoDetalleGenerico = new List <ParametrosDetallePedidoInfo>();
                            }

                            pedidoDetalleGenerico.Add(detalle);
                        }
                    }
                }

                return(pedidoDetalleGenerico);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
コード例 #4
0
        public static List <ParametrosDetallePedidoInfo> ObtenerPedidoFolio(int folioPedido)
        {
            var seguridad                  = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;
            int organizacionId             = 0;
            List <PedidoInfo> listaPedidos = null;
            var pedidosPl                  = new PedidosPL();

            try
            {
                if (seguridad != null)
                {
                    organizacionId = seguridad.Usuario.Organizacion.OrganizacionID;
                }

                listaPedidos = pedidosPl.ObtenerPedidosProgramadosYParciales(new PedidoInfo
                {
                    FolioPedido  = folioPedido, // 0 Regresa todos los folios.
                    Organizacion = new OrganizacionInfo {
                        OrganizacionID = organizacionId
                    },
                    Activo = EstatusEnum.Activo
                });

                List <ParametrosDetallePedidoInfo> pedidoDetalleGenerico = null;

                if (listaPedidos != null)
                {
                    PedidoInfo pedido = listaPedidos.First();

                    if (pedido.DetallePedido != null)
                    {
                        foreach (PedidoDetalleInfo pedidoDetalle in pedido.DetallePedido)
                        {
                            var agregarProducto = true;

                            var detalle = new ParametrosDetallePedidoInfo
                            {
                                Producto           = pedidoDetalle.Producto,
                                PedidoDetalleId    = pedidoDetalle.PedidoDetalleId,
                                LoteProceso        = pedidoDetalle.InventarioLoteDestino,
                                CantidadSolicitada = pedidoDetalle.CantidadSolicitada
                            };

                            if (pedidoDetalle.ProgramacionMateriaPrima != null)
                            {
                                foreach (var programacion in pedidoDetalle.ProgramacionMateriaPrima
                                         )
                                {
                                    if (programacion.PesajeMateriaPrima != null)
                                    {
                                        foreach (
                                            var pesajeMateriaPrima in
                                            programacion.PesajeMateriaPrima.Where(
                                                pesajeMateriaPrima => pesajeMateriaPrima.PesoTara > 0))
                                        {
                                            agregarProducto = false;
                                        }
                                    }
                                }

                                detalle.CantidadEntregada =
                                    pedidoDetalle.ProgramacionMateriaPrima.Sum(
                                        programacionMateria => programacionMateria.CantidadEntregada);
                            }

                            detalle.CantidadPendiente = pedidoDetalle.CantidadSolicitada - detalle.CantidadEntregada;

                            if (pedidoDetalle.Producto == null)
                            {
                                agregarProducto = false;
                            }

                            if (agregarProducto)
                            {
                                if (pedidoDetalleGenerico == null)
                                {
                                    pedidoDetalleGenerico = new List <ParametrosDetallePedidoInfo>();
                                }

                                pedidoDetalleGenerico.Add(detalle);
                            }
                        }
                    }
                }
                return(pedidoDetalleGenerico);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }