Exemplo n.º 1
0
        public DataTable findByOrderNumberAndOrigin(ref Ent_twhinh210 data, ref string strError)
        {
            method = MethodBase.GetCurrentMethod();

            paramList = new Dictionary <string, object>();
            paramList.Add(":T$ORNO", data.orno.Trim().ToUpper());
            paramList.Add(":T$OORG", data.oorg.Trim().ToUpper());
            paramList.Add(":T$ITEM", data.item.Trim().ToUpper());
            paramList.Add(":T$CLOT", data.clot.Trim().ToUpper());

            strSentencia = recursos.readStatement(method.ReflectedType.Name, method.Name, ref owner, ref env, tabla, paramList);

            try
            {
                consulta = DAL.BaseDAL.BaseDal.EjecutarCons("Text", strSentencia, ref parametersOut, null, true);
                if (consulta.Rows.Count < 1)
                {
                    strError = "Incorrect location, please verify.";
                }
            }
            catch (Exception ex)
            {
                strError = "Error to the search sequence [twhinh210]. Try again or contact your administrator \n ";
                log.escribirError(strError + Console.Out.NewLine + ex.Message, stackTrace.GetFrame(1).GetMethod().Name, method.Name, method.ReflectedType.Name);
            }

            return(consulta);
        }
Exemplo n.º 2
0
        public DataTable findByOrderNumberAndOrigin(ref Ent_twhinh210 data, ref string strError)
        {
            DataTable retorno = new DataTable();

            try
            {
                retorno = dal.findByOrderNumberAndOrigin(ref data, ref strError);
                return(retorno);
            }
            catch (Exception ex)
            {
                throw new Exception(strError += "\nPila: " + ex.Message);
            }
        }
        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            lblError.Text   = String.Empty;
            lblConfirm.Text = String.Empty;

            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 origen          = slOrigen.SelectedValue;
            var dsca            = lblValueArticulo.Text.Split('-')[2].Trim().ToUpper();
            var validaUbicacion = _idaltqmptc011.findRecordByItemConOrigen(ref item, ref origen, 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 = _idaltwhcol124.findBySqnbPdnoNoClot(ref location, ref cwar, ref numeroOrdenPallet, ref strError);
            }
            else
            {
                consultaOrden = _idaltwhcol124.findBySqnbPdnoYesClot(ref location, ref cwar, 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(lblValuePorAprobar.Text.Trim())).ToString()).ToString("0.00");

                var CWAR = consultaOrden.Rows[0]["CWAR"].ToString();
                var LOTE = consultaOrden.Rows[0]["CLOT"].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)
                {
                    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 = _idaltticol032.consultarConsecutivoRegistro(ref numeroOrden, ref strError);

                    //consecutivo = consecutivo + 1;

                    Ent_twhinh210 datawhinh210 = new Ent_twhinh210()
                    {
                        orno = lblValueOrden.Text,
                        oorg = origen,
                        item = item,
                        clot = LOTE
                    };

                    var consultaDatosOrden = _idaltwhinh210.findByOrderNumberAndOrigin(ref datawhinh210, ref strError);

                    if (consultaDatosOrden.Rows.Count < 1)
                    {
                        lblError.Text = mensajes("210empty");
                        return;
                    }

                    //T$OORG AS OORG, T$ORNO AS ORNO, T$OSET AS OSET, T$PONO AS PONO, T$SEQN AS SEQN
                    var oorg = consultaDatosOrden.Rows[0]["OORG"].ToString();
                    var orno = consultaDatosOrden.Rows[0]["ORNO"].ToString();
                    var oset = consultaDatosOrden.Rows[0]["OSET"].ToString();
                    var pono = consultaDatosOrden.Rows[0]["PONO"].ToString();
                    var seqn = consultaDatosOrden.Rows[0]["SEQN"].ToString();

                    Ent_tticol032 dataticol032 = new Ent_tticol032()
                    {
                        oorg    = Convert.ToInt32(oorg),
                        orno    = orno,
                        sqnb    = numeroOrdenPallet,
                        oset    = Convert.ToInt32(oset),
                        pono    = Convert.ToInt32(pono),
                        seqn    = Convert.ToInt32(seqn),
                        mitm    = item.Trim(),
                        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
                    };

                    var validSave = _idaltticol032.insertarRegistro(ref dataticol032, ref strError);

                    if (validSave > 0)
                    {
                        lblConfirm.Text = mensajes("msjsave");


                        divTable.Visible       = false;
                        txtNumeroOrden.Enabled = true;
                        txtNumeroOrden.Text    = String.Empty;
                        return;
                    }
                    else
                    {
                        lblError.Text = mensajes("errorsave");
                        return;
                    }
                }
                else
                {
                    lblError.Text = String.Format(mensajes("locationnotexist"), data300.loca);
                    return;
                }
            }
            else
            {
                lblError.Text = mensajes("orderemptytwo");
            }
        }