Ejemplo n.º 1
0
        public bool RegistrarUbicacionPorDefectoInventario(int idempresa, int idArticulo, int idInventarioInicial)
        {
            string           condicionEmpresa = string.Format("idempresa = {0}", idempresa);
            List <VwAlmacen> vwAlmacenList    = VwAlmacenDao.GetAll(condicionEmpresa, "idalmacen");

            foreach (var vwAlmacen in vwAlmacenList)
            {
                int idAlmacen                        = vwAlmacen.Idalmacen;
                int idUbicacionPorDefecto            = vwAlmacen.Idubicaciondefecto;
                List <VwInventario> vwInventarioList = VwInventarioDao.GetAll(x => x.Idinventarioinicial == idInventarioInicial && x.Idalmacen == idAlmacen);
                foreach (VwInventario vwInventario in vwInventarioList)
                {
                    int idInventario = vwInventario.Idinventario;
                    Inventarioubicacion inventarioubicacion = InventarioubicacionDao.Get(x => x.Idinventario == idInventario && x.Idubicacion == idUbicacionPorDefecto);

                    if (inventarioubicacion == null)
                    {
                        Inventarioubicacion inventarioubicacionNuevo = new Inventarioubicacion();
                        inventarioubicacionNuevo.Idinventarioubicacion = 0;
                        inventarioubicacionNuevo.Idinventario          = idInventario;
                        inventarioubicacionNuevo.Idubicacion           = idUbicacionPorDefecto;
                        int idinventarioubicacionNuevo = InventarioubicacionDao.Save(inventarioubicacionNuevo);
                        if (idinventarioubicacionNuevo > 0)
                        {
                            Inventariostock inventariostockNuevo = AsignarInventarioStock(idArticulo, idinventarioubicacionNuevo);
                            InventariostockDao.Save(inventariostockNuevo);
                            GuardarUbicacionEnArticulo(idArticulo, idUbicacionPorDefecto);
                        }
                    }
                    else
                    {
                        var inventariostockNuevo = AsignarInventarioStock(idArticulo, inventarioubicacion.Idinventarioubicacion);
                        InventariostockDao.Save(inventariostockNuevo);
                        GuardarUbicacionEnArticulo(idArticulo, idUbicacionPorDefecto);
                    }
                }
            }



            return(true);
        }
Ejemplo n.º 2
0
 public void UpdateInventarioubicacion(Inventarioubicacion entity)
 {
     InventarioubicacionDao.Update(entity);
 }
Ejemplo n.º 3
0
 public int SaveInventarioubicacion(Inventarioubicacion entity)
 {
     return(InventarioubicacionDao.Save(entity));
 }
Ejemplo n.º 4
0
        private void btnCargarSaldosActuales_Click(object sender, EventArgs e)
        {
            var idAlmacen = iIdalmacen.EditValue;

            if (idAlmacen == null)
            {
                XtraMessageBox.Show("Seleccione el almacen", "Atencíón", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                iIdalmacen.Select();
                return;
            }


            if (IdEntidadMnt == 0)
            {
                XtraMessageBox.Show("Grabe la información", "Atención", MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                return;
            }

            DateTime     fechaInventario = FechaInicialInventarioAnterior;
            const string sqlQuery        = "reportes.fn_saldosfisicos";

            object[] parametrosConsulta =
            {
                fechaInventario,
                SessionApp.DateServer,
                (int)iIdalmacen.EditValue,
                2,    //Todos los saldos
                null, //Clasificacion
                null, //Marca
                null  //EsActivo
            };



            DataTable dtSaldos   = HelperDb.ExecuteStoreProcedure(sqlQuery, parametrosConsulta);
            Almacen   almacenSel = Service.GetAlmacen((int)idAlmacen);
            //Agregar ubicacion por defecto
            Inventarioubicacion inventarioubicacionMnt = new Inventarioubicacion
            {
                Idinventario = IdEntidadMnt,
                Idubicacion  = almacenSel.Idubicaciondefecto ?? 0
            };
            //

            int idinventarioubicacion = Service.SaveInventarioubicacion(inventarioubicacionMnt);

            inventarioubicacionMnt.Idinventarioubicacion = idinventarioubicacion;
            if (idinventarioubicacion > 0 && dtSaldos.Rows.Count > 0)
            {
                Cursor = Cursors.WaitCursor;
                foreach (DataRow item in dtSaldos.Rows)
                {
                    Inventariostock inventariostockMnt = new Inventariostock
                    {
                        Idinventariostock     = 0,
                        Idinventarioubicacion = idinventarioubicacion,
                        Idarticulo            = Convert.ToInt32(item["idarticulo"]),
                        Cantidadinventario    = Convert.ToInt32(item["stock"]),
                        Cantidadajuste        = 0m,
                        Costounisoles         = 0m,
                        Costototsoles         = 0m,
                        Costounidolares       = 0m,
                        Costototdolares       = 0m,
                        Tipocambio            = 0m
                    };

                    Service.SaveInventariostock(inventariostockMnt);
                }
                //Refresacar Detalle
                if (IdEntidadMnt > 0)
                {
                    TraerDatos();
                    CargarDetalle();
                }
                Cursor = Cursors.Default;
                XtraMessageBox.Show("Se cargo los saldos actuales", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Information);
                btnCargarSaldosActuales.Enabled = false;
            }
        }
Ejemplo n.º 5
0
        private void btnAddUbicacion_Click(object sender, EventArgs e)
        {
            if (IdEntidadMnt == 0)
            {
                XtraMessageBox.Show("Grabe la información", "Atención", MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                return;
            }

            var idAlmacenSel = iIdalmacen.EditValue;

            if (idAlmacenSel == null)
            {
                XtraMessageBox.Show("Seleccione el almacen", "Atención", MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                iIdalmacen.Select();
                return;
            }

            var buscadorUbicacionFrm = new BuscadorUbicacionFrm((int)idAlmacenSel);

            buscadorUbicacionFrm.ShowDialog();
            const string nombreIdDetalle = "Idinventarioubicacion";

            if (buscadorUbicacionFrm.DialogResult == DialogResult.OK &&
                buscadorUbicacionFrm.VwUbicacionSel != null)

            {
                //Asignar al edit value del campo id foraneo
                int cantReferenciasItem = VwInventarioubicacionList.Count(x => x.Idubicacion == buscadorUbicacionFrm.VwUbicacionSel.Idubicacion);

                if (cantReferenciasItem > 0)
                {
                    string mensaje = string.Format("La Ubicacion {0} ya fue agregada",
                                                   buscadorUbicacionFrm.VwUbicacionSel.Nombreubicacion);

                    XtraMessageBox.Show(mensaje, "Atencion", MessageBoxButtons.OK,
                                        MessageBoxIcon.Exclamation);
                    return;
                }

                //Guardar la ubicacion seleccionada
                VwUbicacion         vwubicacionItem        = buscadorUbicacionFrm.VwUbicacionSel;
                Inventarioubicacion inventarioubicacionMnt = new Inventarioubicacion
                {
                    Idinventario = IdEntidadMnt,
                    Idubicacion  = vwubicacionItem.Idubicacion,
                };
                //

                int idinventarioubicacion = Service.SaveInventarioubicacion(inventarioubicacionMnt);
                inventarioubicacionMnt.Idinventarioubicacion = idinventarioubicacion;

                if (idinventarioubicacion > 0)
                {
                    VwInventarioubicacion vwInventarioubicacion = new VwInventarioubicacion
                    {
                        Idinventarioubicacion = idinventarioubicacion,
                        Idinventario          = IdEntidadMnt,
                        Ambiente         = vwubicacionItem.Ambiente,
                        Columna          = vwubicacionItem.Columna,
                        Fila             = vwubicacionItem.Fila,
                        Ubicacion        = vwubicacionItem.Nombreubicacion,
                        Idubicacion      = vwubicacionItem.Idubicacion,
                        Numeroinventario = iNumeroinventario.Text.Trim(),
                        Fechainventario  = (DateTime?)iFechainventario.EditValue
                    };

                    VwInventarioubicacionList.Add(vwInventarioubicacion);
                    gvUbicacion.RefreshData();
                    gvUbicacion.BestFitColumns(true);

                    //Enfocar el id generado
                    if (vwInventarioubicacion.Idinventarioubicacion > 0)
                    {
                        var rowHandle = gvUbicacion.LocateByValue(nombreIdDetalle, vwInventarioubicacion.Idinventarioubicacion);
                        if (rowHandle == GridControl.InvalidRowHandle)
                        {
                            return;
                        }
                        gvUbicacion.FocusedRowHandle = rowHandle;
                    }
                }
            }
        }
Ejemplo n.º 6
0
        private void btnMoverOtraUbicacion_Click(object sender, EventArgs e)
        {
            TipoMantenimiento tipoMantenimientoItem          = TipoMantenimiento.Modificar;
            VwInventariostock vwInventariostockMntItemAMover = (VwInventariostock)gvArticulosDet.GetFocusedRow();

            if (vwInventariostockMntItemAMover == null)
            {
                return;
            }

            InventarioMoverUbicacionMntItemFrm inventarioMoverUbicacionMntItemFrm = new InventarioMoverUbicacionMntItemFrm(tipoMantenimientoItem, vwInventariostockMntItemAMover, (int)iIdalmacen.EditValue);

            inventarioMoverUbicacionMntItemFrm.ShowDialog();

            if (inventarioMoverUbicacionMntItemFrm.DialogResult == DialogResult.OK)
            {
                //Guardar la ubicacion de destino
                VwInventarioubicacion vwInventarioubicacionExiste = VwInventarioubicacionList.FirstOrDefault(x => x.Idubicacion == inventarioMoverUbicacionMntItemFrm.IdUbicacionDestino);
                int idinventarioubicacionAMover;
                if (vwInventarioubicacionExiste != null)
                {
                    idinventarioubicacionAMover = vwInventarioubicacionExiste.Idinventarioubicacion;
                }
                else
                {
                    Inventarioubicacion inventarioubicacionMnt = new Inventarioubicacion
                    {
                        Idinventario = IdEntidadMnt,
                        Idubicacion  = inventarioMoverUbicacionMntItemFrm.IdUbicacionDestino,
                    };
                    idinventarioubicacionAMover = Service.SaveInventarioubicacion(inventarioubicacionMnt);
                    inventarioubicacionMnt.Idinventarioubicacion = idinventarioubicacionAMover;
                    //

                    VwUbicacion vwubicacionItem = Service.GetVwUbicacion(inventarioubicacionMnt.Idubicacion);
                    if (idinventarioubicacionAMover > 0)
                    {
                        VwInventarioubicacion vwInventarioubicacion = new VwInventarioubicacion
                        {
                            Idinventarioubicacion = idinventarioubicacionAMover,
                            Idinventario          = IdEntidadMnt,
                            Ambiente         = vwubicacionItem.Ambiente,
                            Columna          = vwubicacionItem.Columna,
                            Fila             = vwubicacionItem.Fila,
                            Ubicacion        = vwubicacionItem.Nombreubicacion,
                            Idubicacion      = vwubicacionItem.Idubicacion,
                            Numeroinventario = iNumeroinventario.Text.Trim(),
                            Fechainventario  = (DateTime?)iFechainventario.EditValue
                        };
                        VwInventarioubicacionList.Add(vwInventarioubicacion);
                    }
                }

                //Agregar al articulo la ubicacion por defecto si es que no existe
                Articuloubicacion articuloubicacionExistente =
                    Service.GetArticuloubicacion(
                        x =>
                        x.Idarticulo == vwInventariostockMntItemAMover.Idarticulo &&
                        x.Idubicacion == inventarioMoverUbicacionMntItemFrm.IdUbicacionDestino);
                if (articuloubicacionExistente == null)
                {
                    Articuloubicacion articuloubicacion = new Articuloubicacion
                    {
                        Idarticulo  = vwInventariostockMntItemAMover.Idarticulo,
                        Idubicacion = inventarioMoverUbicacionMntItemFrm.IdUbicacionDestino
                    };
                    Service.SaveArticuloubicacion(articuloubicacion);
                }
                //

                gvUbicacion.RefreshData();
                gvUbicacion.BestFitColumns(true);

                //Cambiar la ubicacion
                Inventariostock inventariostockAMover = Service.GetInventariostock(vwInventariostockMntItemAMover.Idinventariostock);
                inventariostockAMover.Idinventarioubicacion = idinventarioubicacionAMover;
                Service.UpdateInventariostock(inventariostockAMover);

                //Enfocar la ubicacion
                if (idinventarioubicacionAMover > 0)
                {
                    var rowHandleUbicacion = gvUbicacion.LocateByValue("Idinventarioubicacion", idinventarioubicacionAMover);
                    if (rowHandleUbicacion == GridControl.InvalidRowHandle)
                    {
                        return;
                    }
                    gvUbicacion.FocusedRowHandle = rowHandleUbicacion;
                }

                //Enfocar el articulo que se movio
                var rowHandleArticuloMovido = gvArticulosDet.LocateByValue("Idinventariostock", vwInventariostockMntItemAMover.Idinventariostock);
                if (rowHandleArticuloMovido == GridControl.InvalidRowHandle)
                {
                    return;
                }
                gvArticulosDet.FocusedRowHandle = rowHandleArticuloMovido;
            }
        }