コード例 #1
0
        /// <summary>
        /// Construye un objeto de tipo RecepcionControlDTO  y lo envia al procedimiento DAL de inserción de datos en la tabla
        /// RecepcionPtoControl. Las tallas y cantidad de piezas son extraidas del metodo DAL de lanzamiento por orden y lote.
        /// </summary>
        /// <param name="_orden">Orden de Producción</param>
        /// <param name="_lote">Número de Lote</param>
        /// <param name="_pieza">Cantidad de piezas a ingresar</param>
        /// <param name="_user">Nombre usuario que realiza el ingreso</param>
        /// <returns>Valor verdadero/falso segun el ingreso se haya realizado con éxito</returns>
        ///
        public bool IngresarRecepcionControl(string _orden, int _lote, int _pieza, string _user)
        {
            object[] TallasPiezas = _lanzamientoDal.SelectLanzamientoPorOrden(_orden, _lote).Rows[0].ItemArray;
            object[] _tallas      = TallasPiezas.Skip(4).Take(9).ToArray();
            object[] _piezas      = TallasPiezas.Skip(13).Take(9).ToArray();
            int      _cantidad    = _piezas.Cast <int>().ToArray().Sum();

            RecepcionControlDTO _recepcionControlDto = new RecepcionControlDTO()
            {
                Almacen       = 550,
                Orden         = _orden.Trim(),
                Lote          = int.Parse(_lote.ToString()),
                Tallas        = _tallas.Cast <string>().ToArray(),
                Piezas        = _piezas.Cast <int>().ToArray(),
                Completo      = _cantidad == _pieza ? 'S' : 'N',
                Peso          = 0,
                PiezaDeCambio = _cantidad == _pieza ? 0 : _pieza,
                Usuario       = _user
            };

            if (_recepcionControlDal.InsertRecepcionControl(_recepcionControlDto) == 1)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
コード例 #2
0
ファイル: ListXml.cs プロジェクト: johndv82/PSIAA
        /// <summary>
        /// Crea un archivo XML con el Listado de Recepción por Punto de Control, en la siquiente ruta del
        /// servidor: C:\inetpub\wwwroot\PSIAA\
        /// </summary>
        /// <param name="rec">Objeto de tipo RecepcionControlDTO</param>
        /// <param name="_user">Nombre de Usuario</param>
        public void AgregarRecepcionControlToXML(RecepcionControlDTO rec, string _user)
        {
            XDocument miXML         = new XDocument();
            XElement  nuevoElemento = new XElement("RecepcionControlDTO",
                                                   new XElement("Almacen", rec.Almacen),
                                                   new XElement("Orden", rec.Orden),
                                                   new XElement("Lote", rec.Lote),
                                                   new XElement("Tallas",
                                                                new XElement("Talla1", rec.Tallas[0]),
                                                                new XElement("Talla2", rec.Tallas[1]),
                                                                new XElement("Talla3", rec.Tallas[2]),
                                                                new XElement("Talla4", rec.Tallas[3]),
                                                                new XElement("Talla5", rec.Tallas[4]),
                                                                new XElement("Talla6", rec.Tallas[5]),
                                                                new XElement("Talla7", rec.Tallas[6]),
                                                                new XElement("Talla8", rec.Tallas[7]),
                                                                new XElement("Talla9", rec.Tallas[8])),
                                                   new XElement("Piezas",
                                                                new XElement("Piezas1", rec.Piezas[0]),
                                                                new XElement("Piezas2", rec.Piezas[1]),
                                                                new XElement("Piezas3", rec.Piezas[2]),
                                                                new XElement("Piezas4", rec.Piezas[3]),
                                                                new XElement("Piezas5", rec.Piezas[4]),
                                                                new XElement("Piezas6", rec.Piezas[5]),
                                                                new XElement("Piezas7", rec.Piezas[6]),
                                                                new XElement("Piezas8", rec.Piezas[7]),
                                                                new XElement("Piezas9", rec.Piezas[8])),
                                                   new XElement("Completo", rec.Completo),
                                                   new XElement("Peso", rec.Peso),
                                                   new XElement("Usuario", rec.Usuario));


            string _ruta = @"C:\inetpub\wwwroot\PSIAA\ListadoRecepcionControlDTO_" + _user + ".xml";


            if (File.Exists(_ruta))
            {
                miXML = new XDocument();
                miXML = XDocument.Load(_ruta);
                miXML.Root.Add(nuevoElemento);
            }
            else
            {
                miXML = new XDocument(
                    new XDeclaration("1.0", "utf-8", null),
                    new XElement("ListadoRecepcionControlDTO", nuevoElemento));
            }
            miXML.Save(_ruta);
        }
コード例 #3
0
        /// <summary>
        /// Devuelve una lista en base al contenedor de datos que retorna el procedimiento DAL de Ingresos en Recepción Control del día.
        /// </summary>
        /// <param name="almacen">Código de Almacen</param>
        /// <returns>Lista Genérica de tipo RecepcionControlDTO</returns>
        ///
        public List <RecepcionControlDTO> ListarRecepcionControl(int almacen)
        {
            List <RecepcionControlDTO> _listRecepcionControl = new List <RecepcionControlDTO>();

            foreach (DataRow row in _recepcionControlDal.SelectRecepcionControl(almacen).Rows)
            {
                object[]            _tallas = row.ItemArray.Skip(2).Take(9).ToArray();
                object[]            _piezas = row.ItemArray.Skip(11).Take(9).ToArray();
                RecepcionControlDTO _recepcionControlDto = new RecepcionControlDTO
                {
                    Almacen     = almacen,
                    Orden       = row["Orden"].ToString().Trim(),
                    Lote        = int.Parse(row["Lote"].ToString()),
                    Tallas      = _tallas.Cast <string>().ToArray(),
                    Piezas      = _piezas.Cast <int>().ToArray(),
                    Completo    = char.Parse(row["Completo"].ToString()),
                    Usuario     = row["Usuario"].ToString(),
                    HoraIngreso = row["Hora"].ToString()
                };
                _listRecepcionControl.Add(_recepcionControlDto);
            }

            return(_listRecepcionControl);
        }
コード例 #4
0
        /// <summary>
        /// Ejecuta una consulta de inserción en la tabla Recepcion_Pto_Control a la BD.
        /// </summary>
        /// <param name="_controlFinal">Objeto de tipo RecepcionControlDTO</param>
        /// <returns>Variable de tipo int con la cantidad de registros ingresados.</returns>
        public int InsertRecepcionControl(RecepcionControlDTO _controlFinal)
        {
            List <SqlParameter> _sqlParam = new List <SqlParameter>();
            string query = @"
                insert into Recepcion_Pto_Control(
	                almacen, 
	                Orden, 
	                Lote, 
	                talla1, talla2, talla3, 
	                talla4, talla5, talla6, 
	                talla7, talla8, talla9, 
	                piezas1, piezas2, piezas3, 
	                piezas4, piezas5, piezas6, 
	                piezas7, piezas8, piezas9, 
	                usuario, 
	                fecha_ingreso, 
	                hora_ingreso, 
	                catoper, 
	                Peso, 
	                observaciones, 
	                Completo
                ) values(
	                @almacen, @orden, @lote, @talla1, @talla2, @talla3, @talla4, @talla5, @talla6, @talla7, 
                    @talla8, @talla9, @piezas1, @piezas2, @piezas3, @piezas4, @piezas5, @piezas6, @piezas7, 
                    @piezas8, @piezas9,  @usuario, convert(date, @fechaingreso), @hora, @catoper, @peso, @obs, @completo)";

            _sqlParam.Add(new SqlParameter("@almacen", SqlDbType.Int)
            {
                Value = _controlFinal.Almacen
            });
            _sqlParam.Add(new SqlParameter("@orden", SqlDbType.VarChar)
            {
                Value = _controlFinal.Orden.ToUpper()
            });
            _sqlParam.Add(new SqlParameter("@lote", SqlDbType.SmallInt)
            {
                Value = _controlFinal.Lote
            });

            _sqlParam.Add(new SqlParameter("@talla1", SqlDbType.VarChar)
            {
                Value = _controlFinal.Tallas[0]
            });
            _sqlParam.Add(new SqlParameter("@talla2", SqlDbType.VarChar)
            {
                Value = _controlFinal.Tallas[1]
            });
            _sqlParam.Add(new SqlParameter("@talla3", SqlDbType.VarChar)
            {
                Value = _controlFinal.Tallas[2]
            });
            _sqlParam.Add(new SqlParameter("@talla4", SqlDbType.VarChar)
            {
                Value = _controlFinal.Tallas[3]
            });
            _sqlParam.Add(new SqlParameter("@talla5", SqlDbType.VarChar)
            {
                Value = _controlFinal.Tallas[4]
            });
            _sqlParam.Add(new SqlParameter("@talla6", SqlDbType.VarChar)
            {
                Value = _controlFinal.Tallas[5]
            });
            _sqlParam.Add(new SqlParameter("@talla7", SqlDbType.VarChar)
            {
                Value = _controlFinal.Tallas[6]
            });
            _sqlParam.Add(new SqlParameter("@talla8", SqlDbType.VarChar)
            {
                Value = _controlFinal.Tallas[7]
            });
            _sqlParam.Add(new SqlParameter("@talla9", SqlDbType.VarChar)
            {
                Value = _controlFinal.Tallas[8]
            });

            _sqlParam.Add(new SqlParameter("@piezas1", SqlDbType.Int)
            {
                Value = _controlFinal.Piezas[0]
            });
            _sqlParam.Add(new SqlParameter("@piezas2", SqlDbType.Int)
            {
                Value = _controlFinal.Piezas[1]
            });
            _sqlParam.Add(new SqlParameter("@piezas3", SqlDbType.Int)
            {
                Value = _controlFinal.Piezas[2]
            });
            _sqlParam.Add(new SqlParameter("@piezas4", SqlDbType.Int)
            {
                Value = _controlFinal.Piezas[3]
            });
            _sqlParam.Add(new SqlParameter("@piezas5", SqlDbType.Int)
            {
                Value = _controlFinal.Piezas[4]
            });
            _sqlParam.Add(new SqlParameter("@piezas6", SqlDbType.Int)
            {
                Value = _controlFinal.Piezas[5]
            });
            _sqlParam.Add(new SqlParameter("@piezas7", SqlDbType.Int)
            {
                Value = _controlFinal.Piezas[6]
            });
            _sqlParam.Add(new SqlParameter("@piezas8", SqlDbType.Int)
            {
                Value = _controlFinal.Piezas[7]
            });
            _sqlParam.Add(new SqlParameter("@piezas9", SqlDbType.Int)
            {
                Value = _controlFinal.Piezas[8]
            });

            _sqlParam.Add(new SqlParameter("@usuario", SqlDbType.VarChar)
            {
                Value = _controlFinal.Usuario
            });
            _sqlParam.Add(new SqlParameter("@fechaingreso", SqlDbType.DateTime)
            {
                Value = _controlFinal.FechaIngreso
            });
            _sqlParam.Add(new SqlParameter("@hora", SqlDbType.VarChar)
            {
                Value = _controlFinal.HoraIngreso
            });
            _sqlParam.Add(new SqlParameter("@catoper", SqlDbType.Int)
            {
                Value = _controlFinal.Almacen
            });
            _sqlParam.Add(new SqlParameter("@peso", SqlDbType.Float)
            {
                Value = _controlFinal.Peso
            });
            _sqlParam.Add(new SqlParameter("@obs", SqlDbType.VarChar)
            {
                Value = _controlFinal.Observaciones
            });
            _sqlParam.Add(new SqlParameter("@completo", SqlDbType.VarChar)
            {
                Value = _controlFinal.Completo
            });

            return(_trans.ExecuteQuery(query, _sqlParam));
        }
コード例 #5
0
ファイル: AlmacenBLL.cs プロジェクト: johndv82/PSIAA
        /// <summary>
        /// Agrega un nuevo elemento al contenido del archivo XML donde es almacenado cada ingreso, y devuelve el contenido completo.
        /// En el primer ingreso siempre se crea dos archivos XML por cada modelo de objeto: RecepcionControlDTO y AlmacenDTO.
        /// En el caso de que el ingreso ya existiera en el contenido del archivo Xml, solo devuelve el contenido completo.
        /// </summary>
        /// <param name="_orden">Orden de Producción de Ingreso</param>
        /// <param name="_lote">Número de Lote</param>
        /// <param name="_codAlmacen">Codigo de Almacén al cual va dirigido el ingreso</param>
        /// <param name="_pieza">Cantidad de piezas a ingresar</param>
        /// <param name="_talla">Talla de la pieza a ingresar</param>
        /// <param name="_user">Nombre de usuario que realiza el ingreso</param>
        /// <param name="duplicado">Parametro de Salida con valor verdadero o falso, en el caso de que el ingreso existiera en
        /// el contenido del archivo XML</param>
        /// <returns>Lista genérica de tipo RecepcionControlDTO poblada con todos los ingresos</returns>
        ///
        public List <RecepcionControlDTO> PoblarListasDeIngresoAlmacen(string _orden, int _lote, int _codAlmacen,
                                                                       int _pieza, string _talla, string _user, out bool duplicado)
        {
            DataRow drResultLanzamiento = _lanzamientoDal.SelectLanzamientoPorOrden(_orden, _lote).Rows[0];

            object[] TallasPiezas = drResultLanzamiento.ItemArray;
            object[] _tallas      = TallasPiezas.Skip(4).Take(9).ToArray();
            object[] _piezas      = TallasPiezas.Skip(13).Take(9).ToArray();
            int      _cantidad    = _piezas.Cast <int>().ToArray().Sum();

            //COMPARAR REGISTROS DUPLICADOS
            _listRecepcionControl = _listXml.ConvertXmlToListRecepcionControl(_user);
            if (_listRecepcionControl.Find(x => (x.Orden == _orden) && (x.Lote == _lote)) != null)
            {
                duplicado = true;
                return(_listRecepcionControl);
            }
            else
            {
                RecepcionControlDTO _recepcionControlDto = new RecepcionControlDTO()
                {
                    Almacen  = 800,
                    Orden    = _orden.Trim(),
                    Lote     = _lote,
                    Tallas   = _tallas.Cast <string>().ToArray(),
                    Piezas   = _piezas.Cast <int>().ToArray(),
                    Completo = _cantidad == _pieza ? 'S' : 'N',
                    //Peso = decimal.Parse(_result[2].ToString() == "" ? "0" : _result[2].ToString()),
                    Peso          = 0,
                    PiezaDeCambio = _cantidad == _pieza ? 0 : _pieza,
                    Usuario       = _user
                };

                //TALLAS PARA ALMACEN
                object[] _piezasAlmacen = _piezas.Take(7).ToArray();

                //LLENAR LISTA OBJETO ALMACEN
                AlmacenDTO _almacenDto = new AlmacenDTO()
                {
                    CodAlmacen     = _codAlmacen,
                    TipoMovimiento = "IPRD",
                    //NumeroDocumento = "",
                    //Item = _item,
                    IngresoSalida        = 1,
                    AlmacenOrigenDestino = 0,
                    CodProducto          = "PT-" + drResultLanzamiento["Modelo"].ToString().Trim() +
                                           "-" + drResultLanzamiento["Color"].ToString().Trim() +
                                           "-" + _talla.Trim() + "/" +
                                           drResultLanzamiento["Contrato"].ToString(),
                    Orden         = _orden.Trim(),
                    NroLote       = _lote.ToString(),
                    Contrato      = drResultLanzamiento["Contrato"].ToString(),
                    Tallas        = _piezasAlmacen.Cast <int>().ToArray(),
                    Cantidad      = _cantidad == _pieza ? _cantidad : _pieza,
                    PesoBruto     = _cantidad == _pieza ? _cantidad : _pieza,
                    PesoNeto      = _cantidad == _pieza ? _cantidad : _pieza,
                    TallaDeCambio = _cantidad == _pieza ? 0 : _pieza
                };

                //CONVERTIR XML - LISTA
                _listXml.AgregarAlmacenToXML(_almacenDto, _user);
                _listXml.AgregarRecepcionControlToXML(_recepcionControlDto, _user);
                duplicado = false;
                return(_listXml.ConvertXmlToListRecepcionControl(_user));
            }
        }