예제 #1
0
        private List <Ent_ParametrosDAL> AdicionaParametrosComunes(Ent_tticol030 parametros, bool blnUsarPRetorno = false)
        {
            string param = string.Empty;
            List <Ent_ParametrosDAL> parameterCollection = new List <Ent_ParametrosDAL>();

            try
            {
                Ent_ParametrosDAL.AgregaParametro(ref parameterCollection, ":T$PDNO", DbType.String, parametros.pdno);
                Ent_ParametrosDAL.AgregaParametro(ref parameterCollection, ":T$SQNB", DbType.String, parametros.sqnb);
                Ent_ParametrosDAL.AgregaParametro(ref parameterCollection, ":T$MITM", DbType.String, parametros.mitm);
                Ent_ParametrosDAL.AgregaParametro(ref parameterCollection, ":T$DSCA", DbType.String, parametros.dsca);
                Ent_ParametrosDAL.AgregaParametro(ref parameterCollection, ":T$CWAR", DbType.String, parametros.cwar);
                Ent_ParametrosDAL.AgregaParametro(ref parameterCollection, ":T$LOCA", DbType.String, parametros.loca);
                Ent_ParametrosDAL.AgregaParametro(ref parameterCollection, ":T$QTDL", DbType.Decimal, Convert.ToDecimal(parametros.qtdl).ToString("#.##0,0000"));
                Ent_ParametrosDAL.AgregaParametro(ref parameterCollection, ":T$CUNI", DbType.String, parametros.cuni);
                Ent_ParametrosDAL.AgregaParametro(ref parameterCollection, ":T$MESS", DbType.String, parametros.mess);
                Ent_ParametrosDAL.AgregaParametro(ref parameterCollection, ":T$USER", DbType.String, parametros.user);
                Ent_ParametrosDAL.AgregaParametro(ref parameterCollection, ":T$REFCNTD", DbType.String, parametros.refcntd);
                Ent_ParametrosDAL.AgregaParametro(ref parameterCollection, ":T$REFCNTU", DbType.String, parametros.refcntu);

                if (blnUsarPRetorno)
                {
                    Ent_ParametrosDAL pDal = new Ent_ParametrosDAL();
                    pDal.Name         = "@p_Int_Resultado";
                    pDal.Type         = DbType.Int32;
                    pDal.ParDirection = ParameterDirection.Output;
                    parameterCollection.Add(pDal);
                }
            }
            catch (Exception ex)
            {
                throw (ex);
            }
            return(parameterCollection);
        }
예제 #2
0
        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            if (txtLocation.Text.Trim() == String.Empty || lblValueLocation2.Text.Trim() == String.Empty)
            {
                lblError.Text = mensajes("locationblank");
                return;
            }

            if (float.Parse(lblValueQuantity.Text) < 1)
            {
                lblError.Text = mensajes("quantityzero");
                return;
            }

            //Valida la ubicacion del producto (INS o REC)
            var item            = lblValueArticulo.Text.Split('-')[0].Trim().ToUpper() + "-" + lblValueArticulo.Text.Split('-')[1].Trim().ToUpper();
            var dsca            = lblValueArticulo.Text.Split('-')[2].Trim().ToUpper();
            var validaUbicacion = _idaltqmptc011.findRecordByItem(ref item, ref strError);

            var location = validaUbicacion.Rows.Count > 0 ? "INS" : "REC";

            //Valida si el articulo maneja lote
            Ent_ttcibd001 data001 = new Ent_ttcibd001()
            {
                item = item
            };

            var validaArticulo = _idalttcibd001.listaRegistro_ObtieneDescripcionUnidad(ref data001, ref strError);

            var consultaOrden     = new DataTable();
            var numeroOrden       = lblValueOrden.Text.Trim();
            var numeroOrdenPallet = txtNumeroOrden.Text.Trim().ToUpper();
            var clot = validaArticulo.Rows[0]["KLTC"].ToString();
            var cwar = _validaAlmacen.Rows[0]["ALM"].ToString();


            if (clot != "1")
            {
                consultaOrden = _idalttisfc001.findBySqnbPdnoNoClot(ref location, ref cwar, ref numeroOrden, ref numeroOrdenPallet, ref strError);
            }
            else
            {
                consultaOrden = _idalttisfc001.findBySqnbPdnoYesClot(ref location, ref cwar, ref numeroOrden, ref numeroOrdenPallet, ref strError);
            }

            if (consultaOrden.Rows.Count > 0)
            {
                var QTYPEND = float.Parse(consultaOrden.Rows[0]["QTYPEND"].ToString()).ToString("0.00");
                var QTDL    = float.Parse(lblValueQuantity.Text == "" ? "0" : lblValueQuantity.Text).ToString("0.00");

                //var STRQDPU = float.Parse((float.Parse(QTYPEND) - float.Parse(QTDL)).ToString()).ToString("0.00");
                var STRQDPU = float.Parse(QTYPEND).ToString("0.00");
                var CWAR    = consultaOrden.Rows[0]["CWAR"].ToString();

                //Validar que el almacen sea el mismo de la orden
                if (CWAR != cwar)
                {
                    lblError.Text = String.Format(mensajes("diferentcwar"), txtLocation.Text.ToUpper(), CWAR);
                    return;
                }

                //Validar que exista ubicacion, que sea tipo 5-carga y que no este bloqueado
                Ent_twhwmd300 data300 = new Ent_twhwmd300()
                {
                    loca = txtLocation.Text.Trim(),
                    cwar = cwar
                };

                var validarUbicacionTipo = _idaltwhwmd300.listaRegistro_AlmacenUbicaion(ref data300, ref strError);

                if (validarUbicacionTipo.Rows.Count > 0)
                {
                    //Validar que la cantidad no sea mayor a la cantidad pendiente
                    if (float.Parse(QTDL) > float.Parse(QTYPEND))
                    {
                        lblError.Text = String.Format(mensajes("suggestedquantityannounced"), QTDL, QTYPEND);
                        return;
                    }


                    //Validar que la cantidad ingresada no sea mayor a la cantidad disponible por ubicar
                    if (float.Parse(QTDL) > float.Parse(STRQDPU))
                    {
                        lblError.Text = String.Format(mensajes("suggestedquantityavailable"), numeroOrden, QTDL, STRQDPU);
                        return;
                    }

                    //Verificar si ya existe un registro para esta orden
                    var consecutivo = _idaltticol030.consultarConsecutivoRegistro(ref numeroOrden, ref strError);

                    consecutivo = consecutivo + 1;

                    Ent_tticol030 data030 = new Ent_tticol030()
                    {
                        pdno    = numeroOrden,
                        sqnb    = consecutivo,
                        mitm    = item,
                        dsca    = dsca,
                        cwar    = cwar,
                        loca    = lblValueLocation2.Text,
                        qtdl    = Convert.ToDecimal(QTDL),
                        cuni    = lblValueUnit.Text,
                        mess    = " ",
                        user    = HttpContext.Current.Session["user"].ToString(),
                        refcntd = 0,
                        refcntu = 0
                    };

                    List <Ent_tticol030> lista = new List <Ent_tticol030>();
                    lista.Add(data030);

                    var validSave = _idaltticol030.insertarRegistro(ref lista, ref strError);

                    if (validSave > 0)
                    {
                        Ent_tticol022 data022 = new Ent_tticol022()
                        {
                            log2 = HttpContext.Current.Session["user"].ToString(),
                            qtd2 = Convert.ToInt32(data030.qtdl),
                            loca = data030.loca,
                            pdno = data030.pdno,
                            sqnb = numeroOrdenPallet,
                            dele = 7
                        };

                        var validUpdate = _idaltticol022.actualizaRegistroSugUbicaciones(ref data022, ref strError);

                        if (validUpdate)
                        {
                            //_idaltticol022.ActualizarRegistroTicol222
                            var actubicticol222 = _idaltticol022.ActualizarUbicacionTicol222(data022.pdno, data022.sqnb, data022.loca, data030.cwar);
                            lblConfirm.Text     = mensajes("msjsave");
                            divTable.Visible    = false;
                            txtNumeroOrden.Text = String.Empty;
                            return;
                        }
                        else
                        {
                            lblError.Text = mensajes("errorupdt");
                            return;
                        }
                    }
                    else
                    {
                        lblError.Text = mensajes("errorsave");
                        return;
                    }
                }
                else
                {
                    lblError.Text = String.Format(mensajes("locationnotexist"), data300.loca);
                    return;
                }
            }
            else
            {
                lblError.Text = mensajes("orderemptytwo");
            }
        }