private void RegistrarMovimiento() { DoValidate(); int PorSurtir = 0; foreach (Entities.Vista_OrdenesServiciosRefaccionesAlmacen vistaOSR in Vista_OSR) { PorSurtir += vistaOSR.Salida.Value; } if (PorSurtir == 0) { AppHelper.ThrowException( "La orden de trabajo {0} esta completamente surtida", this.OrdenTrabajo.OrdenTrabajo_ID); } NotaAlmacen = new Entities.NotasAlmacen(); MovimientoInventario = new Entities.MovimientosInventario(); // Insertar Nota Almacen NotaAlmacen.Fecha = DB.GetDate(); NotaAlmacen.OrdenTrabajo_ID = OrdenTrabajo.OrdenTrabajo_ID; NotaAlmacen.TipoMovimientoInventario_ID = 1; // O.T. NotaAlmacen.Usuario_ID = Sesion.Usuario_ID; NotaAlmacen.Empresa_ID = Sesion.Empresa_ID.Value; NotaAlmacen.Estacion_ID = Sesion.Estacion_ID.Value; NotaAlmacen.Create(); // Insertar Movimientos Inventario foreach (Entities.Vista_OrdenesServiciosRefaccionesAlmacen osr in Vista_OSR) { if (osr.Salida.Value > 0 && osr.CantidadInventario.Value >= osr.Salida.Value) { MovimientoInventario.Cantidad = osr.Salida.Value * -1; MovimientoInventario.CantidadPost = MovimientoInventario.CantidadPrev - osr.Salida.Value; MovimientoInventario.CostoUnitario = osr.CostoUnitario.Value; MovimientoInventario.Fecha = NotaAlmacen.Fecha; MovimientoInventario.NotaAlmacen_ID = NotaAlmacen.NotaAlmacen_ID; MovimientoInventario.OrdenTrabajo_ID = NotaAlmacen.OrdenTrabajo_ID; MovimientoInventario.Refaccion_ID = osr.Refaccion_ID.Value; MovimientoInventario.TipoMovimientoInventario_ID = NotaAlmacen.TipoMovimientoInventario_ID; MovimientoInventario.Usuario_ID = NotaAlmacen.Usuario_ID; MovimientoInventario.Valor = MovimientoInventario.Cantidad * MovimientoInventario.CostoUnitario; MovimientoInventario.Empresa_ID = Sesion.Empresa_ID.Value; MovimientoInventario.Estacion_ID = Sesion.Estacion_ID.Value; MovimientoInventario.Calculate(); MovimientoInventario.Create(); // Actualizar refaccion MovimientoInventario.UpdateRefaccion(false); // Actualizar compra Entities.OrdenesServiciosRefacciones OSR = Entities.OrdenesServiciosRefacciones.Read(osr.OrdenServicioRefaccion_ID.Value); OSR.RefSurtidas += osr.Salida; OSR.Update(); } } }
public void RegistrarAjuste() { Entities.AjustesInventario AjusteInventario = new Entities.AjustesInventario(); AjusteInventario.Cantidad = this.Cantidad; AjusteInventario.Comentarios = this.Comentarios; AjusteInventario.CostoUnitario = this.Refaccion.CostoUnitario.Value; AjusteInventario.Fecha = DB.GetDate(); AjusteInventario.Refaccion_ID = this.Refaccion.Refaccion_ID.Value; AjusteInventario.TipoAjusteInventario_ID = this.TipoAjuste.TipoAjusteInventario_ID; AjusteInventario.Total = AjusteInventario.CostoUnitario * AjusteInventario.Cantidad; AjusteInventario.Usuario_ID = Sesion.Usuario_ID; AjusteInventario.Empresa_ID = Sesion.Empresa_ID.Value; AjusteInventario.Estacion_ID = Sesion.Estacion_ID.Value; if (this.TipoAjuste.TipoAjusteInventario_ID == 2) { AjusteInventario.Cantidad *= -1; } AjusteInventario.Create(); Entities.NotasAlmacen NotaAlmacen = new Entities.NotasAlmacen(); Entities.MovimientosInventario MovimientoInventario = new Entities.MovimientosInventario(); // Insertar Nota Almacen NotaAlmacen.Fecha = DB.GetDate(); NotaAlmacen.TipoMovimientoInventario_ID = 3; // Ajuste NotaAlmacen.Usuario_ID = Sesion.Usuario_ID; NotaAlmacen.Empresa_ID = Sesion.Empresa_ID.Value; NotaAlmacen.Estacion_ID = Sesion.Estacion_ID.Value; NotaAlmacen.Create(); // Insertar movimiento de inventario MovimientoInventario.Cantidad = AjusteInventario.Cantidad; MovimientoInventario.CostoUnitario = Refaccion.CostoUnitario.Value; MovimientoInventario.Fecha = NotaAlmacen.Fecha; MovimientoInventario.NotaAlmacen_ID = NotaAlmacen.NotaAlmacen_ID; MovimientoInventario.AjusteInventario_ID = AjusteInventario.AjusteInventario_ID; MovimientoInventario.Refaccion_ID = AjusteInventario.Refaccion_ID; MovimientoInventario.TipoMovimientoInventario_ID = NotaAlmacen.TipoMovimientoInventario_ID; MovimientoInventario.Usuario_ID = NotaAlmacen.Usuario_ID; MovimientoInventario.Valor = Refaccion.CostoUnitario.Value * AjusteInventario.Cantidad; MovimientoInventario.Empresa_ID = Sesion.Empresa_ID.Value; MovimientoInventario.Estacion_ID = Sesion.Estacion_ID.Value; MovimientoInventario.Calculate(); MovimientoInventario.Create(); // Actualizar refaccion MovimientoInventario.UpdateRefaccion(false); }
/// <summary> /// Realiza la devolución de las refacciones /// </summary> public void EfectuarDevolucion() { // Variables Entities.NotasAlmacen NotaAlmacen = new Entities.NotasAlmacen(); Entities.MovimientosInventario MovimientoInventario = new Entities.MovimientosInventario(); // Crear la nota de almacen NotaAlmacen.Fecha = DB.GetDate(); NotaAlmacen.OrdenCompra_ID = null; NotaAlmacen.OrdenTrabajo_ID = this.OrdenTrabajo_ID; NotaAlmacen.TipoMovimientoInventario_ID = 6; // Cancelacion de O.T. NotaAlmacen.Usuario_ID = Sesion.Usuario_ID; NotaAlmacen.Empresa_ID = Sesion.Empresa_ID.Value; NotaAlmacen.Estacion_ID = Sesion.Estacion_ID.Value; NotaAlmacen.Create(); // Registrar el movimiento para cada refaccion foreach (Entities.Vista_RefaccionesDevolucionesOrdenesTrabajo devolucion in this.ListaRefacciones) { if (devolucion.Entrada > 0) { MovimientoInventario.Cantidad = devolucion.Entrada; MovimientoInventario.CostoUnitario = devolucion.CostoUnitario; MovimientoInventario.Fecha = NotaAlmacen.Fecha; MovimientoInventario.NotaAlmacen_ID = NotaAlmacen.NotaAlmacen_ID; MovimientoInventario.OrdenTrabajo_ID = NotaAlmacen.OrdenTrabajo_ID; MovimientoInventario.Refaccion_ID = devolucion.Refaccion_ID; MovimientoInventario.TipoMovimientoInventario_ID = NotaAlmacen.TipoMovimientoInventario_ID; MovimientoInventario.Usuario_ID = NotaAlmacen.Usuario_ID; MovimientoInventario.Valor = MovimientoInventario.Cantidad * MovimientoInventario.CostoUnitario; MovimientoInventario.Empresa_ID = NotaAlmacen.Empresa_ID; MovimientoInventario.Estacion_ID = NotaAlmacen.Estacion_ID; MovimientoInventario.Calculate(); MovimientoInventario.Create(); // Actualizar refaccion MovimientoInventario.UpdateRefaccion(false); } } }
private void RegistrarMovimiento() { DoValidate(); int PorSurtir = 0; foreach (Entities.Vista_ComprasAlmacen vistaCompra in VistaCompras) { PorSurtir += vistaCompra.Entrada; } if (PorSurtir == 0) { AppHelper.ThrowException( "La orden de compra {0} esta completamente surtida", this.OrdenCompra.OrdenCompra_ID); } NotaAlmacen = new Entities.NotasAlmacen(); MovimientoInventario = new Entities.MovimientosInventario(); // Insertar Nota Almacen NotaAlmacen.Fecha = DB.GetDate(); NotaAlmacen.OrdenCompra_ID = OrdenCompra.OrdenCompra_ID; NotaAlmacen.TipoMovimientoInventario_ID = 2; // Compra NotaAlmacen.Usuario_ID = Sesion.Usuario_ID; NotaAlmacen.Empresa_ID = Sesion.Empresa_ID.Value; NotaAlmacen.Estacion_ID = Sesion.Estacion_ID.Value; NotaAlmacen.Factura = FacturaTextBox.Text; NotaAlmacen.Create(); // Insertar Movimientos Inventario foreach (Entities.Vista_ComprasAlmacen compra in VistaCompras) { if (compra.Entrada > 0) { MovimientoInventario.Cantidad = compra.Entrada; MovimientoInventario.CantidadPost = MovimientoInventario.CantidadPrev + compra.Entrada; MovimientoInventario.CostoUnitario = compra.CostoUnitario; MovimientoInventario.Fecha = NotaAlmacen.Fecha; MovimientoInventario.NotaAlmacen_ID = NotaAlmacen.NotaAlmacen_ID; MovimientoInventario.OrdenCompra_ID = NotaAlmacen.OrdenCompra_ID; MovimientoInventario.Refaccion_ID = compra.Refaccion_ID; MovimientoInventario.TipoMovimientoInventario_ID = NotaAlmacen.TipoMovimientoInventario_ID; MovimientoInventario.Usuario_ID = NotaAlmacen.Usuario_ID; MovimientoInventario.Valor = compra.Entrada * compra.CostoUnitario; MovimientoInventario.Empresa_ID = Sesion.Empresa_ID.Value; MovimientoInventario.Estacion_ID = Sesion.Estacion_ID.Value; MovimientoInventario.Calculate(); MovimientoInventario.Create(); // Actualizar refaccion MovimientoInventario.UpdateRefaccion(true); } } // Actualizar compra y sacar totale de Orden de Compra decimal subtotal = 0; foreach (Entities.Vista_ComprasAlmacen vistaCompra in VistaCompras) { Entities.Compras compra = Entities.Compras.Read(vistaCompra.Compra_ID); if (vistaCompra.Entrada > 0) { compra.RefaccionesSurtidas += vistaCompra.Entrada; compra.CostoUnitario = vistaCompra.CostoUnitario; compra.Update(); subtotal += vistaCompra.CostoUnitario * compra.Cantidad; } else { subtotal += compra.CostoUnitario * compra.Cantidad; } } // Actualizar Factura y Totales de Orden de Compra if (String.IsNullOrEmpty(OrdenCompra.Factura)) { OrdenCompra.Factura = FacturaTextBox.Text.ToUpper().Trim(); } else { OrdenCompra.Factura = OrdenCompra.Factura.Trim() + ", " + FacturaTextBox.Text.ToUpper().Trim(); } OrdenCompra.Subtotal = subtotal; OrdenCompra.IVA = OrdenCompra.Subtotal * (decimal)0.16; OrdenCompra.Total = OrdenCompra.Subtotal + OrdenCompra.IVA; OrdenCompra.Update(); OrdenCompra = null; this.label4.Visible = false; this.FacturaTextBox.Visible = false; }