Ejemplo n.º 1
0
        //*********************************************
        //                 Validaciones
        //*********************************************

        private void ValidarDatos()
        {
            bool   centroValido  = true;
            bool   entregaValido = true;
            string mensaje       = "";

            //Validacion del Centro
            if (textCentro.Text.Trim().Length == 0)
            {
                centroValido = false;
            }



            //if(){
            //}

            if (!centroValido)
            {
                textCentro.SelectAll();
                textCentro.Focus();
                mensaje = "El centro no existe";
                throw new Exception(mensaje);
            }

            //Validacion de la entrega
            if (textEntrega.Text.Trim().Length == 0)
            {
                entregaValido = false;
            }
            else
            {
                string expresion = "where vstel ='" + textCentro.Text.Trim() + "'";
                ClsEntregasCollection entregasCollection = new ClsEntregasBAL().ConsultarEntregasBAL(expresion);
                IEnumerator           lista = entregasCollection.GetEnumerator();

                entregaValido = false;

                while (lista.MoveNext())
                {
                    var entregaObtenida = (ClsEntregas)lista.Current;

                    if (textEntrega.Text.Trim() == entregaObtenida.Entrega)
                    {
                        entregaValido = true;
                        break;
                    }
                }
            }

            if (!entregaValido)
            {
                textEntrega.SelectAll();
                mensaje = "No existe la entrega";
                textEntrega.Focus();
                throw new Exception(mensaje);
            }
        }
Ejemplo n.º 2
0
        public void IniciarForma()
        {
            ClsDetalleCollection detalleCollection = new ClsEntregasBAL().ConsultarDetalleBAL(IdEntrega, IdCentro);
            IEnumerator          lista             = detalleCollection.GetEnumerator();
            double diferencia = 0;
            double tmpPicking = 0;

            while (lista.MoveNext())
            {
                var detalleObt = (ClsDetalle)lista.Current;

                if (!String.IsNullOrEmpty(detalleObt.Picking))
                {
                    diferencia = Convert.ToDouble(detalleObt.Cantidad) - Convert.ToDouble(detalleObt.Picking);


                    dgvLista.Rows.Add(detalleObt.Entrega, detalleObt.Fecha, detalleObt.Posicion, detalleObt.NumMaterial,
                                      detalleObt.Centro, detalleObt.Almacen,
                                      String.Format("{0:0.000}", detalleObt.Cantidad),
                                      String.Format("{0:0.000}", detalleObt.Picking),
                                      String.Format("{0:0.000}", diferencia),
                                      detalleObt.UnidadMed, detalleObt.Descripcion, detalleObt.UniE);
                }
                else
                {
                    dgvLista.Rows.Add(detalleObt.Entrega, detalleObt.Fecha, detalleObt.Posicion, detalleObt.NumMaterial,
                                      detalleObt.Centro, detalleObt.Almacen,
                                      String.Format("{0:0.000}", detalleObt.Cantidad),
                                      "0.000",
                                      String.Format("{0:0.000}", diferencia),
                                      detalleObt.UnidadMed, detalleObt.Descripcion, detalleObt.UniE);
                }

                if (!String.IsNullOrEmpty(detalleObt.Picking))
                {
                    tmpPicking = Convert.ToDouble(detalleObt.Picking);
                }

                lblPesoTarima.Text = String.Format("{0:0.000}", Convert.ToDouble(lblPesoTarima.Text) + tmpPicking);
            }

            lblTotalEntradas.Text += detalleCollection.Count;

            //Inicializar tabla temporal
            tablaTemporal = new DataTable();
            tablaTemporal.Columns.Add("idTarima", typeof(double));
            tablaTemporal.Columns.Add("idEntrega", typeof(string));
            tablaTemporal.Columns.Add("pedido", typeof(string));
            tablaTemporal.Columns.Add("fecha", typeof(DateTime));

            //Ubicar foco
            textTarima.Focus();
        }
Ejemplo n.º 3
0
        private void textTarima_KeyPress(object sender, KeyPressEventArgs e)
        {
            MensajeApagar();
            bool   tarimaProcesada = false;
            string mensajeTarima   = "";

            //Validar la tecla "Enter"
            if (e.KeyChar == (char)13)
            {
                //Valida que la tarima no haya sido seleccionada previamente
                foreach (DataRow row in tablaTemporal.Rows)
                {
                    if (row["idTarima"].ToString() == textTarima.Text)
                    {
                        tarimaProcesada = true;
                    }
                }

                //Si la tarimga ya fue seleccionada salir del proceso
                if (tarimaProcesada)
                {
                    MostrarError("La tarima " + textTarima.Text + " ya fue seleccionada");
                    return;
                }

                //Validar que la tarima proporcionada este en la BD
                string criterio = "where idTarima = '" + textTarima.Text + "'";
                ClsCatZMasterCollection zMasterCollection = new ClsCatZMasterBAL().ConsultarZMasterBAL(criterio);
                IEnumerator             listaZMaster      = zMasterCollection.GetEnumerator();
                bool tarimaValida   = true;
                bool relacionValida = false;

                if (zMasterCollection.Count > 0)
                {
                    //Validar si la tarima ya fue asignada o existe inconsistenia en datos
                    while (listaZMaster.MoveNext())
                    {
                        var zMasterObt = (ClsCatZMaster)listaZMaster.Current;

                        if (!string.IsNullOrEmpty(zMasterObt.AsignadaEntrega))
                        {
                            tarimaValida  = false;
                            mensajeTarima = "La tarima ya fue asignada a una entrega";
                            break;
                        }
                        if (!string.IsNullOrEmpty(zMasterObt.Desembalada))
                        {
                            tarimaValida  = false;
                            mensajeTarima = "La tarima esta desembalada y no puede ser asignada a entrega";
                            break;
                        }
                        if (!string.IsNullOrEmpty(zMasterObt.Borrado))
                        {
                            tarimaValida  = false;
                            mensajeTarima = "La tarima no existe";
                            break;
                        }
                    }

                    if (tarimaValida)
                    {
                        //Validar si los elementos de la tarima son validos
                        ClsDetalleCollection detalleCollection = new ClsEntregasBAL().ConsultarDetalleBAL(IdEntrega, IdCentro);
                        IEnumerator          listaDetalle      = detalleCollection.GetEnumerator();

                        listaZMaster.Reset();
                        while (listaZMaster.MoveNext())
                        {
                            var zMasterObt = (ClsCatZMaster)listaZMaster.Current;

                            listaDetalle.Reset();
                            while (listaDetalle.MoveNext())
                            {
                                var detalleObt = (ClsDetalle)listaDetalle.Current;

                                if ((zMasterObt.Matnr).Equals((detalleObt.NumMaterial).ToUpper()))
                                {
                                    relacionValida = true;
                                    break;
                                }
                                else
                                {
                                    relacionValida = false;
                                }
                            }

                            if (relacionValida == false)
                            {
                                break;
                            }
                        }

                        if (relacionValida)
                        {
                            tarimaAgregada++;
                            lblAcumuladas.Text = tarimaAgregada.ToString();

                            MostrarMensaje("Tarima " + textTarima.Text + " agregada");

                            //Grabar registro temporal: idTarima, idEntrega, pedido, fecha
                            tablaTemporal.Rows.Add(textTarima.Text, IdEntrega, IdEntrega, DateTime.Now);

                            //Hacer suma en las celdas correspondientes
                            listaZMaster.Reset();
                            while (listaZMaster.MoveNext())
                            {
                                var zMasterObt = (ClsCatZMaster)listaZMaster.Current;

                                foreach (DataGridViewRow r in dgvLista.Rows)
                                {
                                    if (r.Cells["Material"].Value.ToString() == zMasterObt.Matnr)
                                    {
                                        //Sumar en picking
                                        r.Cells["Picking"].Value = String.Format("{0:0.000}",
                                                                                 Convert.ToDouble(
                                                                                     r.Cells["Picking"].Value) +
                                                                                 zMasterObt.Cantidad);

                                        //Restar en diferencia
                                        r.Cells["Diferencia"].Value = String.Format("{0:0.000}",
                                                                                    Convert.ToDouble(
                                                                                        r.Cells["Cantidad"].Value) -
                                                                                    Convert.ToDouble(
                                                                                        r.Cells["Picking"].Value)
                                                                                    );

                                        r.Cells["UniEmp"].Value = Convert.ToInt16(r.Cells["UniEmp"].Value) + 1;
                                    }
                                }

                                //Sumar peso de la tarima
                                lblPesoTarima.Text = String.Format("{0:0.000}",
                                                                   Convert.ToDouble(lblPesoTarima.Text) +
                                                                   zMasterObt.Cantidad);
                            }
                            //Limpiar campo captura
                            textTarima.Text = "";
                            textTarima.Focus();
                        }
                        else
                        {
                            MostrarError("La tarima contiene material invalido");
                        }
                    }
                    else
                    {
                        textTarima.Text = "";
                        //base.MostrarError("La tarima ya fue asignada");
                        MostrarError(mensajeTarima);
                    }
                }
                else
                {
                    //La tarima no existe en la BD
                    textTarima.Text = "";
                    MostrarError("La tarima no es existe");
                }
            }
        }