diff --git a/App_Code/ClsContabilidad.vb b/App_Code/ClsContabilidad.vb index 14500b57d..50bd8cd30 100644 --- a/App_Code/ClsContabilidad.vb +++ b/App_Code/ClsContabilidad.vb @@ -25,6 +25,7 @@ Public Class ClsContabilidad Private disposedValue As Boolean = False ' Para detectar llamadas redundantes 'REGISTRAR CONEXIONES ABIERTAS Private CveConexion As Integer = 0 + Public Property CvePrePolizaDetalle As Integer #End Region #Region " P R O P I E D A D E S" @@ -899,11 +900,17 @@ Public Class ClsContabilidad .Add("@CveColectiva", SqlDbType.Int).Value = CveColectiva .Add("@CveCreditoDetalle", SqlDbType.Int).Value = CveCreditoDetalle .Add("@PorcentajeImpuesto", SqlDbType.Money).Value = PorcentajeImpuesto + + .Add("@CvePrePolizaDetalle", SqlDbType.Int).Direction = ParameterDirection.Output End With Try SqlAdapter.Fill(Data) - Retorno = True + CvePrePolizaDetalle = SqlAdapter.SelectCommand.Parameters("@CvePrePolizaDetalle").Value.ToString.ToEntero + If CvePrePolizaDetalle > 0 Then + Retorno = True + End If + Catch ex1 As SqlException If ex1.Message.Contains("50015;") Then OnError("No se puede registrar una póliza en un ejercicio Cerrado", ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb index 74be2b92d..2a91b7d8b 100644 --- a/App_Code/ClsInventarios.vb +++ b/App_Code/ClsInventarios.vb @@ -80,7 +80,7 @@ Public Class ClsInventarios Public Property CveSubProyectoInventario As Integer Public Property SubProyecto As String Public Property SubProyectoInventario As String - Public Property SerieLote As String + Public Property Serie As String Public Property Guia As String Public Property TipoCambio As Double Public Property FolioVenta As String @@ -98,6 +98,7 @@ Public Class ClsInventarios Public Property CveCliente As Integer Public Property CveClienteSucursal As Integer Public Property NombreCliente As String + Public Property CveProveedor As Integer Public Property DepartamentoEntrega As String Public Property PedidoContrato As String Public Property GastoIndirecto As Double @@ -568,22 +569,11 @@ Public Class ClsInventarios #End Region #Region " SECCIONES ALMACENES " - Public Function GetSeccionesAlmacenes() As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_INV_SeccionesAlmacenesGet") - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener el Catálogo de Secciones de Almacenes.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - Return Retorno - End Function Public Function UpdateSeccion(CveSeccion As Integer, Seccion As String, Estatus As Boolean) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_INV_SeccionesAlmacenesUpdate") + DataAdapter("PA_Inv_SeccionesAlmacenesUpdate") With SqlAdapter.SelectCommand.Parameters .Add("@CveSeccion", SqlDbType.Int).Value = CveSeccion @@ -606,10 +596,11 @@ Public Class ClsInventarios Return Retorno End Function - Public Function GetSeccionesAlmacenes(CveSeccion As Integer) As Boolean + Public Function GetSeccionesAlmacenes(CveEmpresa As Integer, CveSeccion As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Inv_SeccionesAlmacenesGet") With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CveSeccion", SqlDbType.Int).Value = CveSeccion End With Try @@ -824,6 +815,7 @@ Public Class ClsInventarios CveCliente = If(dr("CveCliente").ToString.ToEntero > 0, dr("CveCliente").ToString.ToEntero, -1) CveClienteSucursal = If(dr("CveClienteSucursal").ToString.ToEntero > 0, dr("CveClienteSucursal").ToString.ToEntero, -1) NombreCliente = dr("Nombre").ToString + CveProveedor = If(dr("CveProveedor").ToString.ToEntero > 0, dr("CveProveedor").ToString.ToEntero, -1) DepartamentoEntrega = dr("DepartamentoEntrega").ToString PedidoContrato = dr("PedidoContrato").ToString TienePrePoliza = dr("TienePrePoliza").ToString.ToEntero @@ -1260,37 +1252,38 @@ Public Class ClsInventarios Return Retorno End Function - Public Function AddMovimientoDetalle(CveMovimiento As Integer, Cantidad As Double, CveUM As Integer, CvePS As Integer, PU As Decimal, CveAF As Integer, Optional CveSeccionAlmacen As Integer = -1, Optional SerieLote As String = "", - Optional Observaciones As String = "", Optional CveMovimientoDetalleEntrada As Integer = -1, Optional PUTC As Decimal = -1, Optional FechaCaducidad As Date = MinFecha, + Public Function AddMovimientoDetalle(CveMovimiento As Integer, Cantidad As Double, CveUM As Integer, CvePS As Integer, PU As Decimal, Optional CveAF As Integer = -1, + Optional CveSeccionAlmacen As Integer = -1, Optional Serie As String = "", Optional Lote As String = "", Optional FechaCaducidad As Date = MinFecha, + Optional Observaciones As String = "", Optional CveMovimientoDetalleEntrada As Integer = -1, Optional PUTC As Decimal = -1, Optional CostoIndirecto As Decimal = 0, Optional CveCompraDetalle As Integer = -1, Optional CveOrdenCompraDetalle As Integer = -1, Optional CveVentaDetalle As Integer = -1, - Optional Lote As String = "", Optional Batch As String = "", Optional CveContratoDetalle As Integer = -1, Optional CveUsuarioModifico As Integer = -1, Optional EsInterno As Integer = -1) As Boolean + Optional CveContratoDetalle As Integer = -1, Optional CveUsuarioModifico As Integer = -1, Optional EsInterno As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Inv_MovimientosDetalleAdd") With SqlAdapter.SelectCommand.Parameters .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento - .Add("@CveUM", SqlDbType.Int).Value = CveUM .Add("@Cantidad", SqlDbType.Money).Value = Cantidad + .Add("@CveUM", SqlDbType.Int).Value = CveUM + .Add("@CvePS", SqlDbType.Int).Value = CvePS .Add("@PU", SqlDbType.Decimal).Value = PU .Add("@PUTC", SqlDbType.Decimal).Value = PUTC - .Add("@CveSeccionAlmacen", SqlDbType.Int).Value = CveSeccionAlmacen - .Add("@CvePS", SqlDbType.Int).Value = CvePS + .Add("@CostoIndirecto", SqlDbType.Decimal).Value = CostoIndirecto .Add("@CveAF", SqlDbType.Int).Value = CveAF - .Add("@SerieLote", SqlDbType.VarChar).Value = SerieLote + .Add("@CveSeccionAlmacen", SqlDbType.Int).Value = CveSeccionAlmacen + .Add("@Serie", SqlDbType.VarChar).Value = Serie .Add("@Lote", SqlDbType.VarChar).Value = Lote - .Add("@Batch", SqlDbType.VarChar).Value = Batch + .Add("@FechaCaducidad", SqlDbType.Date).Value = FechaCaducidad .Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones .Add("@CveMovimientoDetalleEntrada", SqlDbType.Int).Value = CveMovimientoDetalleEntrada - .Add("@FechaCaducidad", SqlDbType.Date).Value = FechaCaducidad - .Add("@CostoIndirecto", SqlDbType.Decimal).Value = CostoIndirecto .Add("@CveCompraDetalle", SqlDbType.Int).Value = CveCompraDetalle .Add("@CveOrdenCompraDetalle", SqlDbType.Int).Value = CveOrdenCompraDetalle .Add("@CveVentaDetalle", SqlDbType.Int).Value = CveVentaDetalle .Add("@CveContratoDetalle", SqlDbType.Int).Value = CveContratoDetalle - .Add("@CveMovimientoDetalle", SqlDbType.Int).Direction = ParameterDirection.Output .Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico .Add("@EsInterno", SqlDbType.Int).Value = EsInterno + + .Add("@CveMovimientoDetalle", SqlDbType.Int).Direction = ParameterDirection.Output End With Try @@ -1313,7 +1306,7 @@ Public Class ClsInventarios Return Retorno End Function - Public Function UpdateMovimientoDetalle(Cantidad As Double, CveUM As Integer, CvePS As Integer, PU As Double, CveAF As Integer, CveMovimientoDetalle As Integer, Optional CveSeccionAlmacen As Integer = -1, Optional SerieLote As String = "", + Public Function UpdateMovimientoDetalle(Cantidad As Double, CveUM As Integer, CvePS As Integer, PU As Double, CveAF As Integer, CveMovimientoDetalle As Integer, Optional CveSeccionAlmacen As Integer = -1, Optional Serie As String = "", Optional Observaciones As String = "-1", Optional PUTC As Double = -1, Optional CveUsuarioModifico As Integer = -1) As Boolean Dim Retorno As Boolean = False @@ -1328,7 +1321,7 @@ Public Class ClsInventarios .Add("@PUTC", SqlDbType.Money).Value = PUTC .Add("@CveSeccionAlmacen", SqlDbType.Int).Value = CveSeccionAlmacen .Add("@CveAF", SqlDbType.Int).Value = CveAF - .Add("@SerieLote", SqlDbType.VarChar).Value = SerieLote + .Add("@Serie", SqlDbType.VarChar).Value = Serie .Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones .Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico End With @@ -1765,8 +1758,10 @@ Public Class ClsInventarios #Region " INVENTARIOS - EXISTENCIAS " Public Function GetExistenciasPS(CvePS As Integer, CveUnidadMedida As Integer, CveEmpresa As Integer, CveAlmacen As Integer, Optional CveSeccionAlmacen As Integer = -1, Optional CveTipoAlmacen As Integer = -1, Optional CveSubProyecto As Integer = -1, - Optional FechaMovto As String = "-1", Optional SerieLote As String = "-1", Optional CveVendedor As Integer = -1, Optional CveCliente As Integer = -1, - Optional ExcluyeAdelantado As Integer = -1, Optional PendientePorSurtir As Integer = -1, Optional Lote As String = "-1", Optional Batch As String = "-1", + Optional FechaMovto As String = "-1", + Optional Serie As String = "-1", Optional Lote As String = "-1", Optional FechaCaducidad As Date = MinFecha, + Optional CveVendedor As Integer = -1, Optional CveCliente As Integer = -1, + Optional ExcluyeAdelantado As Integer = -1, Optional PendientePorSurtir As Integer = -1, Optional ExcluyeApartados As Integer = 1, Optional RestringirAlmacenes As Integer = -1) As Decimal Dim Retorno As Decimal = -1 @@ -1784,9 +1779,9 @@ Public Class ClsInventarios .Add("@CveTipoAlmacen", SqlDbType.Int).Value = CveTipoAlmacen .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto .Add("@FechaMovto", SqlDbType.DateTime).Value = DateTime.ParseExact(FechaMovto, "yyyy/MM/dd HH:mm", Nothing) - .Add("@SerieLote", SqlDbType.VarChar).Value = SerieLote + .Add("@Serie", SqlDbType.VarChar).Value = Serie .Add("@Lote", SqlDbType.VarChar).Value = Lote - .Add("@Batch", SqlDbType.VarChar).Value = Batch + .Add("@FechaCaducidad", SqlDbType.Date).Value = FechaCaducidad .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor .Add("@CveCliente", SqlDbType.Int).Value = CveCliente .Add("@ExcluyeAdelantado", SqlDbType.Int).Value = ExcluyeAdelantado @@ -1816,9 +1811,10 @@ Public Class ClsInventarios End Function Public Function GetExistenciasProducto(CvePS As Integer, CveUnidadMedida As Integer, CveEmpresa As Integer, CveAlmacen As Integer, Optional CveSeccionAlmacen As Integer = -1, Optional CveTipoAlmacen As Integer = -1, Optional CveSubProyecto As Integer = -1, - Optional FechaMovto As String = "-1", Optional SerieLote As String = "-1", Optional CveVendedor As Integer = -1, Optional CveCliente As Integer = -1, - Optional ExcluyeAdelantado As Integer = -1, Optional PendientePorSurtir As Integer = -1, Optional Lote As String = "-1", Optional Batch As String = "-1", - Optional ExcluyeApartados As Integer = 1, Optional RestringirAlmacenes As Integer = -1, Optional Caducidad As Date = MinFecha) As Boolean + Optional FechaMovto As String = "-1", Optional CveVendedor As Integer = -1, Optional CveCliente As Integer = -1, + Optional Serie As String = "-1", Optional Lote As String = "-1", Optional Caducidad As Date = MinFecha, + Optional ExcluyeAdelantado As Integer = -1, Optional PendientePorSurtir As Integer = -1, + Optional ExcluyeApartados As Integer = 1, Optional RestringirAlmacenes As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Inv_ExistenciasGet") @@ -1827,20 +1823,19 @@ Public Class ClsInventarios .Add("@CveUnidadMedida", SqlDbType.Int).Value = CveUnidadMedida .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen - .Add("@CveSeccionAlmacen", SqlDbType.Int).Value = CveSeccionAlmacen .Add("@CveTipoAlmacen", SqlDbType.Int).Value = CveTipoAlmacen - .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto .Add("@FechaMovto", SqlDbType.DateTime).Value = DateTime.ParseExact(FechaMovto, "yyyy/MM/dd HH:mm", Nothing) - .Add("@SerieLote", SqlDbType.VarChar).Value = SerieLote - .Add("@Lote", SqlDbType.VarChar).Value = Lote - .Add("@Batch", SqlDbType.VarChar).Value = Batch .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@CveSeccionAlmacen", SqlDbType.Int).Value = CveSeccionAlmacen + .Add("@Serie", SqlDbType.VarChar).Value = Serie + .Add("@Lote", SqlDbType.VarChar).Value = Lote + .Add("@Caducidad", SqlDbType.Date).Value = Caducidad .Add("@ExcluyeAdelantado", SqlDbType.Int).Value = ExcluyeAdelantado .Add("@PendientePorSurtir", SqlDbType.Int).Value = PendientePorSurtir .Add("@ExcluyeApartados", SqlDbType.Int).Value = ExcluyeApartados .Add("@RestringirAlmacenes", SqlDbType.Int).Value = RestringirAlmacenes - .Add("@Caducidad", SqlDbType.Date).Value = Caducidad + .Add("@Existencia", SqlDbType.Money).Direction = ParameterDirection.Output End With Try @@ -1852,21 +1847,18 @@ Public Class ClsInventarios Return Retorno End Function - Public Function GetExistenciasPSSerie(SerieLote As String, CveAlmacen As Integer, CveEmpresa As Integer, Optional FechaMovto As String = "-1") As Decimal - - If SerieLote = "" Then Return 0 + Public Function GetExistenciasPSSerie(Serie As String, CveAlmacen As Integer, CveEmpresa As Integer, Optional CveSeccionAlmacen As Integer = -1) As Decimal + If Serie = "" Then Return 0 Dim Retorno As Decimal = 0 - If FechaMovto = "-1" Then - FechaMovto = String.Format("{0} 00:00", Now.AddDays(1).ToString("yyyy/MM/dd")) - End If DataAdapter("PA_Inv_ExistenciasPSSerieGet") With SqlAdapter.SelectCommand.Parameters - .Add("@SerieLote", SqlDbType.VarChar).Value = SerieLote + .Add("@Serie", SqlDbType.VarChar).Value = Serie .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen + .Add("@CveSeccionAlmacen", SqlDbType.Int).Value = CveSeccionAlmacen ' .Add("@FechaMovto", SqlDbType.DateTime).Value = DateTime.ParseExact(FechaMovto, "yyyy/MM/dd HH:mm", Nothing) .Add("@Existencia", SqlDbType.Money).Direction = ParameterDirection.Output @@ -1889,13 +1881,13 @@ Public Class ClsInventarios Return Retorno End Function - Public Function GetCostoPSSerie(CvePS As Integer, SerieLote As String, CveAlmacen As Integer, CveEmpresa As Integer) As Decimal + Public Function GetCostoPSSerie(CvePS As Integer, Serie As String, CveAlmacen As Integer, CveEmpresa As Integer) As Decimal Dim Retorno As Decimal = 0 DataAdapter("PA_Inv_CostoPSSerieGet") With SqlAdapter.SelectCommand.Parameters .Add("@CvePS", SqlDbType.Int).Value = CvePS - .Add("@SerieLote", SqlDbType.VarChar).Value = SerieLote + .Add("@Serie", SqlDbType.VarChar).Value = Serie .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen .Add("@Costo", SqlDbType.Money).Direction = ParameterDirection.Output @@ -1958,7 +1950,7 @@ Public Class ClsInventarios Public Function GetExistenciasPSEmpaque(CvePS As Integer, CveUnidadMedida As Integer, CveEmpresa As Integer, CveAlmacen As Integer, Optional CveSeccionAlmacen As Integer = -1, Optional CveTipoAlmacen As Integer = -1, Optional CveSubProyecto As Integer = -1, - Optional FechaMovto As String = "-1", Optional SerieLote As String = "-1", Optional CveVendedor As Integer = -1, Optional CveCliente As Integer = -1, + Optional FechaMovto As String = "-1", Optional Serie As String = "-1", Optional CveVendedor As Integer = -1, Optional CveCliente As Integer = -1, Optional ExcluyeAdelantado As Integer = -1, Optional PendientePorSurtir As Integer = -1, Optional Lote As String = "-1", Optional Batch As String = "-1", Optional ExcluyeApartados As Integer = 1, Optional RestringirAlmacenes As Integer = -1) As Boolean Dim Retorno As Boolean = False @@ -1977,7 +1969,7 @@ Public Class ClsInventarios .Add("@CveTipoAlmacen", SqlDbType.Int).Value = CveTipoAlmacen .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto .Add("@FechaMovto", SqlDbType.DateTime).Value = DateTime.ParseExact(FechaMovto, "yyyy/MM/dd HH:mm", Nothing) - .Add("@SerieLote", SqlDbType.VarChar).Value = SerieLote + .Add("@Serie", SqlDbType.VarChar).Value = Serie .Add("@Lote", SqlDbType.VarChar).Value = Lote .Add("@Batch", SqlDbType.VarChar).Value = Batch .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor @@ -2024,7 +2016,7 @@ Public Class ClsInventarios SqlAdapter.Fill(Data) Retorno = True Catch ex As Exception - OnError("Ocurrió un error al momento de vericar la existencia de los productos por xml.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + OnError("Ocurrió un error al momento de verificar la existencia de los productos por xml.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) End Try Return Retorno @@ -2422,7 +2414,7 @@ Public Class ClsInventarios Return Retorno End Function - Public Function AddInventarioFisicoDetalle(CveInventarioFisico As Integer, CvePS As Integer, CveUM As Integer, Cantidad As Double, SerieLote As String, CveUsuario As Integer) As Boolean + Public Function AddInventarioFisicoDetalle(CveInventarioFisico As Integer, CvePS As Integer, CveUM As Integer, Cantidad As Double, Serie As String, CveUsuario As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Inv_InventarioFisicoDetalleAdd") @@ -2432,7 +2424,7 @@ Public Class ClsInventarios .Add("@CveUM", SqlDbType.Int).Value = CveUM .Add("@Cantidad", SqlDbType.Money).Value = Cantidad .Add("@CvePS", SqlDbType.Int).Value = CvePS - .Add("@SerieLote", SqlDbType.VarChar).Value = SerieLote + .Add("@Serie", SqlDbType.VarChar).Value = Serie .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario .Add("@Estatus", SqlDbType.Int).Direction = ParameterDirection.Output End With @@ -2444,7 +2436,7 @@ Public Class ClsInventarios Retorno = True ElseIf SqlAdapter.SelectCommand.Parameters("@Estatus").Value.ToString.ToEntero = 2 Then Retorno = False - Alert($"Ya existe la Serie {SerieLote} en el inventario actual.", TipoMensaje.MsgAdvertencia) + Alert($"Ya existe la Serie {Serie} en el inventario actual.", TipoMensaje.MsgAdvertencia) End If Catch Ex1 As SqlException @@ -2839,15 +2831,16 @@ Public Class ClsInventarios Return Retorno End Function - Public Function SerieLoteRecomendadoGet(CvePS As Integer, CveEmpresa As Integer, Optional CveAlmacen As Integer = -1, Optional CveSubProyecto As Integer = -1) As Boolean + Public Function SerieRecomendadoGet(CvePS As Integer, CveEmpresa As Integer, Optional CveAlmacen As Integer = -1, Optional CveSeccionAlmacen As Integer = -1, Optional CveSubProyecto As Integer = -1) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Inv_SerieLoteRecomendadoGet") + DataAdapter("PA_Inv_SerieRecomendadoGet") With SqlAdapter.SelectCommand.Parameters .Add("@CvePS", SqlDbType.Int).Value = CvePS .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen + .Add("@CveSeccionAlmacen", SqlDbType.Int).Value = CveSeccionAlmacen .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto End With @@ -2855,15 +2848,15 @@ Public Class ClsInventarios SqlAdapter.Fill(Data) Retorno = True Catch ex As Exception - OnError("Ocurrió un error al obtener la Serie/Lote recomendado.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + OnError("Ocurrió un error al obtener la Serie recomendado.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) End Try Return Retorno End Function - Public Function LoteBatchRecomendadoGet(CvePS As Integer, CveEmpresa As Integer, Optional CveAlmacen As Integer = -1) As Boolean + Public Function LoteRecomendadoGet(CvePS As Integer, CveEmpresa As Integer, Optional CveAlmacen As Integer = -1) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Inv_LoteBatchRecomendadoGet") + DataAdapter("PA_Inv_LoteRecomendadoGet") With SqlAdapter.SelectCommand.Parameters .Add("@CvePS", SqlDbType.Int).Value = CvePS @@ -3014,7 +3007,7 @@ Public Class ClsInventarios Return Retorno End Function - Public Function GetEstatusVentaPorSurir(CveVenta As Integer) As Boolean + Public Function GetEstatusVentaPorSurtir(CveVenta As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Inv_EstatusVentaPorSurtirGet") @@ -3358,7 +3351,7 @@ Public Class ClsInventarios End Function #Region " INVENTARIOS - COSTO PS " - Public Function GetCostoPS(CvePS As Integer, Cantidad As Double, CveAlmacen As Integer, SerieLote As String, FechaFin As Datetime, Optional CveSubProyecto As Integer = -1, Optional CveTipoAlmacen As Integer = 1) As Decimal + Public Function GetCostoPS(CvePS As Integer, Cantidad As Double, CveAlmacen As Integer, Serie As String, FechaFin As DateTime, Optional CveSubProyecto As Integer = -1, Optional CveTipoAlmacen As Integer = 1) As Decimal Dim Retorno As Decimal = -1D DataAdapter("PA_Inv_PSCostoGet") @@ -3366,7 +3359,7 @@ Public Class ClsInventarios .Add("@CvePS", SqlDbType.Int).Value = CvePS .Add("@Cantidad", SqlDbType.Float).Value = Cantidad .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen - .Add("@SerieLote", SqlDbType.VarChar).Value = SerieLote + .Add("@Serie", SqlDbType.VarChar).Value = Serie .Add("@FechaFin", SqlDbType.DateTime).Value = FechaFin .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto .Add("@CveTipoAlmacen", SqlDbType.Int).Value = CveTipoAlmacen @@ -4734,41 +4727,60 @@ Public Class ClsInventarios #Region "MOVIMIENTOS DETALLE SECCION ALMACEN" - Public Function AddMovimientosDetalleSeccionesAlmacen(CveMovimientoDetalle As Integer, CveSeccionAlmacen As Integer, Cantidad As Decimal) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_Inv_MovimientosDetalleSeccionesAlmacenAdd") - With SqlAdapter.SelectCommand.Parameters - .Add("@CveMovimientoDetalle", SqlDbType.Int).Value = CveMovimientoDetalle - .Add("@CveSeccionAlmacen", SqlDbType.Int).Value = CveSeccionAlmacen - .Add("@Cantidad", SqlDbType.Float).Value = Cantidad - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al agregar movimientos detalle seccion almacen", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - Return Retorno - End Function - Public Function GetMovimientosDetalleSeccionesAlmacen(CveSeccionAlmacen As Integer, CveAlmacen As Integer, CvePS As Integer, CveEmpresa As Integer) As Boolean + Public Function GetMovimientosDetalleSeccionesAlmacen(CveAlmacen As Integer, CveClasificacion As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Inv_MovimientosDetalleSeccionesAlmacenGet") + DataAdapter("PA_Inv_MovimientosDetalleAjusteSeccionesGet") With SqlAdapter.SelectCommand.Parameters - .Add("@CveSeccionAlmacen", SqlDbType.Int).Value = CveSeccionAlmacen .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen - .Add("@CvePS", SqlDbType.Int).Value = CvePS + .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa End With Try SqlAdapter.Fill(Data) Retorno = True Catch ex As Exception - OnError("Ocurrió un error al agregar movimientos detalle seccion almacen", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + OnError("Ocurrió un error al obtener movimientos detalle seccion almacen", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) End Try Return Retorno + End Function + 'Public Function AddMovimientosDetalleSeccionesAlmacen(CveMovimientoDetalle As Integer, CveSeccionAlmacen As Integer, Cantidad As Decimal) As Boolean + ' Dim Retorno As Boolean = False + ' DataAdapter("PA_Inv_MovimientosDetalleSeccionesAlmacenAdd") + ' With SqlAdapter.SelectCommand.Parameters + ' .Add("@CveMovimientoDetalle", SqlDbType.Int).Value = CveMovimientoDetalle + ' .Add("@CveSeccionAlmacen", SqlDbType.Int).Value = CveSeccionAlmacen + ' .Add("@Cantidad", SqlDbType.Float).Value = Cantidad + ' End With + ' Try + ' SqlAdapter.Fill(Data) + ' Retorno = True + ' Catch ex As Exception + ' OnError("Ocurrió un error al agregar movimientos detalle seccion almacen", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + ' End Try + ' Return Retorno + 'End Function + + 'Public Function GetMovimientosDetalleSeccionesAlmacen(CveSeccionAlmacen As Integer, CveAlmacen As Integer, CvePS As Integer, CveEmpresa As Integer) As Boolean + ' Dim Retorno As Boolean = False + ' DataAdapter("PA_Inv_MovimientosDetalleSeccionesAlmacenGet") + ' With SqlAdapter.SelectCommand.Parameters + ' .Add("@CveSeccionAlmacen", SqlDbType.Int).Value = CveSeccionAlmacen + ' .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen + ' .Add("@CvePS", SqlDbType.Int).Value = CvePS + ' .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + ' End With + ' Try + ' SqlAdapter.Fill(Data) + ' Retorno = True + ' Catch ex As Exception + ' OnError("Ocurrió un error al agregar movimientos detalle seccion almacen", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + ' End Try + ' Return Retorno + 'End Function + Public Function GetExistenciaSeccionAlmacen(CveVenta As Integer, CveAlmacen As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Inv_ExistenciaSeccionAlmacenGet") @@ -4786,23 +4798,23 @@ Public Class ClsInventarios Return Retorno End Function - Public Function GetKardexSeccionAlmacen(CvePS As Integer, CveAlmacen As Integer, CveSeccionAlmacen As Integer, CveEmpresa As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_Inv_KardexSeccionAlmacenGet") - With SqlAdapter.SelectCommand.Parameters - .Add("@CvePS", SqlDbType.Int).Value = CvePS - .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen - .Add("@CveSeccionAlmacen", SqlDbType.Int).Value = CveSeccionAlmacen - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener el kardex de seccion almacen", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - Return Retorno - End Function + 'Public Function GetKardexSeccionAlmacen(CvePS As Integer, CveAlmacen As Integer, CveSeccionAlmacen As Integer, CveEmpresa As Integer) As Boolean + ' Dim Retorno As Boolean = False + ' DataAdapter("PA_Inv_KardexSeccionAlmacenGet") + ' With SqlAdapter.SelectCommand.Parameters + ' .Add("@CvePS", SqlDbType.Int).Value = CvePS + ' .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen + ' .Add("@CveSeccionAlmacen", SqlDbType.Int).Value = CveSeccionAlmacen + ' .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + ' End With + ' Try + ' SqlAdapter.Fill(Data) + ' Retorno = True + ' Catch ex As Exception + ' OnError("Ocurrió un error al obtener el kardex de seccion almacen", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + ' End Try + ' Return Retorno + 'End Function Public Function AddProductosServiciosAlmacenSeccion(CvePS As Integer, CveAlmacen As Integer, CveAlmacenSeccion As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Inv_ProductosServiciosAlmacenSeccionAdd") diff --git a/App_Code/ClsOC.vb b/App_Code/ClsOC.vb index bcecb847d..19d38432e 100644 --- a/App_Code/ClsOC.vb +++ b/App_Code/ClsOC.vb @@ -1,2553 +1,2553 @@ -Imports System.Data -Imports System.Data.SqlClient -Imports Extensiones -Imports Modelos - -Public Class ClsOC - Implements IDisposable - -#Region "Campos" - 'SQL - Private SqlConexion As SqlConnection - Private SqlAdapter As SqlDataAdapter - Private SqlTransacc As SqlTransaction - Private SqlCommand As SqlCommand - Private StrSQL As StringBuilder - Private Data As DataTable - 'Atributos de la clase - Private disposedValue As Boolean = False - 'PARA REGISTRAR CONEXION - Private CveConexion As Integer = 0 - -#End Region - -#Region "Propiedades" - - Public Property FechaIng As Date - Public Property CveUsuario As Integer - Public Property NombreUsuario As String - Public Property CveOrdenCompra As Integer - Public Property CveOrdenCompraDetalle As Integer - Public Property Folio As Integer - Public Property CveIEAnticipo As Integer - Public Property CveProveedorAnticipo As Integer - Public Property FolioIEAnticipo As Integer - Public Property ImporteAnticipo As Double - - Public Property FolioAdicional As String - Public Property EntregaDirecta As Boolean - Public Property CveVenta As Integer - Public Property CveCompra As Integer - Public Property CveMovimientoAlmacenVenta As Integer - Public Property TieneVenta As Integer - Public Property TieneCompraInv As Integer - - Public Property Tipo As String - Public Property CveEstatus As Integer - Public Property Estatus As String - Public Property Prioridad As Integer - Public Property Moneda As String - Public Property UsuarioAsignado As String - Public Property CveUsuarioAsignado As Integer - - Private _EsCancelable As Boolean - - Private _EsCotizacion As Boolean - Public Property TipoTermino As Integer - Public Property CveEstatusSiguiente As Integer - Public Property CveEstatusAnterior As Integer - - Public Property Descripcion As String - Public Property Justificacion As String - Public Property CveEmpresa As Integer - Private _CveProyecto As Integer - - 'Private _CveUsuario As Integer - Public Property Fecha As Date - Public Property FechaEstimadaEntrega As Date - 'Private _NombreUsuario As String - Public Property CveProveedor As Integer - Public Property CveProveedorSucursal As Integer - Public Property SucursalDireccion As String - Public Property ProveedorContacto As String - Public Property SucursalTelefono As String - Public Property RazonSocial As String - Public Property Direccion As String - Public Property Telefono As String - Public Property RFC As String - Public Property LugarEntrega As String - Public Property Cancelacion As String - Public Property PorcentajeIVA As Double - Public Property CveCliente As Integer - Public Property CveVendedor As Integer - Public Property PrioridadObservacion As String - Public Property SubTotal As Double - Public Property IVA As Double - Public Property RetIVA As Double - Public Property RetISR As Double - Public Property IEPS As Double - Public Property Total As Double - Public Property CvePresupuestoEgreso As Integer - Public Property RequiereCotizacion As Boolean - Public Property CveActivoFijo As Integer - Public Property Codigo As String - Public Property Proyecto As String - Public Property CveSubProyecto2 As Integer - Public Property SubProyecto As String - Public Property UsuarioSolicito As String - Public Property UsuarioAutorizo As String - Public Property Descuento As Double - Public Property Pendiente As Double - Public Property NombreCliente As String - Public Property SucCalle As String - Public Property SucNoExt As String - Public Property SucNoInt As String - Public Property SucColonia As String - Public Property SucMunicipio As String - Public Property SucEstado As String - Public Property SucPais As String - Public Property SucCP As String - Public Property SucTelefono As String - Public Property CveDireccionEnvio As Integer - Public Property IdPoliza As Integer - Public Property HoraElaboracion As String - Public Property SucSubProyecto As String - Public Property Guia As String - Public Property CveUsoCFDI As Integer - Public Property UsoCFDI As String - Public Property Promocion As String - Public Property CveProveedorContacto As Integer - - Public ReadOnly Property DtResultados() As DataTable - Get - DtResultados = Data - End Get - End Property - - -#End Region - -#Region "Propiedades ClsOCCotizaciones" - Public Property CveCotizacion As Integer - Public Property CveCotizacionDetalle As Integer - - Public Property NombreComercial As String - - Public Property CveMoneda As Integer - Public Property CveColectiva As Integer - Public Property Colectiva As String - - Public Property Extension As String - Public Property Adjunto As String - Public Property Usuario As String - - Public Property Empresa As String - Public Property Sucursal As String - Public Property ObjLugarEntrega As String - Public Property DiasCredito As Integer - - - -#End Region - - Sub New(Optional TransaccionCompartida As SqlTransaction = Nothing) - - If TransaccionCompartida Is Nothing Then - SqlConexion = New SqlConnection - SqlConexion.ConnectionString = ConfigurationManager.ConnectionStrings("Conexion").ConnectionString - Try - SqlConexion.Open() - Catch ex As Exception - OnError("Ocurrió un error al intentar conectarse a la base de datos.", ex) - End Try - Else - SqlConexion = TransaccionCompartida.Connection - SqlTransacc = TransaccionCompartida - End If - - SqlCommand = New SqlCommand("", SqlConexion) - SqlAdapter = New SqlDataAdapter("", SqlConexion) - StrSQL = New StringBuilder - ConexionAdd() - End Sub - Private Sub DataAdapter(StrSQL As String, Optional TipoComando As CommandType = CommandType.StoredProcedure) - With SqlAdapter.SelectCommand - .Parameters.Clear() - .CommandText = StrSQL - .CommandType = TipoComando - End With - If Not SqlTransacc Is Nothing Then SqlAdapter.SelectCommand.Transaction = SqlTransacc - Data = New DataTable - End Sub -#Region "Conexiones" - - Private Sub ConexionAdd() - If ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then - - 'DataAdapter(String.Format("INSERT INTO Sis_Conexiones (Clase,Modulo) VALUES ('ClsRH','{0}')", "RH/CatMotivosBaja"), CommandType.Text) ' pendiente de terminar parra registrar el cveconexion, falta el rarámetro de módulo - - Try - DataAdapter("PA_Sis_RegistrarConexion") - With SqlAdapter.SelectCommand.Parameters - .Add("@Clase", SqlDbType.VarChar).Value = Me.GetType().Name - .Add("@Modulo", SqlDbType.VarChar).Value = String.Format("{0}?{1}", HttpContext.Current.Request.Url.AbsolutePath.ToString, HttpContext.Current.Request.QueryString.ToString) - .Add("@IDConexion", SqlDbType.Int).Direction = ParameterDirection.Output - End With - SqlAdapter.Fill(Data) - CveConexion = SqlAdapter.SelectCommand.Parameters("@IDConexion").Value.ToString.ToEntero - Catch ex As Exception - OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) - End Try - - End If - End Sub - - Private Sub ConexionClose() - If CveConexion > 0 AndAlso ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then - - DataAdapter(String.Format("UPDATE Sis_Conexiones SET FechaCierre = GETDATE() WHERE CveConexion = {0}", CveConexion), CommandType.Text) - Try - SqlAdapter.Fill(Data) - - Catch ex As Exception - OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) - End Try - CveConexion = 0 - End If - - End Sub -#End Region - Private Sub DataCommand(pStrSQL As String, Optional TipoComando As CommandType = CommandType.StoredProcedure) - With SqlCommand - .Parameters.Clear() - .CommandText = pStrSQL - .CommandType = TipoComando - End With - - If Not SqlTransacc Is Nothing Then SqlCommand.Transaction = SqlTransacc - - End Sub - Public Function IniciaTransacSQL() As SqlTransaction - If SqlTransacc Is Nothing Then SqlTransacc = SqlConexion.BeginTransaction() - Return SqlTransacc - End Function - Public Sub RollBack() - If SqlTransacc IsNot Nothing Then SqlTransacc.Rollback() - SqlTransacc = Nothing - End Sub - Public Sub Commit() - If SqlTransacc IsNot Nothing Then SqlTransacc.Commit() - SqlTransacc = Nothing - End Sub - -#Region "ClsOCCotizaciones" - Public Function GetCotizaciones(pCveOrdenCompra As Integer, Optional pCveCotizacion As Integer = -1) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_CotizacionesGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra - .Add("@CveCotizacion", SqlDbType.Int).Value = pCveCotizacion - End With - - Try - SqlAdapter.Fill(Data) - If Data.Rows.Count = 1 Then - Me.CveProveedor = If(Not IsDBNull(Data.Rows(0)("CveProveedor")), Data.Rows(0)("CveProveedor").ToString.ToEntero(), -1) - NombreComercial = If(Not IsDBNull(Data.Rows(0)("NombreComercial")), Data.Rows(0)("NombreComercial").ToString, "") - Me.RazonSocial = If(Not IsDBNull(Data.Rows(0)("RazonSocial")), Data.Rows(0)("RazonSocial").ToString, "") - - CveColectiva = If(Not IsDBNull(Data.Rows(0)("CveColectiva")), Data.Rows(0)("CveColectiva").ToString.ToEntero(), -1) - Colectiva = If(Not IsDBNull(Data.Rows(0)("Colectiva")), Data.Rows(0)("Colectiva").ToString, "") - - CveCotizacion = Data.Rows(0)("CveCotizacion").ToString.ToEntero() - Me.CveOrdenCompra = Data.Rows(0)("CveOrdenCompra").ToString.ToEntero() - CveMoneda = If(Not IsDBNull(Data.Rows(0)("CveMoneda")), Data.Rows(0)("CveMoneda").ToString.ToEntero(), -1) - - Me.Folio = Data.Rows(0)("Folio").ToString.ToEntero - Me.Fecha = Data.Rows(0)("Fecha").ToString.ToDate - Adjunto = Data.Rows(0)("Adjunto").ToString - Extension = Data.Rows(0)("Extension").ToString - Usuario = Data.Rows(0)("Usuario").ToString - Me.CveUsuario = Data.Rows(0)("CveUsuario").ToString.ToEntero - Me.Total = Data.Rows(0)("Total").ToString.ToDouble - - - Me.CveEmpresa = Data.Rows(0)("CveEmpresa").ToString.ToEntero - 'Me.CveProveedorSucursal = Data.Rows(0)("CveProveedorSucursal").ToString.ToEntero - Empresa = Data.Rows(0)("Empresa").ToString - CveSubProyecto2 = Data.Rows(0)("CveSubProyecto").ToString.ToEntero - SubProyecto = Data.Rows(0)("SubProyecto").ToString - ObjLugarEntrega = Data.Rows(0)("LugarEntrega").ToString - DiasCredito = Data.Rows(0)("DiasCredito").ToString.ToEntero - End If - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener el Catálogo de Cotizaciones.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - Public Function GetCotizacionesTabla(pCveOrdenCompra As Integer) As DataSet - Dim Retorno As New DataSet - - DataAdapter("PA_OC_Cotizaciones2Get") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra - End With - - Try - SqlAdapter.Fill(Retorno) - Catch ex As Exception - ' OnError("Ocurrió un error al obtener el Catálogo de Cotizaciones.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function AddCotizacion(pCveOrdenCompra As Integer, pCveProveedor As Integer, pCveColectiva As Integer, pFolio As String, pFecha As String, pAdjunto As String, pCveMoneda As Integer, pDiasCredito As Integer, pCveUsuario As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_CotizacionesAdd") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra - .Add("@CveProveedor", SqlDbType.Int).Value = pCveProveedor - .Add("@CveColectiva", SqlDbType.Int).Value = pCveColectiva - .Add("@Folio", SqlDbType.VarChar).Value = pFolio - .Add("@Fecha", SqlDbType.VarChar).Value = pFecha - .Add("@Adjunto", SqlDbType.VarChar).Value = pAdjunto - .Add("@CveMoneda", SqlDbType.Int).Value = pCveMoneda - .Add("@DiasCredito", SqlDbType.Int).Value = pDiasCredito - .Add("@CveUsuario", SqlDbType.Int).Value = pCveUsuario - .Add("@vCveCotizacion", SqlDbType.Int).Direction = ParameterDirection.Output - End With - - Try - SqlAdapter.Fill(Data) - CveCotizacion = SqlAdapter.SelectCommand.Parameters("@vCveCotizacion").Value.ToString.ToEntero - Retorno = True - Catch ex As SqlException - If ex.Number = 2627 Then - Alert("La Clave o Descripción de la Cotizacion ya existe.", TipoMensaje.MsgAdvertencia) - Else - OnError("Ocurrió un error al guardar el nuevo Cotizacion.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End If - Catch ex As Exception - OnError("Ocurrió un error al guardar el nuevo Cotizacion.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - Public Function UpdateCotizacion(pCveProveedor As Integer, pCveColectiva As Integer, pFolio As String, pFecha As String, pAdjunto As String, pCveMoneda As Integer, pDiasCredito As Integer, pCveUsuario As Integer, pCveCotizacion As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_CotizacionesUpdate") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveProveedor", SqlDbType.Int).Value = pCveProveedor - .Add("@CveColectiva", SqlDbType.Int).Value = pCveColectiva - .Add("@Folio", SqlDbType.VarChar).Value = pFolio - .Add("@Fecha", SqlDbType.VarChar).Value = pFecha - .Add("@Adjunto", SqlDbType.VarChar).Value = pAdjunto - .Add("@CveUsuario", SqlDbType.Int).Value = pCveUsuario - .Add("@DiasCredito", SqlDbType.Int).Value = pDiasCredito - .Add("@CveMoneda", SqlDbType.Int).Value = pCveMoneda - .Add("@CveCotizacion", SqlDbType.Int).Value = pCveCotizacion - End With - - Try - SqlAdapter.Fill(Data) - - Retorno = True - Catch ex As SqlException - If ex.Number = 2627 Then - Alert("La Clave o Descripción del Cotizacion ya existe.", TipoMensaje.MsgAdvertencia) - Else - OnError("Ocurrió un error al guardar los cambios en el Cotizacion.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End If - Catch ex As Exception - OnError("Ocurrió un error al guardar los cambios en el Cotizacion.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - Public Function RemoveCotizacion(pCveCotizacion As Integer) As String - Dim Retorno As String = "" - - DataAdapter("PA_OC_CotizacionesRemove") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveCotizacion", SqlDbType.Int).Value = pCveCotizacion - .Add("@vNombreArchivo", SqlDbType.VarChar, 50).Direction = ParameterDirection.Output - End With - - Try - SqlAdapter.Fill(Data) - - Retorno = SqlAdapter.SelectCommand.Parameters("@vNombreArchivo").Value.ToString - Catch ex As Exception - OnError("Ocurrió un error al eliminar el Cotizacion.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - Public Function GetCotizacionesDetalle(pCveCotizacion As Integer, Optional pCveOrdenCompra As Integer = -1) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_CotizacionesDetalleGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveCotizacion", SqlDbType.Int).Value = pCveCotizacion - .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener Detalle de cotización.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - Public Function AddCotizacionDetalle(pCveCotizacion As Integer, pCvePS As Integer, pPrecioUnitario As Double, pCantidad As Double, pCveUM As Integer, pCantidadSurtir As Double, pFechaEntrega As String, pObservacion As String, pCveOrdenCompraDetalle As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_CotizacionesDetalleAdd") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveCotizacion", SqlDbType.Int).Value = pCveCotizacion - .Add("@CvePS", SqlDbType.Int).Value = pCvePS - .Add("@PU", SqlDbType.Money).Value = pPrecioUnitario - .Add("@Cantidad", SqlDbType.Float).Value = pCantidad - .Add("@CveUM", SqlDbType.Int).Value = pCveUM - .Add("@CantidadSurtir", SqlDbType.Float).Value = pCantidadSurtir - .Add("@FechaEntrega", SqlDbType.VarChar).Value = pFechaEntrega - .Add("@Observacion", SqlDbType.VarChar).Value = pObservacion - .Add("@CveOrdenCompraDetalle", SqlDbType.Int).Value = pCveOrdenCompraDetalle - .Add("@vCveCotizacionDetalle", SqlDbType.Int).Direction = ParameterDirection.Output - End With - - Try - SqlAdapter.Fill(Data) - - CveCotizacionDetalle = SqlAdapter.SelectCommand.Parameters("@vCveCotizacionDetalle").Value.ToString.ToEntero - Retorno = True - Catch ex As SqlException - If ex.Number = 2627 Then - Alert("La Clave o Descripción de la Cotizacion ya existe.", TipoMensaje.MsgAdvertencia) - Else - OnError("Ocurrió un error al guardar el nuevo Cotizacion.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End If - Catch ex As Exception - OnError("Ocurrió un error al guardar el nuevo Cotizacion.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function UpdateCotizacionDetalle(pCveCotizacionDetalle As Integer, pPrecioUnitario As Double, pCantidadSurtir As Double, pFechaEntrega As String, pObservacion As String) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_CotizacionesDetalleUpdate") - - With SqlAdapter.SelectCommand.Parameters - .Add("@PU", SqlDbType.Money).Value = pPrecioUnitario - .Add("@CantidadSurtir", SqlDbType.Float).Value = pCantidadSurtir - .Add("@FechaEntrega", SqlDbType.VarChar).Value = pFechaEntrega - .Add("@Observacion", SqlDbType.VarChar).Value = pObservacion - .Add("@CveCotizacionDetalle", SqlDbType.Int).Value = pCveCotizacionDetalle - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As SqlException - If ex.Number = 2627 Then - Alert("La Clave o Descripción de la Cotizacion ya existe.", TipoMensaje.MsgAdvertencia) - Else - OnError("Ocurrió un error al actualizar la Cotizacion.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End If - Catch ex As Exception - OnError("Ocurrió un error al actualizar la Cotización.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function UpdateCotizacionDetalleGanadora(pCveCotizacionDetalle As Integer, pEsGanadora As Boolean) As Integer - Dim Retorno As Integer = -1 - - DataAdapter("PA_OC_CotizacionesDetalleEsGanadoraUpdate") - - With SqlAdapter.SelectCommand.Parameters - .Add("@EsGanadora", SqlDbType.Bit).Value = pEsGanadora - .Add("@CveCotizacionDetalle", SqlDbType.Int).Value = pCveCotizacionDetalle - End With - - Try - SqlAdapter.Fill(Data) - - Retorno = pCveCotizacionDetalle - Catch ex As SqlException - If ex.Number = 2627 Then - Alert("La Clave o Descripción de la Cotizacion ya existe.", TipoMensaje.MsgAdvertencia) - Else - OnError("Ocurrió un error al actualizar la Cotizacion.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End If - Catch ex As Exception - OnError("Ocurrió un error al actualizar la Cotización.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function RemoveCotizacionDetalle(pCveCotizacion As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_CotizacionesDetalleRemove") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveCotizacion", SqlDbType.Int).Value = pCveCotizacion - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al eliminar el Cotizacion Detalle.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - Public Function UpdateOrdenCompraCotizacion(pCveOrdenCompra As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OrdenesCompraDetalleCotizacionUpdate") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al actualizar la OC/Req con Cotización.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function -#End Region - - 'Public Function GetEstatusCompra(ByVal CveEstatusCompra As Integer, ByVal EstatusCompra As String) As Boolean - ' Dim Retorno As Boolean = False - - ' DataAdapter("PA_OC_EstatusOrdenCompraGet") - ' Try - ' SqlAdapter.Fill(Data) - - ' If Data.Rows.Count = 1 Then - ' _CveEstatusCompra = Data.Rows(0)("CveEstatusCompra").ToString().ToEntero() - ' _EstatusCompra = Data.Rows(0)("EstatusCompra").ToString() - ' _Estatus = Data.Rows(0)("Estatus").ToString = "True" - ' _FechaIng = Data.Rows(0)("FechaIng").ToString().ToDate() - ' _CveUsuario = Data.Rows(0)("CveUsuario").ToString().ToEntero() - ' _NombreUsuario = Data.Rows(0)("Nombre").ToString() - ' End If - - ' Retorno = True - ' Catch ex As Exception - ' OnError("Ocurrió un error al obtener el Catálogo de Estatus de compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - ' End Try - - ' Return Retorno - 'End Function - - 'Public Function AddEstatusCompra(ByVal Descripcion As String, Estatus As Boolean, ByVal CveUsuario As Integer) As Boolean - ' Dim Retorno As Boolean = False - - ' DataAdapter("PA_OC_EstatusOrdenCompraAdd") - - ' With SqlAdapter.SelectCommand.Parameters - ' .Add("@EstatusOrdenCompra", SqlDbType.VarChar).Value = Descripcion - ' .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario - ' End With - - ' Try - ' SqlAdapter.Fill(Data) - - ' Retorno = True - ' Catch ex As SqlException - ' If ex.Number = 2627 Then - ' Alert("La Clave o Descripción del EstatusCompra ya existe.", TipoMensaje.MsgAdvertencia) - ' Else - ' OnError("Ocurrió un error al guardar el nuevo estatus de compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - ' End If - ' Catch ex As Exception - ' OnError("Ocurrió un error al guardar el nuevo estatus de compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - ' End Try - - ' Return Retorno - 'End Function - - 'Public Function UpdateEstatusCompra(ByVal Descripcion As String, Estatus As Boolean, ByVal CveEstatusCompra As Integer, ByVal CveUsuario As Integer) As Boolean - ' Dim Retorno As Boolean = False - - ' DataAdapter("PA_OC_EstatusOrdenCompraUpdate") - - ' With SqlAdapter.SelectCommand.Parameters - ' .Add("@EstatusOrdenCompra", SqlDbType.VarChar).Value = Descripcion - ' '.Add("@pCveUsuario", SqlDbType.Int).Value = CveUsuario - ' .Add("@Estatus", SqlDbType.Bit).Value = Estatus - ' .Add("@CveEstatusOrdenCompra", SqlDbType.Int).Value = CveEstatusCompra - ' End With - - ' Try - ' SqlAdapter.Fill(Data) - - ' Retorno = True - ' Catch ex As SqlException - ' If ex.Number = 2627 Then - ' Alert("La Clave o Descripción del Estatus de Compra ya existe.", TipoMensaje.MsgAdvertencia) - ' Else - ' OnError("Ocurrió un error al guardar los cambios en el estatus de compra", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - ' End If - ' Catch ex As Exception - ' OnError("Ocurrió un error al guardar los cambios en el estatus de compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - ' End Try - - ' Return Retorno - 'End Function - - 'Public Function RemoveEstatusCompra(ByVal CveEstatusCompra As Integer) As Boolean - ' Dim Retorno As Boolean = False - - ' DataAdapter("PA_OC_EstatusOrdenCompraRemove") - - ' With SqlAdapter.SelectCommand.Parameters - ' .Add("@CveEstatusOrdenCompra", SqlDbType.Int).Value = CveEstatusCompra - ' End With - - ' Try - ' SqlAdapter.Fill(Data) - - ' Retorno = True - ' Catch ex As Exception - ' OnError("Ocurrió un error al eliminar el estatus de compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - ' End Try - - ' Return Retorno - 'End Function - - - -#Region "O R D E N E S - D E - C O M P R A S" - Public Function GetOC(ObjOrdenCompra As Modelos.OrdenCompra) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OrdenesCompraGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveOrdenCompra", SqlDbType.Int).Value = ObjOrdenCompra.CveOrdenCompra - .Add("@Folio", SqlDbType.Int).Value = ObjOrdenCompra.Folio - .Add("@CveSubProyecto", SqlDbType.Int).Value = -1 'ObjOrdenCompra.CveSucursal - .Add("@Tipo", SqlDbType.VarChar).Value = ObjOrdenCompra.Tipo - .Add("@CveCliente", SqlDbType.Int).Value = ObjOrdenCompra.CveCliente - .Add("@CveVendedor", SqlDbType.Int).Value = ObjOrdenCompra.CveVendedor - .Add("@Guia", SqlDbType.Int).Value = ObjOrdenCompra.Guia - .Add("@CveEmpresa", SqlDbType.Int).Value = ObjOrdenCompra.CveEmpresa - End With - - Try - SqlAdapter.Fill(Data) - - If Data.Rows.Count > 0 Then - - - Retorno = True - End If - - Catch ex As Exception - OnError("Ocurrió un error al obtener Ordenes de Compras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function GetOC(CveOrdenCompra As Integer, CveEmpresa As Integer, Optional Folio As Integer = -1, Optional CveSubProyecto As Integer = -1, Optional Tipo As String = "-1", Optional CveVendedor As Integer = -1, Optional CveCliente As Integer = -1, Optional Guia As String = "-1", Optional CveUsuario As Integer = -1) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OrdenesCompraGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra - .Add("@Folio", SqlDbType.Int).Value = Folio - .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto - .Add("@Tipo", SqlDbType.VarChar).Value = Tipo - .Add("@CveCliente", SqlDbType.Int).Value = CveCliente - .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor - .Add("@Guia", SqlDbType.Int).Value = Guia - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario - End With - - Try - SqlAdapter.Fill(Data) - - If Data.Rows.Count >= 1 Then - Dim dr As DataRow = Data.Rows(0) - _CveOrdenCompra = dr("CveOrdenCompra").ToString.ToEntero - _Folio = dr("Folio").ToString.ToEntero - _CveIEAnticipo = dr("CveIEAnticipo").ToString.ToEntero - _FolioIEAnticipo = dr("FolioIEAnticipo").ToString.ToEntero - _ImporteAnticipo = dr("ImporteAnticipo").ToString.ToDouble - _CveProveedorAnticipo = dr("CveProveedorAnticipo").ToString.ToEntero - _CveEmpresa = dr("CveEmpresa").ToString.ToEntero - _CveProyecto = dr("CveProyecto").ToString.ToEntero - '_CveSubProyecto = dr("CveSubProyecto").ToString.ToEntero - _Guia = dr("Guia").ToString - _FechaEstimadaEntrega = If(Not IsDBNull(dr("FechaEstimadaEntrega")), CDate(dr("FechaEstimadaEntrega")), New DateTime) - _Descripcion = dr("Descripcion").ToString - _Justificacion = dr("Justificacion").ToString - _Prioridad = If(dr("Prioridad").ToString.ToEntero = 0, -1, dr("Prioridad").ToString.ToEntero) - _Tipo = dr("Tipo").ToString - _Fecha = dr("Fecha").ToString.ToDate - _HoraElaboracion = dr("HoraElaboracion").ToString - _CveEstatus = dr("CveEstatus").ToString.ToEntero - CveMoneda = dr("CveMoneda").ToString.ToEntero - Moneda = dr("Moneda").ToString - UsuarioAsignado = dr("UsuarioAsignado").ToString - CveUsuarioAsignado = dr("CveUsuarioAsignado").ToString.ToEntero - _EsCancelable = dr("EsCancelable").ToString = "True" - _TipoTermino = dr("TipoTermino").ToString.ToEntero - Cancelacion = dr("Cancelacion").ToString - _CveEstatusSiguiente = dr("CveEstatusSiguiente").ToString.ToEntero - _EsCotizacion = dr("EsCotizacion").ToString = "True" - _CveEstatusAnterior = If(Not IsDBNull(dr("CveEstatusAnterior")), dr("CveEstatusAnterior").ToString.ToEntero, -1) - _Estatus = dr("Estatus").ToString - RequiereCotizacion = dr("RequiereCotizacion").ToString() = "True" - _CveUsuario = dr("CveUsuario").ToString.ToEntero - _NombreUsuario = dr("NombreUsuario").ToString - - _CveProveedor = If(Not IsDBNull(dr("CveProveedor")), dr("CveProveedor").ToString.ToEntero, -1) - _CveProveedorSucursal = If(Not IsDBNull(dr("CveProveedorSucursal")), dr("CveProveedorSucursal").ToString.ToEntero, -1) - _RazonSocial = If(Not IsDBNull(dr("RazonSocial")), dr("RazonSocial").ToString, "") - _Direccion = If(Not IsDBNull(dr("Direccion")), dr("Direccion").ToString, "") - _Telefono = If(Not IsDBNull(dr("Telefono")), dr("Telefono").ToString, "") - _RFC = If(Not IsDBNull(dr("RFC")), dr("RFC").ToString, "") - _LugarEntrega = If(Not IsDBNull(dr("LugarEntrega")), dr("LugarEntrega").ToString, "") - _CveCliente = If(dr("CveCliente").ToString.ToEntero = 0, -1, dr("CveCliente").ToString.ToEntero) - _CveVendedor = If(dr("CveVendedor").ToString.ToEntero = 0, -1, dr("CveVendedor").ToString.ToEntero) - _PrioridadObservacion = dr("PrioridadObservacion").ToString - IdPoliza = dr("IdPoliza").ToString.ToEntero - Me.SucursalDireccion = If(Not IsDBNull(dr("DireccionSucursal")), dr("DireccionSucursal").ToString, "") - Me.SucursalTelefono = If(Not IsDBNull(dr("TelefonoSucursal")), dr("TelefonoSucursal").ToString, "") - ProveedorContacto = dr("ContactoNombre").ToString - - PorcentajeIVA = dr("PorcentajeIVA").ToString.ToDouble - SubTotal = dr("SubTotal").ToString.ToDouble - Descuento = dr("Descuento").ToString.ToDouble - IVA = dr("IVA").ToString.ToDouble - RetIVA = dr("RetIVA").ToString.ToDouble - RetISR = dr("RetISR").ToString.ToDouble - IEPS = dr("IEPS").ToString.ToDouble - Total = dr("Total").ToString.ToDouble - Pendiente = dr("Pendiente").ToString.ToDouble - 'If Not IsDBNull(dr("SubTotal")) Then - ' SubTotal = dr("SubTotal").ToString.ToDouble - ' If IVA <= 0 Then - ' _IVA = _SubTotal * dr("PorcentajeIVA").ToString.ToDouble - ' End If - ' _Total = _SubTotal + _IVA - _Descuento - _RetIVA - _RetISR - 'End If - - '_CveSupervisara = dr("CveSupervisara").ToString.ToEntero - '_CveAutoriza = dr("CveAutoriza").ToString.ToEntero - '_CveAutorizara = dr("CveAutorizara").ToString.ToEntero - - '_NombreSupervisa = dr("NombreSupervisa").ToString - - '_NombreAutoriza = dr("NombreAutoriza").ToString - '_FechaSupervisa = dr("FechaSupervisa").ToString.ToDate - '_FechaAutoriza = dr("FechaAutoriza").ToString.ToDate - - 'RequiereCotizacion = CType(dr("RequiereCotizacion"), Boolean) - SubProyecto = dr("SubProyecto").ToString - CveSubProyecto2 = dr("CveSubProyecto").ToString.ToEntero - - Empresa = dr("Empresa").ToString - Proyecto = dr("Proyecto").ToString - 'SubProyecto = dr("SubProyecto").ToString - _CvePresupuestoEgreso = dr("CvePresupuestoEgreso").ToString.ToEntero - - UsuarioSolicito = dr("UsuarioSolicito").ToString - UsuarioAutorizo = dr("UsuarioAutorizo").ToString - FolioAdicional = dr("FolioAdicional").ToString - EntregaDirecta = If(dr("EntregaDirecta").ToString.ToEntero > 0, True, False) - NombreCliente = dr("NombreCliente").ToString - CveVenta = dr("CveVenta").ToString.ToEntero - CveCompra = dr("CveCompra").ToString.ToEntero - CveMovimientoAlmacenVenta = dr("CveMovimientoAlmacenVenta").ToString.ToEntero - TieneVenta = dr("TieneVenta").ToString.ToEntero - TieneCompraInv = dr("TieneCompraInv").ToString.ToEntero - _CveDireccionEnvio = dr("CveDireccionEnvio").ToString.ToEntero - _CveUsoCFDI = dr("CveUsoCFDI").ToString.ToEntero - _UsoCFDI = dr("UsoCFDI").ToString - Promocion = IfNull(dr("Promocion"), "", dr("Promocion").ToString) - CveProveedorContacto = If(Not IsDBNull(dr("CveProveedorContacto")), dr("CveProveedorContacto").ToString.ToEntero, -1) - - Retorno = True - ElseIf Data.Rows.Count > 0 Then - Retorno = True - End If - - Catch ex As Exception - OnError("Ocurrió un error al obtener Ordenes de Compras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function AddOrdenCompra(pTipo As String, pCveSubProyecto As Integer, ByVal pDescripcion As String, pJustificacion As String, Prioridad As Integer, Fecha As Date, CveMoneda As Integer, pCveEstatus As Integer, - pFechaEstimadaEntrega As String, pLugarEntrega As String, pCveUsuario As Integer, pCveEmpresa As Integer, pCvePresupuestoEgreso As Integer, - Optional pCveProveedor As Integer = -1, Optional pCveProveedorSucursal As Integer = -1, Optional IDPoliza As Integer = -1, Optional RequiereCotizacion As Boolean = False, Optional CveUsuarioAsignado As Integer = -1, - Optional CveCliente As Integer = -1, Optional CveVendedor As Integer = -1, Optional PrioridadObservacion As String = "", - Optional PorcentajeIVA As Double = 0.16, Optional IVA As Decimal = 0, Optional RetIVA As Decimal = 0, Optional RetISR As Decimal = 0, Optional FechaExpiracion As Date = Nothing, Optional CveCotizacion As Integer = -1, - Optional FolioAdicional As String = "", Optional EntregaDirecta As Integer = -1, Optional CveDireccionEnvio As Integer = -1, Optional Guia As String = "-1", Optional IEPS As Decimal = -1, - Optional CveIEAnticipo As Integer = -1, Optional ImporteAnticipo As Double = 0, Optional UsoCFDI As Integer = -1, Optional Promocion As String = "-1", Optional CveProveedorContacto As Integer = -1) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OrdenesCompraAdd") - - With SqlAdapter.SelectCommand.Parameters - .Add("@Tipo", SqlDbType.VarChar).Value = pTipo - .Add("@CveSubProyecto", SqlDbType.Int).Value = pCveSubProyecto - .Add("@Descripcion", SqlDbType.VarChar).Value = pDescripcion - .Add("@Justificacion", SqlDbType.VarChar).Value = pJustificacion - .Add("@Prioridad", SqlDbType.Int).Value = Prioridad - .Add("@Fecha", SqlDbType.DateTime).Value = Fecha - .Add("@CveMoneda", SqlDbType.Int).Value = CveMoneda - .Add("@CveEstatus", SqlDbType.Int).Value = pCveEstatus - .Add("@FechaEstimadaEntrega", SqlDbType.VarChar).Value = pFechaEstimadaEntrega - .Add("@LugarEntrega", SqlDbType.VarChar).Value = pLugarEntrega - .Add("@CveUsuario", SqlDbType.Int).Value = pCveUsuario - .Add("@CveEmpresa", SqlDbType.Int).Value = pCveEmpresa - .Add("@CveProveedor", SqlDbType.Int).Value = pCveProveedor - .Add("@CveProveedorSucursal", SqlDbType.Int).Value = pCveProveedorSucursal - .Add("@PorcentajeIVA", SqlDbType.SmallMoney).Value = PorcentajeIVA - .Add("@IVA", SqlDbType.Money).Value = IVA - .Add("@RetIVA", SqlDbType.Money).Value = RetIVA - .Add("@RetISR", SqlDbType.Money).Value = RetISR - .Add("@IEPS", SqlDbType.Money).Value = IEPS - .Add("@RequiereCotizacion", SqlDbType.Bit).Value = If(RequiereCotizacion = True, 1, 0) - .Add("@CvePresupuestoEgreso", SqlDbType.Int).Value = pCvePresupuestoEgreso - .Add("@CveUsuarioAsignado", SqlDbType.Int).Value = CveUsuarioAsignado - .Add("@IDCuentaPolizaAC", SqlDbType.Int).Value = IDPoliza - .Add("@CveCliente", SqlDbType.Int).Value = CveCliente - .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor - .Add("@CveCotizacion", SqlDbType.Int).Value = CveCotizacion - - .Add("@PrioridadObservacion", SqlDbType.VarChar).Value = PrioridadObservacion - .Add("@FolioAdicional", SqlDbType.VarChar).Value = FolioAdicional - .Add("@EntregaDirecta", SqlDbType.Int).Value = EntregaDirecta - .Add("@CveDireccionEnvio", SqlDbType.Int).Value = CveDireccionEnvio - .Add("@Guia", SqlDbType.VarChar).Value = Guia - .Add("@CveIEAnticipo", SqlDbType.Int).Value = CveIEAnticipo - .Add("@ImporteAnticipo", SqlDbType.Money).Value = ImporteAnticipo - .Add("@UsoCFDI", SqlDbType.Int).Value = UsoCFDI - .Add("@Promocion", SqlDbType.VarChar).Value = Promocion - .Add("@CveProveedorContacto", SqlDbType.Int).Value = CveProveedorContacto - - .Add("@vCveOrdenCompra", SqlDbType.Int).Direction = ParameterDirection.Output - .Add("@vFolio", SqlDbType.Int).Direction = ParameterDirection.Output - End With - - Try - SqlAdapter.Fill(Data) - - _CveOrdenCompra = SqlAdapter.SelectCommand.Parameters("@vCveOrdenCompra").Value.ToString.ToEntero - _Folio = SqlAdapter.SelectCommand.Parameters("@vFolio").Value.ToString.ToEntero - - 'GetOC(_CveOrdenCompra, pCveEmpresa) - Retorno = True - Catch ex As SqlException - If ex.Number = 2627 Then - Alert("La Clave o Descripción del OrdenCompra ya existe.", TipoMensaje.MsgAdvertencia) - Else - OnError("Ocurrió un error al guardar la Orden de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End If - Catch ex As Exception - OnError("Ocurrió un error al guardar la Orden de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - Public Function AddOrdenCompraMovil(OC As WSOrdenCompra) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OrdenesCompraAdd") - - With SqlAdapter.SelectCommand.Parameters - .Add("@Tipo", SqlDbType.VarChar).Value = OC.Tipo - .Add("@CveSubProyecto", SqlDbType.Int).Value = OC.CveSubProyecto - .Add("@Descripcion", SqlDbType.VarChar).Value = OC.Descripcion - .Add("@Justificacion", SqlDbType.VarChar).Value = OC.Justificacion - .Add("@Prioridad", SqlDbType.Int).Value = OC.Prioridad - .Add("@Fecha", SqlDbType.DateTime).Value = OC.Fecha - .Add("@CveMoneda", SqlDbType.Int).Value = OC.CveMoneda - .Add("@CveEstatus", SqlDbType.Int).Value = OC.CveEstatus - .Add("@FechaEstimadaEntrega", SqlDbType.VarChar).Value = OC.FechaEstimadaEntrega - .Add("@LugarEntrega", SqlDbType.VarChar).Value = OC.LugarEntrega - .Add("@CveUsuario", SqlDbType.Int).Value = OC.CveUsuario - .Add("@CveEmpresa", SqlDbType.Int).Value = OC.CveEmpresa - .Add("@CveProveedor", SqlDbType.Int).Value = OC.CveProveedor - .Add("@CveProveedorSucursal", SqlDbType.Int).Value = OC.CveProveedorSucursal - .Add("@PorcentajeIVA", SqlDbType.SmallMoney).Value = OC.PorcentajeIVA - .Add("@IVA", SqlDbType.Money).Value = OC.IVA - .Add("@RetIVA", SqlDbType.Money).Value = OC.RetIVA - .Add("@RetISR", SqlDbType.Money).Value = OC.RetISR - .Add("@RequiereCotizacion", SqlDbType.Bit).Value = If(OC.RequiereCotizacion = True, 1, 0) - .Add("@CvePresupuestoEgreso", SqlDbType.Int).Value = OC.CvePresupuestoEgreso - .Add("@CveUsuarioAsignado", SqlDbType.Int).Value = OC.CveUsuarioAsignado - .Add("@IDCuentaPolizaAC", SqlDbType.Int).Value = OC.IDCuentaPolizaAC - .Add("@CveCliente", SqlDbType.Int).Value = OC.CveCliente - .Add("@CveVendedor", SqlDbType.Int).Value = OC.CveVendedor - .Add("@CveCotizacion", SqlDbType.Int).Value = OC.CveCotizacion - .Add("@PrioridadObservacion", SqlDbType.VarChar).Value = OC.PrioridadObservacion - .Add("@FolioAdicional", SqlDbType.VarChar).Value = OC.FolioAdicional - .Add("@EntregaDirecta", SqlDbType.Int).Value = OC.EntregaDirecta - .Add("@CveDireccionEnvio", SqlDbType.Int).Value = OC.CveDireccionEnvio - .Add("@Guia", SqlDbType.VarChar).Value = "-1" - - .Add("@vCveOrdenCompra", SqlDbType.Int).Direction = ParameterDirection.Output - .Add("@vFolio", SqlDbType.Int).Direction = ParameterDirection.Output - End With - - Try - SqlAdapter.Fill(Data) - - _CveOrdenCompra = SqlAdapter.SelectCommand.Parameters("@vCveOrdenCompra").Value.ToString.ToEntero - _Folio = SqlAdapter.SelectCommand.Parameters("@vFolio").Value.ToString.ToEntero - - 'GetOC(_CveOrdenCompra, pCveEmpresa) - Retorno = True - Catch ex As SqlException - If ex.Number = 2627 Then - Alert("La Clave o Descripción del OrdenCompra ya existe.", TipoMensaje.MsgAdvertencia) - Else - OnError("Ocurrió un error al guardar la Orden de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End If - Catch ex As Exception - OnError("Ocurrió un error al guardar la Orden de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function UpdateOrdenCompraPoliza(IDPoliza As Integer, pCveOrdenCompra As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OrdenesCompraPolizaUpdate") - - With SqlAdapter.SelectCommand.Parameters - .Add("@IDPoliza", SqlDbType.Int).Value = IDPoliza - .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al actualizar la Poliza de la Orden de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - Public Function UpdateOrdenCompraDetalleAjuste(CveOrdenCompra As Integer, CveOrdenCompraDetalle As Integer, Diferencia As Double, CveUsuarioModifico As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_OC_OrdenesCompraDetalleAjusteUpdate") - With SqlAdapter.SelectCommand.Parameters - .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra - .Add("@CveOrdenCompraDetalle", SqlDbType.Int).Value = CveOrdenCompraDetalle - .Add("@Diferencia", SqlDbType.Float).Value = Diferencia - .Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al actualizar la Orden de Compra Detalle.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - Return Retorno - End Function - Public Function UpdateOrdenCompraMoneda(CveOrdenCompra As Integer, CveEmpresa As Integer, CveMoneda As Integer, CveUsuarioModifico As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_OC_OrdenesCompraMonedaUpdate") - With SqlAdapter.SelectCommand.Parameters - .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa +Imports System.Data +Imports System.Data.SqlClient +Imports Extensiones +Imports Modelos + +Public Class ClsOC + Implements IDisposable + +#Region "Campos" + 'SQL + Private SqlConexion As SqlConnection + Private SqlAdapter As SqlDataAdapter + Private SqlTransacc As SqlTransaction + Private SqlCommand As SqlCommand + Private StrSQL As StringBuilder + Private Data As DataTable + 'Atributos de la clase + Private disposedValue As Boolean = False + 'PARA REGISTRAR CONEXION + Private CveConexion As Integer = 0 + +#End Region + +#Region "Propiedades" + + Public Property FechaIng As Date + Public Property CveUsuario As Integer + Public Property NombreUsuario As String + Public Property CveOrdenCompra As Integer + Public Property CveOrdenCompraDetalle As Integer + Public Property Folio As Integer + Public Property CveIEAnticipo As Integer + Public Property CveProveedorAnticipo As Integer + Public Property FolioIEAnticipo As Integer + Public Property ImporteAnticipo As Double + + Public Property FolioAdicional As String + Public Property EntregaDirecta As Boolean + Public Property CveVenta As Integer + Public Property CveCompra As Integer + Public Property CveMovimientoAlmacenVenta As Integer + Public Property TieneVenta As Integer + Public Property TieneCompraInv As Integer + + Public Property Tipo As String + Public Property CveEstatus As Integer + Public Property Estatus As String + Public Property Prioridad As Integer + Public Property Moneda As String + Public Property UsuarioAsignado As String + Public Property CveUsuarioAsignado As Integer + + Private _EsCancelable As Boolean + + Private _EsCotizacion As Boolean + Public Property TipoTermino As Integer + Public Property CveEstatusSiguiente As Integer + Public Property CveEstatusAnterior As Integer + + Public Property Descripcion As String + Public Property Justificacion As String + Public Property CveEmpresa As Integer + Private _CveProyecto As Integer + + 'Private _CveUsuario As Integer + Public Property Fecha As Date + Public Property FechaEstimadaEntrega As Date + 'Private _NombreUsuario As String + Public Property CveProveedor As Integer + Public Property CveProveedorSucursal As Integer + Public Property SucursalDireccion As String + Public Property ProveedorContacto As String + Public Property SucursalTelefono As String + Public Property RazonSocial As String + Public Property Direccion As String + Public Property Telefono As String + Public Property RFC As String + Public Property LugarEntrega As String + Public Property Cancelacion As String + Public Property PorcentajeIVA As Double + Public Property CveCliente As Integer + Public Property CveVendedor As Integer + Public Property PrioridadObservacion As String + Public Property SubTotal As Double + Public Property IVA As Double + Public Property RetIVA As Double + Public Property RetISR As Double + Public Property IEPS As Double + Public Property Total As Double + Public Property CvePresupuestoEgreso As Integer + Public Property RequiereCotizacion As Boolean + Public Property CveActivoFijo As Integer + Public Property Codigo As String + Public Property Proyecto As String + Public Property CveSubProyecto2 As Integer + Public Property SubProyecto As String + Public Property UsuarioSolicito As String + Public Property UsuarioAutorizo As String + Public Property Descuento As Double + Public Property Pendiente As Double + Public Property NombreCliente As String + Public Property SucCalle As String + Public Property SucNoExt As String + Public Property SucNoInt As String + Public Property SucColonia As String + Public Property SucMunicipio As String + Public Property SucEstado As String + Public Property SucPais As String + Public Property SucCP As String + Public Property SucTelefono As String + Public Property CveDireccionEnvio As Integer + Public Property IdPoliza As Integer + Public Property HoraElaboracion As String + Public Property SucSubProyecto As String + Public Property Guia As String + Public Property CveUsoCFDI As Integer + Public Property UsoCFDI As String + Public Property Promocion As String + Public Property CveProveedorContacto As Integer + + Public ReadOnly Property DtResultados() As DataTable + Get + DtResultados = Data + End Get + End Property + + +#End Region + +#Region "Propiedades ClsOCCotizaciones" + Public Property CveCotizacion As Integer + Public Property CveCotizacionDetalle As Integer + + Public Property NombreComercial As String + + Public Property CveMoneda As Integer + Public Property CveColectiva As Integer + Public Property Colectiva As String + + Public Property Extension As String + Public Property Adjunto As String + Public Property Usuario As String + + Public Property Empresa As String + Public Property Sucursal As String + Public Property ObjLugarEntrega As String + Public Property DiasCredito As Integer + + + +#End Region + + Sub New(Optional TransaccionCompartida As SqlTransaction = Nothing) + + If TransaccionCompartida Is Nothing Then + SqlConexion = New SqlConnection + SqlConexion.ConnectionString = ConfigurationManager.ConnectionStrings("Conexion").ConnectionString + Try + SqlConexion.Open() + Catch ex As Exception + OnError("Ocurrió un error al intentar conectarse a la base de datos.", ex) + End Try + Else + SqlConexion = TransaccionCompartida.Connection + SqlTransacc = TransaccionCompartida + End If + + SqlCommand = New SqlCommand("", SqlConexion) + SqlAdapter = New SqlDataAdapter("", SqlConexion) + StrSQL = New StringBuilder + ConexionAdd() + End Sub + Private Sub DataAdapter(StrSQL As String, Optional TipoComando As CommandType = CommandType.StoredProcedure) + With SqlAdapter.SelectCommand + .Parameters.Clear() + .CommandText = StrSQL + .CommandType = TipoComando + End With + If Not SqlTransacc Is Nothing Then SqlAdapter.SelectCommand.Transaction = SqlTransacc + Data = New DataTable + End Sub +#Region "Conexiones" + + Private Sub ConexionAdd() + If ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then + + 'DataAdapter(String.Format("INSERT INTO Sis_Conexiones (Clase,Modulo) VALUES ('ClsRH','{0}')", "RH/CatMotivosBaja"), CommandType.Text) ' pendiente de terminar parra registrar el cveconexion, falta el rarámetro de módulo + + Try + DataAdapter("PA_Sis_RegistrarConexion") + With SqlAdapter.SelectCommand.Parameters + .Add("@Clase", SqlDbType.VarChar).Value = Me.GetType().Name + .Add("@Modulo", SqlDbType.VarChar).Value = String.Format("{0}?{1}", HttpContext.Current.Request.Url.AbsolutePath.ToString, HttpContext.Current.Request.QueryString.ToString) + .Add("@IDConexion", SqlDbType.Int).Direction = ParameterDirection.Output + End With + SqlAdapter.Fill(Data) + CveConexion = SqlAdapter.SelectCommand.Parameters("@IDConexion").Value.ToString.ToEntero + Catch ex As Exception + OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + End If + End Sub + + Private Sub ConexionClose() + If CveConexion > 0 AndAlso ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then + + DataAdapter(String.Format("UPDATE Sis_Conexiones SET FechaCierre = GETDATE() WHERE CveConexion = {0}", CveConexion), CommandType.Text) + Try + SqlAdapter.Fill(Data) + + Catch ex As Exception + OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + CveConexion = 0 + End If + + End Sub +#End Region + Private Sub DataCommand(pStrSQL As String, Optional TipoComando As CommandType = CommandType.StoredProcedure) + With SqlCommand + .Parameters.Clear() + .CommandText = pStrSQL + .CommandType = TipoComando + End With + + If Not SqlTransacc Is Nothing Then SqlCommand.Transaction = SqlTransacc + + End Sub + Public Function IniciaTransacSQL() As SqlTransaction + If SqlTransacc Is Nothing Then SqlTransacc = SqlConexion.BeginTransaction() + Return SqlTransacc + End Function + Public Sub RollBack() + If SqlTransacc IsNot Nothing Then SqlTransacc.Rollback() + SqlTransacc = Nothing + End Sub + Public Sub Commit() + If SqlTransacc IsNot Nothing Then SqlTransacc.Commit() + SqlTransacc = Nothing + End Sub + +#Region "ClsOCCotizaciones" + Public Function GetCotizaciones(pCveOrdenCompra As Integer, Optional pCveCotizacion As Integer = -1) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_CotizacionesGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra + .Add("@CveCotizacion", SqlDbType.Int).Value = pCveCotizacion + End With + + Try + SqlAdapter.Fill(Data) + If Data.Rows.Count = 1 Then + Me.CveProveedor = If(Not IsDBNull(Data.Rows(0)("CveProveedor")), Data.Rows(0)("CveProveedor").ToString.ToEntero(), -1) + NombreComercial = If(Not IsDBNull(Data.Rows(0)("NombreComercial")), Data.Rows(0)("NombreComercial").ToString, "") + Me.RazonSocial = If(Not IsDBNull(Data.Rows(0)("RazonSocial")), Data.Rows(0)("RazonSocial").ToString, "") + + CveColectiva = If(Not IsDBNull(Data.Rows(0)("CveColectiva")), Data.Rows(0)("CveColectiva").ToString.ToEntero(), -1) + Colectiva = If(Not IsDBNull(Data.Rows(0)("Colectiva")), Data.Rows(0)("Colectiva").ToString, "") + + CveCotizacion = Data.Rows(0)("CveCotizacion").ToString.ToEntero() + Me.CveOrdenCompra = Data.Rows(0)("CveOrdenCompra").ToString.ToEntero() + CveMoneda = If(Not IsDBNull(Data.Rows(0)("CveMoneda")), Data.Rows(0)("CveMoneda").ToString.ToEntero(), -1) + + Me.Folio = Data.Rows(0)("Folio").ToString.ToEntero + Me.Fecha = Data.Rows(0)("Fecha").ToString.ToDate + Adjunto = Data.Rows(0)("Adjunto").ToString + Extension = Data.Rows(0)("Extension").ToString + Usuario = Data.Rows(0)("Usuario").ToString + Me.CveUsuario = Data.Rows(0)("CveUsuario").ToString.ToEntero + Me.Total = Data.Rows(0)("Total").ToString.ToDouble + + + Me.CveEmpresa = Data.Rows(0)("CveEmpresa").ToString.ToEntero + 'Me.CveProveedorSucursal = Data.Rows(0)("CveProveedorSucursal").ToString.ToEntero + Empresa = Data.Rows(0)("Empresa").ToString + CveSubProyecto2 = Data.Rows(0)("CveSubProyecto").ToString.ToEntero + SubProyecto = Data.Rows(0)("SubProyecto").ToString + ObjLugarEntrega = Data.Rows(0)("LugarEntrega").ToString + DiasCredito = Data.Rows(0)("DiasCredito").ToString.ToEntero + End If + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener el Catálogo de Cotizaciones.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function GetCotizacionesTabla(pCveOrdenCompra As Integer) As DataSet + Dim Retorno As New DataSet + + DataAdapter("PA_OC_Cotizaciones2Get") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra + End With + + Try + SqlAdapter.Fill(Retorno) + Catch ex As Exception + ' OnError("Ocurrió un error al obtener el Catálogo de Cotizaciones.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function AddCotizacion(pCveOrdenCompra As Integer, pCveProveedor As Integer, pCveColectiva As Integer, pFolio As String, pFecha As String, pAdjunto As String, pCveMoneda As Integer, pDiasCredito As Integer, pCveUsuario As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_CotizacionesAdd") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra + .Add("@CveProveedor", SqlDbType.Int).Value = pCveProveedor + .Add("@CveColectiva", SqlDbType.Int).Value = pCveColectiva + .Add("@Folio", SqlDbType.VarChar).Value = pFolio + .Add("@Fecha", SqlDbType.VarChar).Value = pFecha + .Add("@Adjunto", SqlDbType.VarChar).Value = pAdjunto + .Add("@CveMoneda", SqlDbType.Int).Value = pCveMoneda + .Add("@DiasCredito", SqlDbType.Int).Value = pDiasCredito + .Add("@CveUsuario", SqlDbType.Int).Value = pCveUsuario + .Add("@vCveCotizacion", SqlDbType.Int).Direction = ParameterDirection.Output + End With + + Try + SqlAdapter.Fill(Data) + CveCotizacion = SqlAdapter.SelectCommand.Parameters("@vCveCotizacion").Value.ToString.ToEntero + Retorno = True + Catch ex As SqlException + If ex.Number = 2627 Then + Alert("La Clave o Descripción de la Cotizacion ya existe.", TipoMensaje.MsgAdvertencia) + Else + OnError("Ocurrió un error al guardar el nuevo Cotizacion.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + Catch ex As Exception + OnError("Ocurrió un error al guardar el nuevo Cotizacion.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function UpdateCotizacion(pCveProveedor As Integer, pCveColectiva As Integer, pFolio As String, pFecha As String, pAdjunto As String, pCveMoneda As Integer, pDiasCredito As Integer, pCveUsuario As Integer, pCveCotizacion As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_CotizacionesUpdate") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveProveedor", SqlDbType.Int).Value = pCveProveedor + .Add("@CveColectiva", SqlDbType.Int).Value = pCveColectiva + .Add("@Folio", SqlDbType.VarChar).Value = pFolio + .Add("@Fecha", SqlDbType.VarChar).Value = pFecha + .Add("@Adjunto", SqlDbType.VarChar).Value = pAdjunto + .Add("@CveUsuario", SqlDbType.Int).Value = pCveUsuario + .Add("@DiasCredito", SqlDbType.Int).Value = pDiasCredito + .Add("@CveMoneda", SqlDbType.Int).Value = pCveMoneda + .Add("@CveCotizacion", SqlDbType.Int).Value = pCveCotizacion + End With + + Try + SqlAdapter.Fill(Data) + + Retorno = True + Catch ex As SqlException + If ex.Number = 2627 Then + Alert("La Clave o Descripción del Cotizacion ya existe.", TipoMensaje.MsgAdvertencia) + Else + OnError("Ocurrió un error al guardar los cambios en el Cotizacion.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + Catch ex As Exception + OnError("Ocurrió un error al guardar los cambios en el Cotizacion.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function RemoveCotizacion(pCveCotizacion As Integer) As String + Dim Retorno As String = "" + + DataAdapter("PA_OC_CotizacionesRemove") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveCotizacion", SqlDbType.Int).Value = pCveCotizacion + .Add("@vNombreArchivo", SqlDbType.VarChar, 50).Direction = ParameterDirection.Output + End With + + Try + SqlAdapter.Fill(Data) + + Retorno = SqlAdapter.SelectCommand.Parameters("@vNombreArchivo").Value.ToString + Catch ex As Exception + OnError("Ocurrió un error al eliminar el Cotizacion.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function GetCotizacionesDetalle(pCveCotizacion As Integer, Optional pCveOrdenCompra As Integer = -1) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_CotizacionesDetalleGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveCotizacion", SqlDbType.Int).Value = pCveCotizacion + .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener Detalle de cotización.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function AddCotizacionDetalle(pCveCotizacion As Integer, pCvePS As Integer, pPrecioUnitario As Double, pCantidad As Double, pCveUM As Integer, pCantidadSurtir As Double, pFechaEntrega As String, pObservacion As String, pCveOrdenCompraDetalle As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_CotizacionesDetalleAdd") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveCotizacion", SqlDbType.Int).Value = pCveCotizacion + .Add("@CvePS", SqlDbType.Int).Value = pCvePS + .Add("@PU", SqlDbType.Money).Value = pPrecioUnitario + .Add("@Cantidad", SqlDbType.Float).Value = pCantidad + .Add("@CveUM", SqlDbType.Int).Value = pCveUM + .Add("@CantidadSurtir", SqlDbType.Float).Value = pCantidadSurtir + .Add("@FechaEntrega", SqlDbType.VarChar).Value = pFechaEntrega + .Add("@Observacion", SqlDbType.VarChar).Value = pObservacion + .Add("@CveOrdenCompraDetalle", SqlDbType.Int).Value = pCveOrdenCompraDetalle + .Add("@vCveCotizacionDetalle", SqlDbType.Int).Direction = ParameterDirection.Output + End With + + Try + SqlAdapter.Fill(Data) + + CveCotizacionDetalle = SqlAdapter.SelectCommand.Parameters("@vCveCotizacionDetalle").Value.ToString.ToEntero + Retorno = True + Catch ex As SqlException + If ex.Number = 2627 Then + Alert("La Clave o Descripción de la Cotizacion ya existe.", TipoMensaje.MsgAdvertencia) + Else + OnError("Ocurrió un error al guardar el nuevo Cotizacion.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + Catch ex As Exception + OnError("Ocurrió un error al guardar el nuevo Cotizacion.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function UpdateCotizacionDetalle(pCveCotizacionDetalle As Integer, pPrecioUnitario As Double, pCantidadSurtir As Double, pFechaEntrega As String, pObservacion As String) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_CotizacionesDetalleUpdate") + + With SqlAdapter.SelectCommand.Parameters + .Add("@PU", SqlDbType.Money).Value = pPrecioUnitario + .Add("@CantidadSurtir", SqlDbType.Float).Value = pCantidadSurtir + .Add("@FechaEntrega", SqlDbType.VarChar).Value = pFechaEntrega + .Add("@Observacion", SqlDbType.VarChar).Value = pObservacion + .Add("@CveCotizacionDetalle", SqlDbType.Int).Value = pCveCotizacionDetalle + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As SqlException + If ex.Number = 2627 Then + Alert("La Clave o Descripción de la Cotizacion ya existe.", TipoMensaje.MsgAdvertencia) + Else + OnError("Ocurrió un error al actualizar la Cotizacion.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + Catch ex As Exception + OnError("Ocurrió un error al actualizar la Cotización.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function UpdateCotizacionDetalleGanadora(pCveCotizacionDetalle As Integer, pEsGanadora As Boolean) As Integer + Dim Retorno As Integer = -1 + + DataAdapter("PA_OC_CotizacionesDetalleEsGanadoraUpdate") + + With SqlAdapter.SelectCommand.Parameters + .Add("@EsGanadora", SqlDbType.Bit).Value = pEsGanadora + .Add("@CveCotizacionDetalle", SqlDbType.Int).Value = pCveCotizacionDetalle + End With + + Try + SqlAdapter.Fill(Data) + + Retorno = pCveCotizacionDetalle + Catch ex As SqlException + If ex.Number = 2627 Then + Alert("La Clave o Descripción de la Cotizacion ya existe.", TipoMensaje.MsgAdvertencia) + Else + OnError("Ocurrió un error al actualizar la Cotizacion.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + Catch ex As Exception + OnError("Ocurrió un error al actualizar la Cotización.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function RemoveCotizacionDetalle(pCveCotizacion As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_CotizacionesDetalleRemove") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveCotizacion", SqlDbType.Int).Value = pCveCotizacion + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al eliminar el Cotizacion Detalle.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function UpdateOrdenCompraCotizacion(pCveOrdenCompra As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OrdenesCompraDetalleCotizacionUpdate") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al actualizar la OC/Req con Cotización.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function +#End Region + + 'Public Function GetEstatusCompra(ByVal CveEstatusCompra As Integer, ByVal EstatusCompra As String) As Boolean + ' Dim Retorno As Boolean = False + + ' DataAdapter("PA_OC_EstatusOrdenCompraGet") + ' Try + ' SqlAdapter.Fill(Data) + + ' If Data.Rows.Count = 1 Then + ' _CveEstatusCompra = Data.Rows(0)("CveEstatusCompra").ToString().ToEntero() + ' _EstatusCompra = Data.Rows(0)("EstatusCompra").ToString() + ' _Estatus = Data.Rows(0)("Estatus").ToString = "True" + ' _FechaIng = Data.Rows(0)("FechaIng").ToString().ToDate() + ' _CveUsuario = Data.Rows(0)("CveUsuario").ToString().ToEntero() + ' _NombreUsuario = Data.Rows(0)("Nombre").ToString() + ' End If + + ' Retorno = True + ' Catch ex As Exception + ' OnError("Ocurrió un error al obtener el Catálogo de Estatus de compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + ' End Try + + ' Return Retorno + 'End Function + + 'Public Function AddEstatusCompra(ByVal Descripcion As String, Estatus As Boolean, ByVal CveUsuario As Integer) As Boolean + ' Dim Retorno As Boolean = False + + ' DataAdapter("PA_OC_EstatusOrdenCompraAdd") + + ' With SqlAdapter.SelectCommand.Parameters + ' .Add("@EstatusOrdenCompra", SqlDbType.VarChar).Value = Descripcion + ' .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + ' End With + + ' Try + ' SqlAdapter.Fill(Data) + + ' Retorno = True + ' Catch ex As SqlException + ' If ex.Number = 2627 Then + ' Alert("La Clave o Descripción del EstatusCompra ya existe.", TipoMensaje.MsgAdvertencia) + ' Else + ' OnError("Ocurrió un error al guardar el nuevo estatus de compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + ' End If + ' Catch ex As Exception + ' OnError("Ocurrió un error al guardar el nuevo estatus de compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + ' End Try + + ' Return Retorno + 'End Function + + 'Public Function UpdateEstatusCompra(ByVal Descripcion As String, Estatus As Boolean, ByVal CveEstatusCompra As Integer, ByVal CveUsuario As Integer) As Boolean + ' Dim Retorno As Boolean = False + + ' DataAdapter("PA_OC_EstatusOrdenCompraUpdate") + + ' With SqlAdapter.SelectCommand.Parameters + ' .Add("@EstatusOrdenCompra", SqlDbType.VarChar).Value = Descripcion + ' '.Add("@pCveUsuario", SqlDbType.Int).Value = CveUsuario + ' .Add("@Estatus", SqlDbType.Bit).Value = Estatus + ' .Add("@CveEstatusOrdenCompra", SqlDbType.Int).Value = CveEstatusCompra + ' End With + + ' Try + ' SqlAdapter.Fill(Data) + + ' Retorno = True + ' Catch ex As SqlException + ' If ex.Number = 2627 Then + ' Alert("La Clave o Descripción del Estatus de Compra ya existe.", TipoMensaje.MsgAdvertencia) + ' Else + ' OnError("Ocurrió un error al guardar los cambios en el estatus de compra", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + ' End If + ' Catch ex As Exception + ' OnError("Ocurrió un error al guardar los cambios en el estatus de compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + ' End Try + + ' Return Retorno + 'End Function + + 'Public Function RemoveEstatusCompra(ByVal CveEstatusCompra As Integer) As Boolean + ' Dim Retorno As Boolean = False + + ' DataAdapter("PA_OC_EstatusOrdenCompraRemove") + + ' With SqlAdapter.SelectCommand.Parameters + ' .Add("@CveEstatusOrdenCompra", SqlDbType.Int).Value = CveEstatusCompra + ' End With + + ' Try + ' SqlAdapter.Fill(Data) + + ' Retorno = True + ' Catch ex As Exception + ' OnError("Ocurrió un error al eliminar el estatus de compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + ' End Try + + ' Return Retorno + 'End Function + + + +#Region "O R D E N E S - D E - C O M P R A S" + Public Function GetOC(ObjOrdenCompra As Modelos.OrdenCompra) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OrdenesCompraGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOrdenCompra", SqlDbType.Int).Value = ObjOrdenCompra.CveOrdenCompra + .Add("@Folio", SqlDbType.Int).Value = ObjOrdenCompra.Folio + .Add("@CveSubProyecto", SqlDbType.Int).Value = -1 'ObjOrdenCompra.CveSucursal + .Add("@Tipo", SqlDbType.VarChar).Value = ObjOrdenCompra.Tipo + .Add("@CveCliente", SqlDbType.Int).Value = ObjOrdenCompra.CveCliente + .Add("@CveVendedor", SqlDbType.Int).Value = ObjOrdenCompra.CveVendedor + .Add("@Guia", SqlDbType.Int).Value = ObjOrdenCompra.Guia + .Add("@CveEmpresa", SqlDbType.Int).Value = ObjOrdenCompra.CveEmpresa + End With + + Try + SqlAdapter.Fill(Data) + + If Data.Rows.Count > 0 Then + + + Retorno = True + End If + + Catch ex As Exception + OnError("Ocurrió un error al obtener Ordenes de Compras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function GetOC(CveOrdenCompra As Integer, CveEmpresa As Integer, Optional Folio As Integer = -1, Optional CveSubProyecto As Integer = -1, Optional Tipo As String = "-1", Optional CveVendedor As Integer = -1, Optional CveCliente As Integer = -1, Optional Guia As String = "-1", Optional CveUsuario As Integer = -1) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OrdenesCompraGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra + .Add("@Folio", SqlDbType.Int).Value = Folio + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@Tipo", SqlDbType.VarChar).Value = Tipo + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor + .Add("@Guia", SqlDbType.Int).Value = Guia + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + End With + + Try + SqlAdapter.Fill(Data) + + If Data.Rows.Count >= 1 Then + Dim dr As DataRow = Data.Rows(0) + _CveOrdenCompra = dr("CveOrdenCompra").ToString.ToEntero + _Folio = dr("Folio").ToString.ToEntero + _CveIEAnticipo = dr("CveIEAnticipo").ToString.ToEntero + _FolioIEAnticipo = dr("FolioIEAnticipo").ToString.ToEntero + _ImporteAnticipo = dr("ImporteAnticipo").ToString.ToDouble + _CveProveedorAnticipo = dr("CveProveedorAnticipo").ToString.ToEntero + _CveEmpresa = dr("CveEmpresa").ToString.ToEntero + _CveProyecto = dr("CveProyecto").ToString.ToEntero + '_CveSubProyecto = dr("CveSubProyecto").ToString.ToEntero + _Guia = dr("Guia").ToString + _FechaEstimadaEntrega = If(Not IsDBNull(dr("FechaEstimadaEntrega")), CDate(dr("FechaEstimadaEntrega")), New DateTime) + _Descripcion = dr("Descripcion").ToString + _Justificacion = dr("Justificacion").ToString + _Prioridad = If(dr("Prioridad").ToString.ToEntero = 0, -1, dr("Prioridad").ToString.ToEntero) + _Tipo = dr("Tipo").ToString + _Fecha = dr("Fecha").ToString.ToDate + _HoraElaboracion = dr("HoraElaboracion").ToString + _CveEstatus = dr("CveEstatus").ToString.ToEntero + CveMoneda = dr("CveMoneda").ToString.ToEntero + Moneda = dr("Moneda").ToString + UsuarioAsignado = dr("UsuarioAsignado").ToString + CveUsuarioAsignado = dr("CveUsuarioAsignado").ToString.ToEntero + _EsCancelable = dr("EsCancelable").ToString = "True" + _TipoTermino = dr("TipoTermino").ToString.ToEntero + Cancelacion = dr("Cancelacion").ToString + _CveEstatusSiguiente = dr("CveEstatusSiguiente").ToString.ToEntero + _EsCotizacion = dr("EsCotizacion").ToString = "True" + _CveEstatusAnterior = If(Not IsDBNull(dr("CveEstatusAnterior")), dr("CveEstatusAnterior").ToString.ToEntero, -1) + _Estatus = dr("Estatus").ToString + RequiereCotizacion = dr("RequiereCotizacion").ToString() = "True" + _CveUsuario = dr("CveUsuario").ToString.ToEntero + _NombreUsuario = dr("NombreUsuario").ToString + + _CveProveedor = If(Not IsDBNull(dr("CveProveedor")), dr("CveProveedor").ToString.ToEntero, -1) + _CveProveedorSucursal = If(Not IsDBNull(dr("CveProveedorSucursal")), dr("CveProveedorSucursal").ToString.ToEntero, -1) + _RazonSocial = If(Not IsDBNull(dr("RazonSocial")), dr("RazonSocial").ToString, "") + _Direccion = If(Not IsDBNull(dr("Direccion")), dr("Direccion").ToString, "") + _Telefono = If(Not IsDBNull(dr("Telefono")), dr("Telefono").ToString, "") + _RFC = If(Not IsDBNull(dr("RFC")), dr("RFC").ToString, "") + _LugarEntrega = If(Not IsDBNull(dr("LugarEntrega")), dr("LugarEntrega").ToString, "") + _CveCliente = If(dr("CveCliente").ToString.ToEntero = 0, -1, dr("CveCliente").ToString.ToEntero) + _CveVendedor = If(dr("CveVendedor").ToString.ToEntero = 0, -1, dr("CveVendedor").ToString.ToEntero) + _PrioridadObservacion = dr("PrioridadObservacion").ToString + IdPoliza = dr("IdPoliza").ToString.ToEntero + Me.SucursalDireccion = If(Not IsDBNull(dr("DireccionSucursal")), dr("DireccionSucursal").ToString, "") + Me.SucursalTelefono = If(Not IsDBNull(dr("TelefonoSucursal")), dr("TelefonoSucursal").ToString, "") + ProveedorContacto = dr("ContactoNombre").ToString + + PorcentajeIVA = dr("PorcentajeIVA").ToString.ToDouble + SubTotal = dr("SubTotal").ToString.ToDouble + Descuento = dr("Descuento").ToString.ToDouble + IVA = dr("IVA").ToString.ToDouble + RetIVA = dr("RetIVA").ToString.ToDouble + RetISR = dr("RetISR").ToString.ToDouble + IEPS = dr("IEPS").ToString.ToDouble + Total = dr("Total").ToString.ToDouble + Pendiente = dr("Pendiente").ToString.ToDouble + 'If Not IsDBNull(dr("SubTotal")) Then + ' SubTotal = dr("SubTotal").ToString.ToDouble + ' If IVA <= 0 Then + ' _IVA = _SubTotal * dr("PorcentajeIVA").ToString.ToDouble + ' End If + ' _Total = _SubTotal + _IVA - _Descuento - _RetIVA - _RetISR + 'End If + + '_CveSupervisara = dr("CveSupervisara").ToString.ToEntero + '_CveAutoriza = dr("CveAutoriza").ToString.ToEntero + '_CveAutorizara = dr("CveAutorizara").ToString.ToEntero + + '_NombreSupervisa = dr("NombreSupervisa").ToString + + '_NombreAutoriza = dr("NombreAutoriza").ToString + '_FechaSupervisa = dr("FechaSupervisa").ToString.ToDate + '_FechaAutoriza = dr("FechaAutoriza").ToString.ToDate + + 'RequiereCotizacion = CType(dr("RequiereCotizacion"), Boolean) + SubProyecto = dr("SubProyecto").ToString + CveSubProyecto2 = dr("CveSubProyecto").ToString.ToEntero + + Empresa = dr("Empresa").ToString + Proyecto = dr("Proyecto").ToString + 'SubProyecto = dr("SubProyecto").ToString + _CvePresupuestoEgreso = dr("CvePresupuestoEgreso").ToString.ToEntero + + UsuarioSolicito = dr("UsuarioSolicito").ToString + UsuarioAutorizo = dr("UsuarioAutorizo").ToString + FolioAdicional = dr("FolioAdicional").ToString + EntregaDirecta = If(dr("EntregaDirecta").ToString.ToEntero > 0, True, False) + NombreCliente = dr("NombreCliente").ToString + CveVenta = dr("CveVenta").ToString.ToEntero + CveCompra = dr("CveCompra").ToString.ToEntero + CveMovimientoAlmacenVenta = dr("CveMovimientoAlmacenVenta").ToString.ToEntero + TieneVenta = dr("TieneVenta").ToString.ToEntero + TieneCompraInv = dr("TieneCompraInv").ToString.ToEntero + _CveDireccionEnvio = dr("CveDireccionEnvio").ToString.ToEntero + _CveUsoCFDI = dr("CveUsoCFDI").ToString.ToEntero + _UsoCFDI = dr("UsoCFDI").ToString + Promocion = IfNull(dr("Promocion"), "", dr("Promocion").ToString) + CveProveedorContacto = If(Not IsDBNull(dr("CveProveedorContacto")), dr("CveProveedorContacto").ToString.ToEntero, -1) + + Retorno = True + ElseIf Data.Rows.Count > 0 Then + Retorno = True + End If + + Catch ex As Exception + OnError("Ocurrió un error al obtener Ordenes de Compras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function AddOrdenCompra(pTipo As String, pCveSubProyecto As Integer, ByVal pDescripcion As String, pJustificacion As String, Prioridad As Integer, Fecha As Date, CveMoneda As Integer, pCveEstatus As Integer, + pFechaEstimadaEntrega As String, pLugarEntrega As String, pCveUsuario As Integer, pCveEmpresa As Integer, pCvePresupuestoEgreso As Integer, + Optional pCveProveedor As Integer = -1, Optional pCveProveedorSucursal As Integer = -1, Optional IDPoliza As Integer = -1, Optional RequiereCotizacion As Boolean = False, Optional CveUsuarioAsignado As Integer = -1, + Optional CveCliente As Integer = -1, Optional CveVendedor As Integer = -1, Optional PrioridadObservacion As String = "", + Optional PorcentajeIVA As Double = 0.16, Optional IVA As Decimal = 0, Optional RetIVA As Decimal = 0, Optional RetISR As Decimal = 0, Optional FechaExpiracion As Date = Nothing, Optional CveCotizacion As Integer = -1, + Optional FolioAdicional As String = "", Optional EntregaDirecta As Integer = -1, Optional CveDireccionEnvio As Integer = -1, Optional Guia As String = "-1", Optional IEPS As Decimal = -1, + Optional CveIEAnticipo As Integer = -1, Optional ImporteAnticipo As Double = 0, Optional UsoCFDI As Integer = -1, Optional Promocion As String = "-1", Optional CveProveedorContacto As Integer = -1) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OrdenesCompraAdd") + + With SqlAdapter.SelectCommand.Parameters + .Add("@Tipo", SqlDbType.VarChar).Value = pTipo + .Add("@CveSubProyecto", SqlDbType.Int).Value = pCveSubProyecto + .Add("@Descripcion", SqlDbType.VarChar).Value = pDescripcion + .Add("@Justificacion", SqlDbType.VarChar).Value = pJustificacion + .Add("@Prioridad", SqlDbType.Int).Value = Prioridad + .Add("@Fecha", SqlDbType.DateTime).Value = Fecha .Add("@CveMoneda", SqlDbType.Int).Value = CveMoneda - .Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al actualizar la Orden de Compra Detalle.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - Return Retorno - End Function - - Public Function UpdateOrdenCompra(pCveSubProyecto As Integer, ByVal pDescripcion As String, pJustificacion As String, Prioridad As Integer, pRequiereCotizacion As Boolean, pFechaEstimadaEntrega As String, pLugarEntrega As String, pCveMoneda As Integer, - pCveProveedor As Integer, pCveOrdenCompra As Integer, pCveUsuarioModifico As Integer, Optional CveCliente As Integer = -1, Optional CveVendedor As Integer = -1, Optional PrioridadObservacion As String = "", - Optional IVA As Decimal = 0, Optional RetIVA As Decimal = 0, Optional RetISR As Decimal = 0, Optional IDPoliza As Integer = -1, Optional FechaExpiracion As Date = Nothing, Optional FolioAdicional As String = "", - Optional EntregaDirecta As Integer = -1, Optional CveDireccionEnvio As Integer = -1, Optional Guia As String = "-1", Optional IEPS As Decimal = -1, Optional UsoCFDI As Integer = -1, Optional Promocion As String = "-1", - Optional pCveProveedorSucursal As Integer = -1, Optional CveProveedorContacto As Integer = -1, Optional PorcentajeIVA As Double = 0.16) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OrdenesCompraUpdate") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveSubProyecto", SqlDbType.Int).Value = pCveSubProyecto - .Add("@Descripcion", SqlDbType.VarChar).Value = pDescripcion - .Add("@Justificacion", SqlDbType.VarChar).Value = pJustificacion - .Add("@Prioridad", SqlDbType.Int).Value = Prioridad - .Add("@RequiereCotizacion", SqlDbType.Bit).Value = If(pRequiereCotizacion, 1, 0) - .Add("@FechaEstimadaEntrega", SqlDbType.VarChar).Value = pFechaEstimadaEntrega - .Add("@LugarEntrega", SqlDbType.VarChar).Value = pLugarEntrega - .Add("@CveMoneda", SqlDbType.Int).Value = pCveMoneda - .Add("@CveProveedor", SqlDbType.Int).Value = pCveProveedor - .Add("@CveUsuarioModifico", SqlDbType.Int).Value = pCveUsuarioModifico - .Add("@CveCliente", SqlDbType.Int).Value = CveCliente - .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor - .Add("@PrioridadObservacion", SqlDbType.VarChar).Value = PrioridadObservacion - .Add("@IVA", SqlDbType.Money).Value = IVA - .Add("@RetIVA", SqlDbType.Money).Value = RetIVA - .Add("@RetISR", SqlDbType.Money).Value = RetISR - .Add("@IEPS", SqlDbType.Money).Value = IEPS - .Add("@IDCuentaPolizaAC", SqlDbType.Int).Value = IDPoliza - .Add("@FolioAdicional", SqlDbType.VarChar).Value = FolioAdicional - .Add("@EntregaDirecta", SqlDbType.Int).Value = EntregaDirecta - .Add("@CveDireccionEnvio", SqlDbType.Int).Value = CveDireccionEnvio - .Add("@Guia", SqlDbType.VarChar).Value = Guia - .Add("@UsoCFDI", SqlDbType.Int).Value = UsoCFDI - .Add("@Promocion", SqlDbType.VarChar).Value = Promocion - .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra - .Add("@CveProveedorSucursal", SqlDbType.Int).Value = pCveProveedorSucursal - .Add("@CveProveedorContacto", SqlDbType.Int).Value = CveProveedorContacto - .Add("@PorcentajeIVA", SqlDbType.SmallMoney).Value = PorcentajeIVA - End With - - Try - SqlAdapter.Fill(Data) - - Retorno = True - Catch ex As SqlException - If ex.Number = 2627 Then - Alert("La Clave o Descripción del OrdenCompra ya existe.", TipoMensaje.MsgAdvertencia) - Else - OnError("Ocurrió un error al actualizar la Orden de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End If - Catch ex As Exception - OnError("Ocurrió un error al actualizar la Orden de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - Public Function UpdateOrdenCompraGuia(pGuia As String, pCveEmpresa As Integer, pCveOrdenCompra As Integer, pCveUsuarioModifico As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OrdenesCompraUpdateGuia") - - With SqlAdapter.SelectCommand.Parameters - .Add("@Guia", SqlDbType.VarChar).Value = pGuia - .Add("@CveEmpresa", SqlDbType.Int).Value = pCveEmpresa - .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra - .Add("@CveUsuarioModifico", SqlDbType.Int).Value = pCveUsuarioModifico - End With - - Try - SqlAdapter.Fill(Data) - - Retorno = True - Catch ex As SqlException - If ex.Number = 2627 Then - Alert("La Clave o Descripción del OrdenCompra ya existe.", TipoMensaje.MsgAdvertencia) - Else - OnError("Ocurrió un error al guardar la OrdenCompra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End If - Catch ex As Exception - OnError("Ocurrió un error al editar la OrdenCompra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - Public Function UpdateProveedorOrdenCompra(pCveProveedor As Integer, pCveOrdenCompra As Integer, pCveUsuarioModifico As Integer, CveEmpresa As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OrdenesCompraProveedorUpdate") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveProveedor", SqlDbType.Int).Value = pCveProveedor - .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra - .Add("@CveUsuarioModifico", SqlDbType.Int).Value = pCveUsuarioModifico - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - End With - - Try - SqlAdapter.Fill(Data) - - Retorno = True - - Catch ex As Exception - OnError("Ocurrió un error al editar el proveedor en la orden de compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - Public Function UpdateClienteVendedorOrdenCompra(pCveCliente As Integer, pCveVendedor As Integer, pCveOrdenCompra As Integer, pCveUsuarioModifico As Integer, CveEmpresa As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OrdenesCompraClienteVendedorUpdate") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveCliente", SqlDbType.Int).Value = pCveCliente - .Add("@CveVendedor", SqlDbType.Int).Value = pCveVendedor - .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra - .Add("@CveUsuarioModifico", SqlDbType.Int).Value = pCveUsuarioModifico - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - End With - - Try - SqlAdapter.Fill(Data) - - Retorno = True - - Catch ex As Exception - OnError("Ocurrió un error al editar el Cliente-Vendedor en la orden de compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function UpdateOrdenCompraVinculacionCompra(CveCompra As Integer, CveOrdenCompra As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OrdenesCompraUpdateCompra") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveCompra", SqlDbType.Int).Value = CveCompra - .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As SqlException - If ex.Number = 2627 Then - Alert("La Clave o Descripción del OrdenCompra ya existe.", TipoMensaje.MsgAdvertencia) - Else - OnError("Ocurrió un error al guardar la OrdenCompra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End If - Catch ex As Exception - OnError("Ocurrió un error al editar la OrdenCompra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - Public Function UpdateOrdenCompraRequiereCorizacion(CveOrdenCompra As Integer, RequiereCotizacion As Boolean) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OrdenesCompraRequiereCorizacionUpdate") - - With SqlAdapter.SelectCommand.Parameters - .Add("@RequiereCotizacion", SqlDbType.Bit).Value = RequiereCotizacion - .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al editar la OrdenCompra, Requiere cotizacion.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - Public Function GetSucursalOC(CveOC As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_GetSucursalOC") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra - End With - - Try - SqlAdapter.Fill(Data) - If Data.Rows.Count > 0 Then - Dim dr As DataRow = Data.Rows(0) - SucCalle = dr("Calle").ToString - SucNoExt = dr("NoExt").ToString - SucNoInt = dr("NoInt").ToString - SucColonia = dr("Colonia").ToString - SucMunicipio = dr("Municipio").ToString - SucEstado = dr("Estado").ToString - SucPais = dr("Pais").ToString - SucCP = dr("CP").ToString - SucSubProyecto = dr("SubProyecto").ToString - SucTelefono = dr("Telefono").ToString - End If - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener la sucursal de la orden de compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function -#End Region - -#Region "O R D E N E S - D E - C O M P R A S - D E T A L L E" - Public Function GetPrueba() As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_PruebaGet") - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener una Prueba.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function GetOrdenesDetalle(pCveOrdenCompra As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OrdenesCompraDetalleGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener el detalle de OrdenCompras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - Public Function AddOrdenCompraDetalle(pCveOrdenCompra As Integer, pCantidad As Double, pCveUnidadMedida As Integer, pCvePS As Integer, pImporte As Double, pCveSubProyecto As Integer, pCveActivoFijo As Integer, - pObservacion As String, pCveUsuario As Integer, Optional pCveOrdenCompraPadre As Integer = -1, Optional CvePresupuestoEgreso As Integer = -1, Optional Descuento As Double = 0, - Optional IEPSPS As Double = 0, Optional IEPSPSIVA As Double = 0, Optional IVA As Double = 0, Optional RetIVA As Double = 0, Optional RetISR As Double = 0, Optional Total As Double = 0, - Optional CveContratoDetalle As Integer = -1, Optional IVAPorcentaje As Double = 0, Optional RetIVAPorcentaje As Double = 0, Optional RetISRPorcentaje As Double = 0, Optional IEPSPSPorcentaje As Double = 0, - Optional IEPSPSIVAPorcentaje As Double = 0, Optional CveVentaDetalleCotizacion As Integer = -1) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_OC_OrdenesCompraDetalleAdd") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra - .Add("@Cantidad", SqlDbType.Float).Value = pCantidad - .Add("@Descuento", SqlDbType.Float).Value = Descuento - .Add("@Importe", SqlDbType.Float).Value = pImporte - .Add("@CveUnidadMedida", SqlDbType.Int).Value = pCveUnidadMedida - .Add("@CvePS", SqlDbType.Int).Value = pCvePS - .Add("@Observacion", SqlDbType.VarChar).Value = pObservacion - .Add("@CveSubProyecto", SqlDbType.Int).Value = pCveSubProyecto - .Add("@CveActivoFijo", SqlDbType.Int).Value = pCveActivoFijo - .Add("@CveUsuario", SqlDbType.Int).Value = pCveUsuario - .Add("@CveOrdenCompraPadre", SqlDbType.Int).Value = pCveOrdenCompraPadre - .Add("@CvePresupuestoEgreso", SqlDbType.Int).Value = CvePresupuestoEgreso - .Add("@vCveOrdenCompraDetalle", SqlDbType.Int).Direction = ParameterDirection.Output - .Add("@IEPSPS", SqlDbType.Money).Value = IEPSPS - .Add("@IEPSPSIVA", SqlDbType.Money).Value = IEPSPSIVA - .Add("@IVA", SqlDbType.Float).Value = IVA - .Add("@RetIVA", SqlDbType.Float).Value = RetIVA - .Add("@RetISR", SqlDbType.Float).Value = RetISR - .Add("@Total", SqlDbType.Float).Value = Total - .Add("@CveContratoDetalle", SqlDbType.Int).Value = CveContratoDetalle - .Add("@IVAPorcentaje", SqlDbType.Float).Value = IVAPorcentaje - .Add("@RetIVAPorcentaje", SqlDbType.Float).Value = RetIVAPorcentaje - .Add("@RetISRPorcentaje", SqlDbType.Float).Value = RetISRPorcentaje - .Add("@IEPSPSPorcentaje", SqlDbType.Float).Value = IEPSPSPorcentaje + .Add("@CveEstatus", SqlDbType.Int).Value = pCveEstatus + .Add("@FechaEstimadaEntrega", SqlDbType.VarChar).Value = pFechaEstimadaEntrega + .Add("@LugarEntrega", SqlDbType.VarChar).Value = pLugarEntrega + .Add("@CveUsuario", SqlDbType.Int).Value = pCveUsuario + .Add("@CveEmpresa", SqlDbType.Int).Value = pCveEmpresa + .Add("@CveProveedor", SqlDbType.Int).Value = pCveProveedor + .Add("@CveProveedorSucursal", SqlDbType.Int).Value = pCveProveedorSucursal + .Add("@PorcentajeIVA", SqlDbType.SmallMoney).Value = PorcentajeIVA + .Add("@IVA", SqlDbType.Money).Value = IVA + .Add("@RetIVA", SqlDbType.Money).Value = RetIVA + .Add("@RetISR", SqlDbType.Money).Value = RetISR + .Add("@IEPS", SqlDbType.Money).Value = IEPS + .Add("@RequiereCotizacion", SqlDbType.Bit).Value = If(RequiereCotizacion = True, 1, 0) + .Add("@CvePresupuestoEgreso", SqlDbType.Int).Value = pCvePresupuestoEgreso + .Add("@CveUsuarioAsignado", SqlDbType.Int).Value = CveUsuarioAsignado + .Add("@IDCuentaPolizaAC", SqlDbType.Int).Value = IDPoliza + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor + .Add("@CveCotizacion", SqlDbType.Int).Value = CveCotizacion + + .Add("@PrioridadObservacion", SqlDbType.VarChar).Value = PrioridadObservacion + .Add("@FolioAdicional", SqlDbType.VarChar).Value = FolioAdicional + .Add("@EntregaDirecta", SqlDbType.Int).Value = EntregaDirecta + .Add("@CveDireccionEnvio", SqlDbType.Int).Value = CveDireccionEnvio + .Add("@Guia", SqlDbType.VarChar).Value = Guia + .Add("@CveIEAnticipo", SqlDbType.Int).Value = CveIEAnticipo + .Add("@ImporteAnticipo", SqlDbType.Money).Value = ImporteAnticipo + .Add("@UsoCFDI", SqlDbType.Int).Value = UsoCFDI + .Add("@Promocion", SqlDbType.VarChar).Value = Promocion + .Add("@CveProveedorContacto", SqlDbType.Int).Value = CveProveedorContacto + + .Add("@vCveOrdenCompra", SqlDbType.Int).Direction = ParameterDirection.Output + .Add("@vFolio", SqlDbType.Int).Direction = ParameterDirection.Output + End With + + Try + SqlAdapter.Fill(Data) + + _CveOrdenCompra = SqlAdapter.SelectCommand.Parameters("@vCveOrdenCompra").Value.ToString.ToEntero + _Folio = SqlAdapter.SelectCommand.Parameters("@vFolio").Value.ToString.ToEntero + + 'GetOC(_CveOrdenCompra, pCveEmpresa) + Retorno = True + Catch ex As SqlException + If ex.Number = 2627 Then + Alert("La Clave o Descripción del OrdenCompra ya existe.", TipoMensaje.MsgAdvertencia) + Else + OnError("Ocurrió un error al guardar la Orden de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + Catch ex As Exception + OnError("Ocurrió un error al guardar la Orden de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function AddOrdenCompraMovil(OC As WSOrdenCompra) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OrdenesCompraAdd") + + With SqlAdapter.SelectCommand.Parameters + .Add("@Tipo", SqlDbType.VarChar).Value = OC.Tipo + .Add("@CveSubProyecto", SqlDbType.Int).Value = OC.CveSubProyecto + .Add("@Descripcion", SqlDbType.VarChar).Value = OC.Descripcion + .Add("@Justificacion", SqlDbType.VarChar).Value = OC.Justificacion + .Add("@Prioridad", SqlDbType.Int).Value = OC.Prioridad + .Add("@Fecha", SqlDbType.DateTime).Value = OC.Fecha + .Add("@CveMoneda", SqlDbType.Int).Value = OC.CveMoneda + .Add("@CveEstatus", SqlDbType.Int).Value = OC.CveEstatus + .Add("@FechaEstimadaEntrega", SqlDbType.VarChar).Value = OC.FechaEstimadaEntrega + .Add("@LugarEntrega", SqlDbType.VarChar).Value = OC.LugarEntrega + .Add("@CveUsuario", SqlDbType.Int).Value = OC.CveUsuario + .Add("@CveEmpresa", SqlDbType.Int).Value = OC.CveEmpresa + .Add("@CveProveedor", SqlDbType.Int).Value = OC.CveProveedor + .Add("@CveProveedorSucursal", SqlDbType.Int).Value = OC.CveProveedorSucursal + .Add("@PorcentajeIVA", SqlDbType.SmallMoney).Value = OC.PorcentajeIVA + .Add("@IVA", SqlDbType.Money).Value = OC.IVA + .Add("@RetIVA", SqlDbType.Money).Value = OC.RetIVA + .Add("@RetISR", SqlDbType.Money).Value = OC.RetISR + .Add("@RequiereCotizacion", SqlDbType.Bit).Value = If(OC.RequiereCotizacion = True, 1, 0) + .Add("@CvePresupuestoEgreso", SqlDbType.Int).Value = OC.CvePresupuestoEgreso + .Add("@CveUsuarioAsignado", SqlDbType.Int).Value = OC.CveUsuarioAsignado + .Add("@IDCuentaPolizaAC", SqlDbType.Int).Value = OC.IDCuentaPolizaAC + .Add("@CveCliente", SqlDbType.Int).Value = OC.CveCliente + .Add("@CveVendedor", SqlDbType.Int).Value = OC.CveVendedor + .Add("@CveCotizacion", SqlDbType.Int).Value = OC.CveCotizacion + .Add("@PrioridadObservacion", SqlDbType.VarChar).Value = OC.PrioridadObservacion + .Add("@FolioAdicional", SqlDbType.VarChar).Value = OC.FolioAdicional + .Add("@EntregaDirecta", SqlDbType.Int).Value = OC.EntregaDirecta + .Add("@CveDireccionEnvio", SqlDbType.Int).Value = OC.CveDireccionEnvio + .Add("@Guia", SqlDbType.VarChar).Value = "-1" + + .Add("@vCveOrdenCompra", SqlDbType.Int).Direction = ParameterDirection.Output + .Add("@vFolio", SqlDbType.Int).Direction = ParameterDirection.Output + End With + + Try + SqlAdapter.Fill(Data) + + _CveOrdenCompra = SqlAdapter.SelectCommand.Parameters("@vCveOrdenCompra").Value.ToString.ToEntero + _Folio = SqlAdapter.SelectCommand.Parameters("@vFolio").Value.ToString.ToEntero + + 'GetOC(_CveOrdenCompra, pCveEmpresa) + Retorno = True + Catch ex As SqlException + If ex.Number = 2627 Then + Alert("La Clave o Descripción del OrdenCompra ya existe.", TipoMensaje.MsgAdvertencia) + Else + OnError("Ocurrió un error al guardar la Orden de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + Catch ex As Exception + OnError("Ocurrió un error al guardar la Orden de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function UpdateOrdenCompraPoliza(IDPoliza As Integer, pCveOrdenCompra As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OrdenesCompraPolizaUpdate") + + With SqlAdapter.SelectCommand.Parameters + .Add("@IDPoliza", SqlDbType.Int).Value = IDPoliza + .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al actualizar la Poliza de la Orden de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function UpdateOrdenCompraDetalleAjuste(CveOrdenCompra As Integer, CveOrdenCompraDetalle As Integer, Diferencia As Double, CveUsuarioModifico As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OC_OrdenesCompraDetalleAjusteUpdate") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra + .Add("@CveOrdenCompraDetalle", SqlDbType.Int).Value = CveOrdenCompraDetalle + .Add("@Diferencia", SqlDbType.Float).Value = Diferencia + .Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al actualizar la Orden de Compra Detalle.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + Public Function UpdateOrdenCompraMoneda(CveOrdenCompra As Integer, CveEmpresa As Integer, CveMoneda As Integer, CveUsuarioModifico As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OC_OrdenesCompraMonedaUpdate") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveMoneda", SqlDbType.Int).Value = CveMoneda + .Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al actualizar la Orden de Compra Detalle.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + + Public Function UpdateOrdenCompra(pCveSubProyecto As Integer, ByVal pDescripcion As String, pJustificacion As String, Prioridad As Integer, pRequiereCotizacion As Boolean, pFechaEstimadaEntrega As String, pLugarEntrega As String, pCveMoneda As Integer, + pCveProveedor As Integer, pCveOrdenCompra As Integer, pCveUsuarioModifico As Integer, Optional CveCliente As Integer = -1, Optional CveVendedor As Integer = -1, Optional PrioridadObservacion As String = "", + Optional IVA As Decimal = 0, Optional RetIVA As Decimal = 0, Optional RetISR As Decimal = 0, Optional IDPoliza As Integer = -1, Optional FechaExpiracion As Date = Nothing, Optional FolioAdicional As String = "", + Optional EntregaDirecta As Integer = -1, Optional CveDireccionEnvio As Integer = -1, Optional Guia As String = "-1", Optional IEPS As Decimal = -1, Optional UsoCFDI As Integer = -1, Optional Promocion As String = "-1", + Optional pCveProveedorSucursal As Integer = -1, Optional CveProveedorContacto As Integer = -1, Optional PorcentajeIVA As Double = 0.16) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OrdenesCompraUpdate") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveSubProyecto", SqlDbType.Int).Value = pCveSubProyecto + .Add("@Descripcion", SqlDbType.VarChar).Value = pDescripcion + .Add("@Justificacion", SqlDbType.VarChar).Value = pJustificacion + .Add("@Prioridad", SqlDbType.Int).Value = Prioridad + .Add("@RequiereCotizacion", SqlDbType.Bit).Value = If(pRequiereCotizacion, 1, 0) + .Add("@FechaEstimadaEntrega", SqlDbType.VarChar).Value = pFechaEstimadaEntrega + .Add("@LugarEntrega", SqlDbType.VarChar).Value = pLugarEntrega + .Add("@CveMoneda", SqlDbType.Int).Value = pCveMoneda + .Add("@CveProveedor", SqlDbType.Int).Value = pCveProveedor + .Add("@CveUsuarioModifico", SqlDbType.Int).Value = pCveUsuarioModifico + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor + .Add("@PrioridadObservacion", SqlDbType.VarChar).Value = PrioridadObservacion + .Add("@IVA", SqlDbType.Money).Value = IVA + .Add("@RetIVA", SqlDbType.Money).Value = RetIVA + .Add("@RetISR", SqlDbType.Money).Value = RetISR + .Add("@IEPS", SqlDbType.Money).Value = IEPS + .Add("@IDCuentaPolizaAC", SqlDbType.Int).Value = IDPoliza + .Add("@FolioAdicional", SqlDbType.VarChar).Value = FolioAdicional + .Add("@EntregaDirecta", SqlDbType.Int).Value = EntregaDirecta + .Add("@CveDireccionEnvio", SqlDbType.Int).Value = CveDireccionEnvio + .Add("@Guia", SqlDbType.VarChar).Value = Guia + .Add("@UsoCFDI", SqlDbType.Int).Value = UsoCFDI + .Add("@Promocion", SqlDbType.VarChar).Value = Promocion + .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra + .Add("@CveProveedorSucursal", SqlDbType.Int).Value = pCveProveedorSucursal + .Add("@CveProveedorContacto", SqlDbType.Int).Value = CveProveedorContacto + .Add("@PorcentajeIVA", SqlDbType.SmallMoney).Value = PorcentajeIVA + End With + + Try + SqlAdapter.Fill(Data) + + Retorno = True + Catch ex As SqlException + If ex.Number = 2627 Then + Alert("La Clave o Descripción del OrdenCompra ya existe.", TipoMensaje.MsgAdvertencia) + Else + OnError("Ocurrió un error al actualizar la Orden de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + Catch ex As Exception + OnError("Ocurrió un error al actualizar la Orden de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function UpdateOrdenCompraGuia(pGuia As String, pCveEmpresa As Integer, pCveOrdenCompra As Integer, pCveUsuarioModifico As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OrdenesCompraUpdateGuia") + + With SqlAdapter.SelectCommand.Parameters + .Add("@Guia", SqlDbType.VarChar).Value = pGuia + .Add("@CveEmpresa", SqlDbType.Int).Value = pCveEmpresa + .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra + .Add("@CveUsuarioModifico", SqlDbType.Int).Value = pCveUsuarioModifico + End With + + Try + SqlAdapter.Fill(Data) + + Retorno = True + Catch ex As SqlException + If ex.Number = 2627 Then + Alert("La Clave o Descripción del OrdenCompra ya existe.", TipoMensaje.MsgAdvertencia) + Else + OnError("Ocurrió un error al guardar la OrdenCompra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + Catch ex As Exception + OnError("Ocurrió un error al editar la OrdenCompra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function UpdateProveedorOrdenCompra(pCveProveedor As Integer, pCveOrdenCompra As Integer, pCveUsuarioModifico As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OrdenesCompraProveedorUpdate") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveProveedor", SqlDbType.Int).Value = pCveProveedor + .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra + .Add("@CveUsuarioModifico", SqlDbType.Int).Value = pCveUsuarioModifico + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + + Try + SqlAdapter.Fill(Data) + + Retorno = True + + Catch ex As Exception + OnError("Ocurrió un error al editar el proveedor en la orden de compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function UpdateClienteVendedorOrdenCompra(pCveCliente As Integer, pCveVendedor As Integer, pCveOrdenCompra As Integer, pCveUsuarioModifico As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OrdenesCompraClienteVendedorUpdate") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveCliente", SqlDbType.Int).Value = pCveCliente + .Add("@CveVendedor", SqlDbType.Int).Value = pCveVendedor + .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra + .Add("@CveUsuarioModifico", SqlDbType.Int).Value = pCveUsuarioModifico + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + + Try + SqlAdapter.Fill(Data) + + Retorno = True + + Catch ex As Exception + OnError("Ocurrió un error al editar el Cliente-Vendedor en la orden de compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function UpdateOrdenCompraVinculacionCompra(CveCompra As Integer, CveOrdenCompra As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OrdenesCompraUpdateCompra") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveCompra", SqlDbType.Int).Value = CveCompra + .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As SqlException + If ex.Number = 2627 Then + Alert("La Clave o Descripción del OrdenCompra ya existe.", TipoMensaje.MsgAdvertencia) + Else + OnError("Ocurrió un error al guardar la OrdenCompra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + Catch ex As Exception + OnError("Ocurrió un error al editar la OrdenCompra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function UpdateOrdenCompraRequiereCorizacion(CveOrdenCompra As Integer, RequiereCotizacion As Boolean) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OrdenesCompraRequiereCorizacionUpdate") + + With SqlAdapter.SelectCommand.Parameters + .Add("@RequiereCotizacion", SqlDbType.Bit).Value = RequiereCotizacion + .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al editar la OrdenCompra, Requiere cotizacion.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function GetSucursalOC(CveOC As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_GetSucursalOC") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra + End With + + Try + SqlAdapter.Fill(Data) + If Data.Rows.Count > 0 Then + Dim dr As DataRow = Data.Rows(0) + SucCalle = dr("Calle").ToString + SucNoExt = dr("NoExt").ToString + SucNoInt = dr("NoInt").ToString + SucColonia = dr("Colonia").ToString + SucMunicipio = dr("Municipio").ToString + SucEstado = dr("Estado").ToString + SucPais = dr("Pais").ToString + SucCP = dr("CP").ToString + SucSubProyecto = dr("SubProyecto").ToString + SucTelefono = dr("Telefono").ToString + End If + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener la sucursal de la orden de compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function +#End Region + +#Region "O R D E N E S - D E - C O M P R A S - D E T A L L E" + Public Function GetPrueba() As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_PruebaGet") + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener una Prueba.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function GetOrdenesDetalle(pCveOrdenCompra As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OrdenesCompraDetalleGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener el detalle de OrdenCompras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function AddOrdenCompraDetalle(pCveOrdenCompra As Integer, pCantidad As Double, pCveUnidadMedida As Integer, pCvePS As Integer, pImporte As Double, pCveSubProyecto As Integer, pCveActivoFijo As Integer, + pObservacion As String, pCveUsuario As Integer, Optional pCveOrdenCompraPadre As Integer = -1, Optional CvePresupuestoEgreso As Integer = -1, Optional Descuento As Double = 0, + Optional IEPSPS As Double = 0, Optional IEPSPSIVA As Double = 0, Optional IVA As Double = 0, Optional RetIVA As Double = 0, Optional RetISR As Double = 0, Optional Total As Double = 0, + Optional CveContratoDetalle As Integer = -1, Optional IVAPorcentaje As Double = 0, Optional RetIVAPorcentaje As Double = 0, Optional RetISRPorcentaje As Double = 0, Optional IEPSPSPorcentaje As Double = 0, + Optional IEPSPSIVAPorcentaje As Double = 0, Optional CveVentaDetalleCotizacion As Integer = -1) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OC_OrdenesCompraDetalleAdd") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra + .Add("@Cantidad", SqlDbType.Float).Value = pCantidad + .Add("@Descuento", SqlDbType.Float).Value = Descuento + .Add("@Importe", SqlDbType.Float).Value = pImporte + .Add("@CveUnidadMedida", SqlDbType.Int).Value = pCveUnidadMedida + .Add("@CvePS", SqlDbType.Int).Value = pCvePS + .Add("@Observacion", SqlDbType.VarChar).Value = pObservacion + .Add("@CveSubProyecto", SqlDbType.Int).Value = pCveSubProyecto + .Add("@CveActivoFijo", SqlDbType.Int).Value = pCveActivoFijo + .Add("@CveUsuario", SqlDbType.Int).Value = pCveUsuario + .Add("@CveOrdenCompraPadre", SqlDbType.Int).Value = pCveOrdenCompraPadre + .Add("@CvePresupuestoEgreso", SqlDbType.Int).Value = CvePresupuestoEgreso + .Add("@vCveOrdenCompraDetalle", SqlDbType.Int).Direction = ParameterDirection.Output + .Add("@IEPSPS", SqlDbType.Money).Value = IEPSPS + .Add("@IEPSPSIVA", SqlDbType.Money).Value = IEPSPSIVA + .Add("@IVA", SqlDbType.Float).Value = IVA + .Add("@RetIVA", SqlDbType.Float).Value = RetIVA + .Add("@RetISR", SqlDbType.Float).Value = RetISR + .Add("@Total", SqlDbType.Float).Value = Total + .Add("@CveContratoDetalle", SqlDbType.Int).Value = CveContratoDetalle + .Add("@IVAPorcentaje", SqlDbType.Float).Value = IVAPorcentaje + .Add("@RetIVAPorcentaje", SqlDbType.Float).Value = RetIVAPorcentaje + .Add("@RetISRPorcentaje", SqlDbType.Float).Value = RetISRPorcentaje + .Add("@IEPSPSPorcentaje", SqlDbType.Float).Value = IEPSPSPorcentaje .Add("@IEPSPSIVAPorcentaje", SqlDbType.Float).Value = IEPSPSIVAPorcentaje - .Add("@CveVentaDetalleCotizacion", SqlDbType.Int).Value = CveVentaDetalleCotizacion - End With - - Try - SqlAdapter.Fill(Data) - _CveOrdenCompraDetalle = SqlAdapter.SelectCommand.Parameters("@vCveOrdenCompraDetalle").Value.ToString.ToEntero - Retorno = True - Catch ex As Exception - - If ex.Message.Contains("CK_OC_OrdenesCompraDetalle_RetIVA_Total") Then - OnError("La retención de iva no coincide con su total", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - Else - OnError("Ocurrió un error al agregar el detalle de OrdenCompras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End If - - End Try - - Return Retorno - End Function - Public Function UpdateOrdenCompraDetalle(pCantidad As Double, pCveUnidadMedida As Integer, pCvePS As Integer, pImporte As Double, pCveSubProyecto As Integer, pCveActivoFijo As Integer, - pObservacion As String, pCveUsuario As Integer, pCveOrdenCompraDetalle As Integer, Optional CvePresupuestoEgreso As Integer = -1, Optional Descuento As Double = 0, - Optional IEPSPS As Double = 0, Optional IEPSPSIVA As Double = 0, Optional IVA As Double = 0, Optional RetIVA As Double = 0, Optional RetISR As Double = 0, Optional Total As Double = 0, - Optional CveContratoDetalle As Integer = -1, Optional IVAPorcentaje As Double = 0, Optional RetIVAPorcentaje As Double = 0, Optional RetISRPorcentaje As Double = 0, Optional IEPSPSPorcentaje As Double = 0, - Optional IEPSPSIVAPorcentaje As Double = 0) As Integer - Dim Retorno As Integer = -1 - - DataAdapter("PA_OC_OrdenesCompraDetalleUpdate") - - With SqlAdapter.SelectCommand.Parameters - '.Add("@pCveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra - .Add("@Cantidad", SqlDbType.Float).Value = pCantidad - .Add("@CveUnidadMedida", SqlDbType.Int).Value = pCveUnidadMedida - .Add("@CvePS", SqlDbType.Int).Value = pCvePS - .Add("@Descuento", SqlDbType.Float).Value = Descuento - .Add("@Importe", SqlDbType.Float).Value = pImporte - .Add("@CveSubProyecto", SqlDbType.Int).Value = pCveSubProyecto - .Add("@CveOrdenCompraDetalle", SqlDbType.Int).Value = pCveOrdenCompraDetalle - .Add("@CveActivoFijo", SqlDbType.Int).Value = pCveActivoFijo - .Add("@Observacion", SqlDbType.VarChar).Value = pObservacion - .Add("@CvePresupuestoEgreso", SqlDbType.Int).Value = CvePresupuestoEgreso - .Add("@CveUsuario", SqlDbType.Int).Value = pCveUsuario - .Add("@IEPSPS", SqlDbType.Money).Value = IEPSPS - .Add("@IEPSPSIVA", SqlDbType.Money).Value = IEPSPSIVA - .Add("@IVA", SqlDbType.Float).Value = IVA - .Add("@RetIVA", SqlDbType.Float).Value = RetIVA - .Add("@RetISR", SqlDbType.Float).Value = RetISR - .Add("@Total", SqlDbType.Float).Value = Total - .Add("@CveContratoDetalle", SqlDbType.Int).Value = CveContratoDetalle - .Add("@IVAPorcentaje", SqlDbType.Float).Value = IVAPorcentaje - .Add("@RetIVAPorcentaje", SqlDbType.Float).Value = RetIVAPorcentaje - .Add("@RetISRPorcentaje", SqlDbType.Float).Value = RetISRPorcentaje - .Add("@IEPSPSPorcentaje", SqlDbType.Float).Value = IEPSPSPorcentaje - .Add("@IEPSPSIVAPorcentaje", SqlDbType.Float).Value = IEPSPSIVAPorcentaje - End With - - Try - SqlAdapter.Fill(Data) - Retorno = pCveOrdenCompraDetalle - Catch ex As SqlException - If ex.Number = 2627 Then - Alert("La Clave o Descripción del OrdenCompra ya existe.", TipoMensaje.MsgAdvertencia) - Else - OnError("Ocurrió un error al editar la OrdenCompra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End If - Catch ex As Exception - OnError("Ocurrió un error al editar la OrdenCompra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - Public Function RemoveOrdenCompraDetalle(ByVal pCveOrdenCompraDetalle As Integer, CveUsuarioModifico As Integer) As Boolean - Dim OnError As Boolean = False - DataAdapter("PA_OC_OrdenesCompraDetalleRemove") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveOrdenCompraDetalle", SqlDbType.Int).Value = pCveOrdenCompraDetalle - .Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico - End With - - Try - SqlAdapter.Fill(Data) - OnError = True - Catch ex As Exception - Me.OnError("Ocurrió un error al eliminar detalle de orden de compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return OnError - End Function - Public Function OrdenesCompraDetalleCostoPP(CveOrdenCompraDetalle As Integer) As Boolean - Dim OnError As Boolean = False - DataAdapter("PA_OC_OrdenesCompraDetalleCostoPP") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveOCDetalle", SqlDbType.Int).Value = CveOrdenCompraDetalle - End With - - Try - SqlAdapter.Fill(Data) - OnError = True - Catch ex As Exception - Me.OnError("Ocurrió un error al obtener el costo de la orden de compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return OnError - End Function - -#End Region - -#Region " O R D E N E S - D E - C O M P R A - E S T A T U S" - Public Function GetEstatus() As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_OC_EstatusGet") - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener el Catálogo de Estatus de Ordenes de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - Public Function AddEstatus(Estatus As String, Tipo As String, CveEstatusSiguiente As Integer, TipoTermino As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_EstatusAdd") - - With SqlAdapter.SelectCommand.Parameters - .Add("@Estatus", SqlDbType.VarChar).Value = Estatus - .Add("@Tipo", SqlDbType.VarChar).Value = Tipo - .Add("@CveEstatusSiguiente", SqlDbType.Int).Value = CveEstatusSiguiente - .Add("@TipoTermino", SqlDbType.Int).Value = TipoTermino - .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch Ex1 As SqlException - If Ex1.Message.Contains("Número: 2627;") Then - Alert("Ya existe un Estatus con el mismo nombre: " & Estatus & ".", TipoMensaje.MsgAdvertencia) - Else - Me.OnError("Ocurrió un error al Guardar el Estatus de Ordenes de Compra.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End If - Catch ex As Exception - OnError("Ocurrió un error al Guardar el Estatus", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) - End Try - - Return Retorno - End Function - Public Function UpdateEstatus(Estatus As String, Tipo As String, CveEstatusSiguiente As Integer, TipoTermino As Integer, EstatusActivo As Boolean, EsCancelable As Boolean, CveEstatus As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_EstatusUpdate") - - With SqlAdapter.SelectCommand.Parameters - .Add("@Estatus", SqlDbType.VarChar).Value = Estatus - .Add("@Tipo", SqlDbType.VarChar).Value = Tipo - .Add("@CveEstatusSiguiente", SqlDbType.Int).Value = CveEstatusSiguiente - .Add("@TipoTermino", SqlDbType.Int).Value = TipoTermino - .Add("@EsCancelable", SqlDbType.Bit).Value = EsCancelable - .Add("@EstatusActivo", SqlDbType.Bit).Value = EstatusActivo - .Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch Ex1 As SqlException - If Ex1.Message.Contains("Número: 2627;") Then - Alert("Ya existe un Estatus con el mismo nombre: " & Estatus & ".", TipoMensaje.MsgAdvertencia) - Else - Me.OnError("Ocurrió un error al guardar los cambios en el Estatus", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End If - Catch ex As Exception - OnError("Ocurrió un error al guardar los cambios en el Estatus de Ordenes de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) - End Try - - Return Retorno - End Function - Public Function RemoveEstatus(CveEstatus As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_EstatusRemove") - - SqlAdapter.SelectCommand.Parameters.Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus - - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch Ex1 As SqlException - If Ex1.Message.Contains("Número: 547;") Then - Alert("El Estatus no se pudo eliminar porque está siendo usado por un registro.", TipoMensaje.MsgAdvertencia) - Else - Me.OnError("Ocurrió un error al eliminar el Estatus de Ordenes de Compra.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End If - Catch ex As Exception - Me.OnError("Ocurrió un error al eliminar el Estatus de Ordenes de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - -#End Region - -#Region " O R D E N E S - D E - C O M P R A - E S T A T U S - U S U A R I O S" - Public Function GetEstatusUsuarios(CveUsuario As Integer, CveEstatus As Integer, CveSubProyecto As Integer, CveOrdenCompra As Integer, CveEmpresa As Integer, Optional CveEstatusUsuarios As Integer = -1, Optional Estatus As Integer = -1) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_OC_EstatusUsuariosGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveEstatusUsuarios", SqlDbType.Int).Value = CveEstatusUsuarios - .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario - .Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus - .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto - .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - .Add("@Estatus", SqlDbType.Int).Value = Estatus - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener el Catálogo de Estatus de Usuarios para Ordenes de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function AddEstatusUsuarios(CveEstatus As Integer, CveSubProyecto As Integer, CveUsuario As Integer, Estatus As Boolean, Optional CveSuperior As Integer = -1, Optional LimiteSuperior As Decimal = -1, Optional LimiteInferior As Decimal = -1, Optional CveUsuarioModifico As Integer = -1) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_EstatusUsuariosAdd") - 'SqlAdapter.SelectCommand.CommandTimeout = 180 - With SqlAdapter.SelectCommand.Parameters - .Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus - .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto - .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario - .Add("@CveSuperior", SqlDbType.Int).Value = CveSuperior - .Add("@LimiteSuperior", SqlDbType.Money).Value = LimiteSuperior - .Add("@LimiteInferior", SqlDbType.Money).Value = LimiteInferior - .Add("@Estatus", SqlDbType.Bit).Value = Estatus.ToEntero - .Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - 'SqlAdapter.SelectCommand.CommandTimeout = 30 - Catch Ex1 As SqlException - If Ex1.Message.Contains("Número: 2627;") Then - Alert("Ya existe un Estatus con el mismo nombre: " & Estatus & ".", TipoMensaje.MsgAdvertencia) - Else - Me.OnError("Ocurrió un error al Guardar el Estatus de Usuario para Ordenes de Compra.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End If - Catch ex As Exception - OnError("Ocurrió un error al Guardar el Estatus de Usuario para Ordenes de Compra", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) - End Try - - Return Retorno - End Function - Public Function UpdateEstatusUsuarios(CveEstatusUsuarios As Integer, CveSuperior As Integer, LimiteSuperior As Decimal, LimiteInferior As Decimal) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_EstatusUsuariosUpdate") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveEstatusUsuarios", SqlDbType.Int).Value = CveEstatusUsuarios - .Add("@CveSuperior", SqlDbType.Int).Value = CveSuperior - .Add("@LimiteSuperior", SqlDbType.Decimal).Value = LimiteSuperior - .Add("@LimiteInferior", SqlDbType.Decimal).Value = LimiteInferior - - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch Ex1 As SqlException - If Ex1.Message.Contains("Número: 2627;") Then - Alert("Ya existe un Estatus con el mismo nombre. ", TipoMensaje.MsgAdvertencia) - Else - Me.OnError("Ocurrió un error al guardar los cambios en el Estatus", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End If - Catch ex As Exception - OnError("Ocurrió un error al guardar los cambios en el Estatus de Ordenes de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) - End Try - - Return Retorno - End Function - Public Function RemoveEstatusUsuarios(CveEstatusUsuarios As Integer, Optional CveUsuarioModifico As Integer = -1) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_EstatusUsuariosRemove") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveEstatusUsuarios", SqlDbType.Int).Value = CveEstatusUsuarios - .Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico - - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch Ex1 As SqlException - If Ex1.Message.Contains("Número: 547;") Then - Alert("El Estatus no se pudo eliminar porque está siendo usado por un registro.", TipoMensaje.MsgAdvertencia) - Else - Me.OnError("Ocurrió un error al eliminar el Estatus de Usuario para Ordenes de Compra.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End If - Catch ex As Exception - Me.OnError("Ocurrió un error al eliminar el Estatus de Usuario para Ordenes de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - -#End Region - -#Region " O R D E N E S - D E - C O M P R A - E S T A T U S - U S U A R I O - T E M P" - 'Public Function CreateEstatusUsuarioTemporal() As Boolean - ' Dim Retorno As Boolean = False - ' DataAdapter("PA_OC_TempEstatusUsuarioCreate") - ' Try - ' SqlAdapter.Fill(Data) - ' Retorno = True - ' Catch ex As Exception - ' OnError("Ocurrió un error al Crear la tabla temporal", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - ' End Try - ' Return Retorno - 'End Function - 'Public Function DeleteEstatusUsuarioTemporal() As Boolean - ' Dim Retorno As Boolean = False - ' DataAdapter("PA_OC_TempEstatusUsuarioDelete") - ' Try - ' SqlAdapter.Fill(Data) - ' Retorno = True - ' Catch ex As Exception - ' OnError("Ocurrió un error al eliminar la tabla temporal", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - ' End Try - ' Return Retorno - 'End Function - Public Function GetEstatusUsuarioTemporal(CveUsuario As Integer, CveEstatus As Integer, CveSubProyecto As Integer, CveEmpresa As Integer, Optional CveEstatusUsuarios As Integer = -1) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_OC_TempEstatusUsuarioGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveEstatusUsuarios", SqlDbType.Int).Value = CveEstatusUsuarios - .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario - .Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus - .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener el Catálogo de Estatus de Usuarios para Ordenes de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - 'Public Function AddEstatusUsuarioTemporal(CveEstatus As Integer, CveSubProyecto As Integer, CveUsuario As Integer, Estatus As Boolean, Optional CveSuperior As Integer = -1, Optional LimiteSuperior As Decimal = -1, Optional LimiteInferior As Decimal = -1) As Boolean - ' Dim Retorno As Boolean = False - - ' DataAdapter("PA_OC_TempEstatusUsuarioAdd") - ' 'SqlAdapter.SelectCommand.CommandTimeout = 180 - ' With SqlAdapter.SelectCommand.Parameters - ' .Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus - ' .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto - ' .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario - ' .Add("@CveSuperior", SqlDbType.Int).Value = CveSuperior - ' .Add("@LimiteSuperior", SqlDbType.Money).Value = LimiteSuperior - ' .Add("@LimiteInferior", SqlDbType.Money).Value = LimiteInferior - ' .Add("@Estatus", SqlDbType.Bit).Value = Estatus.ToEntero - ' End With - - ' Try - ' SqlAdapter.Fill(Data) - ' Retorno = True - ' 'SqlAdapter.SelectCommand.CommandTimeout = 30 - ' Catch Ex1 As SqlException - ' If Ex1.Message.Contains("Número: 2627;") Then - ' Alert("Ya existe un Estatus con el mismo nombre: " & Estatus & ".", TipoMensaje.MsgAdvertencia) - ' Else - ' Me.OnError("Ocurrió un error al Guardar el Estatus de Usuario para Ordenes de Compra.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - ' End If - ' Catch ex As Exception - ' OnError("Ocurrió un error al Guardar el Estatus de Usuario para Ordenes de Compra", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) - ' End Try - - ' Return Retorno - 'End Function - 'Public Function UpdateEstatusUsuarioTemporal(CveEstatusUsuarios As Integer, CveSuperior As Integer, LimiteSuperior As Decimal, LimiteInferior As Decimal) As Boolean - ' Dim Retorno As Boolean = False - - ' DataAdapter("PA_OC_TempEstatusUsuarioUpdate") - - ' With SqlAdapter.SelectCommand.Parameters - ' .Add("@CveEstatusUsuarios", SqlDbType.Int).Value = CveEstatusUsuarios - ' .Add("@CveSuperior", SqlDbType.Int).Value = CveSuperior - ' .Add("@LimiteSuperior", SqlDbType.Decimal).Value = LimiteSuperior - ' .Add("@LimiteInferior", SqlDbType.Decimal).Value = LimiteInferior - ' End With - - ' Try - ' SqlAdapter.Fill(Data) - ' Retorno = True - ' Catch Ex1 As SqlException - ' If Ex1.Message.Contains("Número: 2627;") Then - ' Alert("Ya existe un Estatus con el mismo nombre. ", TipoMensaje.MsgAdvertencia) - ' Else - ' Me.OnError("Ocurrió un error al guardar los cambios en el Estatus", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - ' End If - ' Catch ex As Exception - ' OnError("Ocurrió un error al guardar los cambios en el Estatus de Ordenes de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) - ' End Try - - ' Return Retorno - 'End Function - 'Public Function RemoveEstatusUsuarioTemporal(CveEstatusUsuarios As Integer) As Boolean - ' Dim Retorno As Boolean = False - - ' DataAdapter("PA_OC_TempEstatusUsuarioRemove") - - ' SqlAdapter.SelectCommand.Parameters.Add("@CveEstatusUsuarios", SqlDbType.Int).Value = CveEstatusUsuarios - - - ' Try - ' SqlAdapter.Fill(Data) - ' Retorno = True - ' Catch Ex1 As SqlException - ' If Ex1.Message.Contains("Número: 547;") Then - ' Alert("El Estatus no se pudo eliminar porque está siendo usado por un registro.", TipoMensaje.MsgAdvertencia) - ' Else - ' Me.OnError("Ocurrió un error al eliminar el Estatus de Usuario para Ordenes de Compra.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - ' End If - ' Catch ex As Exception - ' Me.OnError("Ocurrió un error al eliminar el Estatus de Usuario para Ordenes de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - ' End Try - - ' Return Retorno - 'End Function -#End Region - - Public Function GetOrdenesCompraRep(Tipo As String, CveProyecto As Integer, CveSubProyecto As Integer, CveClasificacion As Integer, CveEstatus As Integer, - FechaInicio As Date, FechaFin As Date, CveOrdenCompra As Integer, CveProveedor As Integer, Folio As Integer, CveUsuarioRegistro As Integer, CveUsuario As Integer, CveEmpresa As Integer, CvePS As Integer, Optional PendientePorSurtir As Boolean = False, Optional CveCliente As Integer = -1, Optional Guia As String = "-1", Optional CveActivoFijo As Integer = -1, - Optional SoloSubProyectosConPermiso As Boolean = False) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OrdenesCompraRep") - - With SqlAdapter.SelectCommand.Parameters - .Add("@Tipo", SqlDbType.VarChar).Value = Tipo - .Add("@CveProyecto", SqlDbType.Int).Value = CveProyecto - .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto - .Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus - .Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio - .Add("@FechaFin", SqlDbType.Date).Value = FechaFin - .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra - .Add("@CveUsuarioRegistro", SqlDbType.Int).Value = CveUsuarioRegistro - .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario - .Add("@Folio", SqlDbType.Int).Value = Folio - .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion - .Add("@CvePS", SqlDbType.Int).Value = CvePS - .Add("@CveCliente", SqlDbType.Int).Value = CveCliente - .Add("@PendientePorSurtir", SqlDbType.Bit).Value = PendientePorSurtir - .Add("@Guia", SqlDbType.VarChar).Value = Guia - .Add("@CveActivoFijo", SqlDbType.Int).Value = CveActivoFijo - .Add("@SoloSubProyectosConPermiso", SqlDbType.Bit).Value = SoloSubProyectosConPermiso - - End With - - Try - SqlAdapter.Fill(Data) - - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener Ordenes de Compras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function GetOrdenesCompraRepReqXOC(Folio As Integer, FechaInicio As String, FechaFin As String, CveProveedor As Integer, CveVendedor As Integer, CveCliente As Integer, CveEmpresa As Integer, Grupo As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OrdenesCompraReqXOC") - - With SqlAdapter.SelectCommand.Parameters - .Add("@Folio", SqlDbType.Int).Value = Folio - .Add("@FechaInicio", SqlDbType.VarChar).Value = FechaInicio - .Add("@FechaFin", SqlDbType.VarChar).Value = FechaFin - .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor - .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor - .Add("@CveCliente", SqlDbType.Int).Value = CveCliente - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - .Add("@Grupo", SqlDbType.Int).Value = Grupo - - End With - - Try - SqlAdapter.Fill(Data) - - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener el reporte de requisiciones.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function GetOrdenesCompraCorreo(CveCompra As Integer, Optional CveMovimiento As Integer = -1) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OrdenesCompraCorreosGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveCompra", SqlDbType.Int).Value = CveCompra - .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento - End With - - Try - SqlAdapter.Fill(Data) - - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener los correos de Ordenes de Compras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function GetComprasOC(CveCompra As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OrdenesCompraFoliosGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveCompra", SqlDbType.Int).Value = CveCompra - End With - - Try - SqlAdapter.Fill(Data) - - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener los correos de Ordenes de Compras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function GetOrdenesCompraMovimiento(CveCompra As Integer, Optional CveMovimiento As Integer = -1) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OrdenesCompraPSGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveCompra", SqlDbType.Int).Value = CveCompra - .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento - End With - - Try - SqlAdapter.Fill(Data) - - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener los movimientos de Ordenes de Compras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function GetOrdenesPendientes(pTipo As String, pTipoBusqueda As Integer, pCveEmpresa As Integer, pCveProyecto As Integer, pCveSubProyecto As Integer, pCveEstatusCompra As Integer, - pCveUsuario As Integer, CveCliente As Integer, Optional SoloSubProyectosConPermiso As Boolean = False) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OrdenesCompraPendientes") - - With SqlAdapter.SelectCommand.Parameters - .Add("@Tipo", SqlDbType.VarChar).Value = pTipo - .Add("@CveEmpresa", SqlDbType.Int).Value = pCveEmpresa - .Add("@CveProyecto", SqlDbType.Int).Value = pCveProyecto - .Add("@CveSubProyecto", SqlDbType.Int).Value = pCveSubProyecto - .Add("@CveEstatus", SqlDbType.Int).Value = pCveEstatusCompra - .Add("@CveUsuario", SqlDbType.Int).Value = pCveUsuario - .Add("@CveCliente", SqlDbType.Int).Value = CveCliente - .Add("@TipoBusqueda", SqlDbType.Int).Value = pTipoBusqueda - .Add("@SoloSubProyectosConPermiso", SqlDbType.Bit).Value = SoloSubProyectosConPermiso - End With - - Try - SqlAdapter.Fill(Data) - - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener Ordenes de Compras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function GetCompras(ByVal pCveEmpresa As Integer, ByVal pCveProyecto As Integer, pCveSubProyecto As Integer, pCveClasificacion As Integer, pCveEstatusCompras As String, - pFechaInicio As Date, pFechaFin As Date, pCveOrdenCompra As Integer, pCveUsuario As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OrdenesCompraRepCompras") - - With SqlAdapter.SelectCommand.Parameters - .Add("@pCveEmpresa", SqlDbType.Int).Value = pCveEmpresa - .Add("@pCveProyecto", SqlDbType.Int).Value = pCveProyecto - .Add("@pCveSubProyecto", SqlDbType.Int).Value = pCveSubProyecto - .Add("@pCveClasificacion", SqlDbType.Int).Value = pCveClasificacion - .Add("@pCveEstatusCompra", SqlDbType.Int).Value = pCveEstatusCompras - .Add("@pFechaInicio", SqlDbType.Date).Value = pFechaInicio - .Add("@pFechaFin", SqlDbType.Date).Value = pFechaFin - .Add("@pCveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra - .Add("@pCveUsuario", SqlDbType.Int).Value = pCveUsuario - End With - - Try - SqlAdapter.Fill(Data) - - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener Ordenes de Compras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function UpdateOrdenCompraEstatus(pCveEstatus As Integer, pCveOrdenCompra As Integer, pCveUsuario As Integer, pMotivo As String, Optional pCveCompra As Integer = -1) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OrdenesCompraEstatusUpdate") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveEstatus", SqlDbType.Int).Value = pCveEstatus - .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra - .Add("@CveUsuario", SqlDbType.Int).Value = pCveUsuario - .Add("@Motivo", SqlDbType.VarChar, 500).Value = pMotivo - .Add("@CveCompra", SqlDbType.Int).Value = pCveCompra - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al cambiar el estatus de la OrdenCompra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function UpdateOrdenCompraCompletada(pCveEstatus As Integer, pCveOrdenCompra As Integer, pCveUsuario As Integer, pMotivo As String, Optional pCveCompra As Integer = -1) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OrdenesCompraCompletadas") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveEstatus", SqlDbType.Int).Value = pCveEstatus - .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra - .Add("@CveUsuario", SqlDbType.Int).Value = pCveUsuario - .Add("@Motivo", SqlDbType.VarChar, 500).Value = pMotivo - .Add("@CveCompra", SqlDbType.Int).Value = pCveCompra - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al cambiar el estatus de la OrdenCompra Completada.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function UpdateOrdenCompraDetalleProveedor(pCveOrdenCompraDetalle As Integer, pCveProveedor As Integer, pCveCotizacion As Integer) As Integer - Dim Retorno As Integer = -1 - - DataAdapter("BEGIN UPDATE OC_OrdenesCompraDetalle SET CveProveedor = @pCveProveedor WHERE CveOrdenCompraDetalle = @pCveOrdenCompraDetalle; UPDATE OC_CotizacionesDetalle SET Ganador = 1 WHERE CveCotizacion = @pCveCotizacion AND CveOrdenCompraDetalle = @pCveOrdenCompraDetalle; END", CommandType.Text) - - With SqlAdapter.SelectCommand.Parameters - - .Add("@pCveOrdenCompraDetalle", SqlDbType.Int).Value = pCveOrdenCompraDetalle - .Add("@pCveProveedor", SqlDbType.Int).Value = pCveProveedor - .Add("@pCveCotizacion", SqlDbType.Int).Value = pCveCotizacion - - End With - - Try - SqlAdapter.Fill(Data) - - Retorno = pCveOrdenCompraDetalle - Catch ex As Exception - OnError("Ocurrió un error al actualizar el proveedor a la OrdenCompra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function GetOrdenesHistorial(pCveOrdenCompra As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OrdenesCompraHistorialGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener el historial de OrdenCompras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function GetOrdenesEstatus(pCveOrdenCompra As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OrdenesCompraEstatusGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener el estatus de OrdenCompra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function GetOrdenesEstatusHistorial(pCveOrdenCompra As Integer) As DataTable - - DataAdapter("PA_OC_OrdenesCompraEstatusHistorialGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra - End With - - Try - SqlAdapter.Fill(Data) - - Catch ex As Exception - OnError("Ocurrió un error al obtener los estatus de OrdenesCompras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Data - End Function - - Public Function GetOCIncompletaDetalle(CveEmpresa As Integer, Optional CveOrdenCompra As Integer = -1, Optional CveProveedor As Integer = -1) As Boolean - Dim retorno As Boolean = False - StrSQL.Clear() - StrSQL.Append("SELECT OCD.CveOrdenCompra, OCD.Cantidad CantidadOrden, CD.Cantidad CantidadCompra, OCD.Cantidad - CD.Cantidad CantidadPendiente, OC.Folio, ") - StrSQL.Append("OC.Fecha, P.RazonSocial, E.Estatus, PS.PS, OC.CveProveedor ") - StrSQL.Append("FROM OC_OrdenesCompraDetalle OCD ") - StrSQL.Append("INNER JOIN Comp_ComprasDetalles CD ON OCD.CveOrdenCompraDetalle = CD.CveCompraDetalle ") - StrSQL.Append("INNER JOIN OC_OrdenesCompra OC ON OCD.CveOrdenCompra = OC.CveOrdenCompra ") - StrSQL.Append("INNER JOIN Comp_Proveedores P ON OC.CveProveedor = P.CveProveedor ") - StrSQL.Append("INNER JOIN ProductosServicios PS ON OCD.CvePS = PS.CvePS ") - StrSQL.Append("INNER JOIN OC_Estatus E ON OC.CveEstatus = E.CveEstatus ") - StrSQL.Append("WHERE OCD.CveOrdenCompraDetalle = CD.CveCompraDetalle AND OCD.Cantidad != CD.Cantidad ") - StrSQL.Append("AND (@CveOrdenCompra = -1 OR @CveOrdenCompra = OCD.CveOrdenCompra) ") - StrSQL.Append("AND (@CveEmpresa = -1 OR @CveEmpresa = OC.CveEmpresa) ") - StrSQL.Append("AND (@CveProveedor = -1 OR @CveProveedor = OC.CveProveedor) ") - StrSQL.Append("ORDER BY OC.Folio ") - - DataAdapter(StrSQL.ToString, CommandType.Text) - With SqlAdapter.SelectCommand.Parameters - .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor - - End With - - - Try - SqlAdapter.Fill(Data) - retorno = True - Catch ex As Exception - OnError("Ocurrió un error al consultar Ordenes de Compra", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return retorno - - - - End Function - -#Region " OC FACTURA " - Public Function GetOCSinFactura(CveSubProyecto As Integer, CveVendedor As Integer, CveEmpresa As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_OC_PendientesFacturar") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto - .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener el Catálogo de Ordenes de Compra Sin Factura.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - Public Function GetOCFacturacion(pCveOrdenCompra As Integer, CveEmpresa As Integer) As Boolean - Dim Retorno = False - - DataAdapter("PA_OC_OrdenesCompraFacturacionGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener los detalles de la Orden de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function -#End Region - -#Region " OC POR SEMANA " - Public Function RepOCCount(FechaInicio As Date, FechaFin As Date, CveUsuario As Integer, Cveempresa As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OrdenesCompraRepCount") - - With SqlAdapter.SelectCommand.Parameters - .Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio - .Add("@FechaFin", SqlDbType.Date).Value = FechaFin - .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario - .Add("@CveEmpresa", SqlDbType.Int).Value = Cveempresa - End With - - Try - SqlAdapter.Fill(Data) - - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener Ordenes de Compras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function -#End Region - -#Region " OC CLASIFICACIONES " - - Public Function GetEstatusUsuariosClasificaciones(CveEstatusUsuarios As Integer, CveUsuario As Integer, CveSubProyecto As Integer, CveClasificacion As Integer, CveEmpresa As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_OC_EstatusUsuariosClasificacionesGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveEstatusUsuarios", SqlDbType.Int).Value = CveEstatusUsuarios - .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario - .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto - .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener el Catálogo de Estatus de Usuarios Clasificaciones para Ordenes de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function AddEstatusUsuariosClasificaciones(CveEstatusUsuarios As Integer, CveClasificacion As Integer, CveSuperior As Integer, LimiteInferior As Decimal, LimiteSuperior As Decimal, CveUsuarioModifico As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_EstatusUsuariosClasificacionesAdd") - With SqlAdapter.SelectCommand.Parameters - .Add("@CveEstatusUsuarios", SqlDbType.Int).Value = CveEstatusUsuarios - .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion - .Add("@CveSuperior", SqlDbType.Int).Value = CveSuperior - .Add("@LimiteSuperior", SqlDbType.Money).Value = LimiteSuperior - .Add("@LimiteInferior", SqlDbType.Money).Value = LimiteInferior - .Add("@CveUsuarioModifico", SqlDbType.Bit).Value = CveUsuarioModifico - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch Ex1 As SqlException - If Ex1.Message.Contains("Número: 2627;") Then - Alert("Ya existe un Estatus con los mismos valores", TipoMensaje.MsgAdvertencia) - Else - Me.OnError("Ocurrió un error al Guardar el Estatus de Usuario Clasificaciones para Ordenes de Compra.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End If - Catch ex As Exception - OnError("Ocurrió un error al Guardar el Estatus de Usuario Clasificaciones para Ordenes de Compra", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) - End Try - - Return Retorno - End Function - Public Function UpdateEstatusUsuariosClasificaciones(CveEstatusUsuariosClasificacion As Integer, CveClasificacion As Integer, CveSuperior As Integer, LimiteInferior As Decimal, LimiteSuperior As Decimal, CveUsuarioModifico As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_EstatusUsuariosClasificacionesUpdate") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveEstatusUsuariosClasificacion", SqlDbType.Int).Value = CveEstatusUsuariosClasificacion - .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion - .Add("@CveSuperior", SqlDbType.Int).Value = CveSuperior - .Add("@LimiteSuperior", SqlDbType.Money).Value = LimiteSuperior - .Add("@LimiteInferior", SqlDbType.Money).Value = LimiteInferior - .Add("@CveUsuarioModifico", SqlDbType.Bit).Value = CveUsuarioModifico - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch Ex1 As SqlException - If Ex1.Message.Contains("Número: 2627;") Then - Alert("Ya existe un Estatus con los mismos valores. ", TipoMensaje.MsgAdvertencia) - Else - Me.OnError("Ocurrió un error al guardar los cambios en el Estatus de Usuario Clasificaciones para Ordenes de Compra", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End If - Catch ex As Exception - OnError("Ocurrió un error al guardar los cambios en el Estatus de Usuario Clasificaciones para Ordenes de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) - End Try - - Return Retorno - End Function - Public Function RemoveEstatusUsuariosClasificaciones(CveEstatusUsuariosClasificacion As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_EstatusUsuariosClasificacionesRemove") - - SqlAdapter.SelectCommand.Parameters.Add("@CveEstatusUsuariosClasificacion", SqlDbType.Int).Value = CveEstatusUsuariosClasificacion - - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch Ex1 As SqlException - If Ex1.Message.Contains("Número: 547;") Then - Alert("El Estatus no se pudo eliminar porque está siendo usado por un registro.", TipoMensaje.MsgAdvertencia) - Else - Me.OnError("Ocurrió un error al eliminar el Estatus de Usuario Clasificaciones para Ordenes de Compra.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End If - Catch ex As Exception - Me.OnError("Ocurrió un error al eliminar el Estatus de Usuario Clasificaciones para Ordenes de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - -#End Region - -#Region " OC X VINCULAR COMPRA " - Public Function GetPendietePorSurtirOC(FechaI As String, FechaF As String, CveProveedor As Integer, Folio As Integer, CveSubProyecto As Integer, CveCliente As Integer, CveEmpresa As Integer, Optional CveOC As Integer = -1) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_ComprasPendientesPorSurtirGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor - .Add("@Folio", SqlDbType.Int).Value = Folio - .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto - .Add("@CveCliente", SqlDbType.Int).Value = CveCliente - .Add("@FechaI", SqlDbType.VarChar).Value = FechaI - .Add("@FechaF", SqlDbType.VarChar).Value = FechaF - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - .Add("@CveOC", SqlDbType.Int).Value = CveOC - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener Ordenes de compra pendientes por surtir.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - Public Function GetOCVinculadasPendientes(CveOCDetalle As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_OCVinculadas") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveOCDetalle", SqlDbType.Int).Value = CveOCDetalle - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener Ordenes de compra pendientes por surtir.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function -#End Region - -#Region "P y M E" - - Public Function AddEstatusRequisicionesPredefinidas(CveEmpresa As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_OC_EstatusPredefinidosPyMEAdd") - With SqlAdapter.SelectCommand.Parameters - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - - Catch ex As Exception - OnError("Ocurrió un error al agregar los estatus de las requisiciones predefinidas.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function GetEstatusUsuariosPyME(CveUsuario As Integer, CveEstatus As Integer, CveSubProyecto As Integer, CveOrdenCompra As Integer, CveEmpresa As Integer, Optional CveEstatusUsuarios As Integer = -1) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_OC_EstatusUsuariosPyMEGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveEstatusUsuarios", SqlDbType.Int).Value = CveEstatusUsuarios - .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario - .Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus - .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto - .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener el Catálogo de Estatus de Usuarios para Ordenes de Compra en PyME.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - -#End Region - -#Region " SOLICITUD DE ANTICIPO " - Public Function GetSolicitudAnticipo(CveOC As Integer, CveEmpresa As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_OC_SolicitudAnticipoGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveOC", SqlDbType.Int).Value = CveOC - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener la solicitud de anticipo de la OC.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - Public Function GetSolicitudAnticipoUsuarios(CveOC As Integer, CveEmpresa As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_OC_SolicitudAnticipoUsuarioGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveOC", SqlDbType.Int).Value = CveOC - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener la solicitud de anticipo de la OC.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - Public Function AddSolicitudAnticipo(CveOrdenCompra As Integer, Importe As Double, CveEmpresa As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_OC_SolicitudAnticipoAdd") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra - .Add("@Importe", SqlDbType.Money).Value = Importe - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al actualizar el estatus de solicitud anticipo de la OC.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - Public Function AddSolicitudAnticipoPago(CveOrdenCompra As Integer, CveIE As Integer, CveEmpresa As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_OC_SolicitudAnticipoAddPago") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra - .Add("@CveIE", SqlDbType.Int).Value = CveIE - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al actualizar el estatus de solicitud anticipo de la OC.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - -#End Region - - Public Function GetUltimoCostoPS(CvePS As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_OC_UltimoCostoPS") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CvePS", SqlDbType.Int).Value = CvePS - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener el último costo del producto.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function GetRepOCGuias(FechaI As String, FechaF As String, CveProveedor As Integer, CveVendedor As Integer, CveCliente As Integer, CveSubProyecto As Integer, CveEmpresa As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_OC_RepOCGuiasGet") - - With SqlAdapter.SelectCommand.Parameters - - .Add("@FechaI", SqlDbType.VarChar).Value = FechaI - .Add("@FechaF", SqlDbType.VarChar).Value = FechaF - .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor - .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor - .Add("@CveCliente", SqlDbType.Int).Value = CveCliente - .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener el reporte de Ordenes de compra guias.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - -#Region " OC DETALLE - SALDOS [ SURTIDO INV | VINCULADO COMP ]" - Public Function OrdenesCompraDetalleSaldosInvCompraAdd(CveOCDetalle As Integer, CveInvDetalle As Integer, CantidadSurtida As Double, CveCompraDetalle As Integer, CantidadVinculada As Double) As Boolean - Dim Retorno As Boolean = False - DataAdapter("OC_OrdenesCompraDetalleSaldosInvCompraAdd") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveOCDetalle", SqlDbType.Int).Value = CveOCDetalle - .Add("@CveInvDetalle", SqlDbType.Int).Value = CveInvDetalle - .Add("@CantidadSurtida", SqlDbType.Float).Value = CantidadSurtida - .Add("@CveCompraDetalle", SqlDbType.Int).Value = CveCompraDetalle - .Add("@CantidadVinculada", SqlDbType.Float).Value = CantidadVinculada - - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al agregar los saldos de (Inv/Compra) de la OC.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function -#End Region - -#Region "REP OC CON ANTICIPOS PENDIENTES" - Public Function GetOCAnticiposPendientes(CveEmpresa As Integer, CveUsuarioPara As Integer, CveProveedor As Integer, FechaI As Date, FechaF As Date) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_OC_AnticiposPendientesGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - .Add("@CveUsuarioPara", SqlDbType.Int).Value = CveUsuarioPara - .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor - .Add("@FechaI", SqlDbType.DateTime).Value = FechaI - .Add("@FechaF", SqlDbType.DateTime).Value = FechaF - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener los anticipos pendientes.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function -#End Region -#Region "REP SOLICITUDES ANTICIPO" - Public Function GetRepSolicitudAnticipos(CveEmpresa As Integer, CveProveedor As Integer, FechaI As Date, FechaF As Date, CveEventoEstatus As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_RepSolicitudAnticipoGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor - .Add("@FechaI", SqlDbType.DateTime).Value = FechaI - .Add("@FechaF", SqlDbType.DateTime).Value = FechaF - .Add("@CveEventoEstatus", SqlDbType.Int).Value = CveEventoEstatus - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener los anticipos pendientes.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function -#End Region - - - -#Region " IDisposable Support " - ' IDisposable - Protected Overridable Sub Dispose(ByVal disposing As Boolean) - If Not disposedValue Then - If disposing Then - SqlConexion.Close() - SqlConexion.Dispose() - If Not Data Is Nothing Then Data.Dispose() - If Not SqlAdapter Is Nothing Then SqlAdapter.Dispose() - - End If - End If - disposedValue = True - End Sub - Public Sub Dispose() Implements IDisposable.Dispose - ConexionClose() - Dispose(True) - GC.SuppressFinalize(Me) - End Sub -#End Region -End Class + .Add("@CveVentaDetalleCotizacion", SqlDbType.Int).Value = CveVentaDetalleCotizacion + End With + + Try + SqlAdapter.Fill(Data) + _CveOrdenCompraDetalle = SqlAdapter.SelectCommand.Parameters("@vCveOrdenCompraDetalle").Value.ToString.ToEntero + Retorno = True + Catch ex As Exception + + If ex.Message.Contains("CK_OC_OrdenesCompraDetalle_RetIVA_Total") Then + OnError("La retención de iva no coincide con su total", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + Else + OnError("Ocurrió un error al agregar el detalle de OrdenCompras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + + End Try + + Return Retorno + End Function + Public Function UpdateOrdenCompraDetalle(pCantidad As Double, pCveUnidadMedida As Integer, pCvePS As Integer, pImporte As Double, pCveSubProyecto As Integer, pCveActivoFijo As Integer, + pObservacion As String, pCveUsuario As Integer, pCveOrdenCompraDetalle As Integer, Optional CvePresupuestoEgreso As Integer = -1, Optional Descuento As Double = 0, + Optional IEPSPS As Double = 0, Optional IEPSPSIVA As Double = 0, Optional IVA As Double = 0, Optional RetIVA As Double = 0, Optional RetISR As Double = 0, Optional Total As Double = 0, + Optional CveContratoDetalle As Integer = -1, Optional IVAPorcentaje As Double = 0, Optional RetIVAPorcentaje As Double = 0, Optional RetISRPorcentaje As Double = 0, Optional IEPSPSPorcentaje As Double = 0, + Optional IEPSPSIVAPorcentaje As Double = 0) As Integer + Dim Retorno As Integer = -1 + + DataAdapter("PA_OC_OrdenesCompraDetalleUpdate") + + With SqlAdapter.SelectCommand.Parameters + '.Add("@pCveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra + .Add("@Cantidad", SqlDbType.Float).Value = pCantidad + .Add("@CveUnidadMedida", SqlDbType.Int).Value = pCveUnidadMedida + .Add("@CvePS", SqlDbType.Int).Value = pCvePS + .Add("@Descuento", SqlDbType.Float).Value = Descuento + .Add("@Importe", SqlDbType.Float).Value = pImporte + .Add("@CveSubProyecto", SqlDbType.Int).Value = pCveSubProyecto + .Add("@CveOrdenCompraDetalle", SqlDbType.Int).Value = pCveOrdenCompraDetalle + .Add("@CveActivoFijo", SqlDbType.Int).Value = pCveActivoFijo + .Add("@Observacion", SqlDbType.VarChar).Value = pObservacion + .Add("@CvePresupuestoEgreso", SqlDbType.Int).Value = CvePresupuestoEgreso + .Add("@CveUsuario", SqlDbType.Int).Value = pCveUsuario + .Add("@IEPSPS", SqlDbType.Money).Value = IEPSPS + .Add("@IEPSPSIVA", SqlDbType.Money).Value = IEPSPSIVA + .Add("@IVA", SqlDbType.Float).Value = IVA + .Add("@RetIVA", SqlDbType.Float).Value = RetIVA + .Add("@RetISR", SqlDbType.Float).Value = RetISR + .Add("@Total", SqlDbType.Float).Value = Total + .Add("@CveContratoDetalle", SqlDbType.Int).Value = CveContratoDetalle + .Add("@IVAPorcentaje", SqlDbType.Float).Value = IVAPorcentaje + .Add("@RetIVAPorcentaje", SqlDbType.Float).Value = RetIVAPorcentaje + .Add("@RetISRPorcentaje", SqlDbType.Float).Value = RetISRPorcentaje + .Add("@IEPSPSPorcentaje", SqlDbType.Float).Value = IEPSPSPorcentaje + .Add("@IEPSPSIVAPorcentaje", SqlDbType.Float).Value = IEPSPSIVAPorcentaje + End With + + Try + SqlAdapter.Fill(Data) + Retorno = pCveOrdenCompraDetalle + Catch ex As SqlException + If ex.Number = 2627 Then + Alert("La Clave o Descripción del OrdenCompra ya existe.", TipoMensaje.MsgAdvertencia) + Else + OnError("Ocurrió un error al editar la OrdenCompra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + Catch ex As Exception + OnError("Ocurrió un error al editar la OrdenCompra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function RemoveOrdenCompraDetalle(ByVal pCveOrdenCompraDetalle As Integer, CveUsuarioModifico As Integer) As Boolean + Dim OnError As Boolean = False + DataAdapter("PA_OC_OrdenesCompraDetalleRemove") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOrdenCompraDetalle", SqlDbType.Int).Value = pCveOrdenCompraDetalle + .Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico + End With + + Try + SqlAdapter.Fill(Data) + OnError = True + Catch ex As Exception + Me.OnError("Ocurrió un error al eliminar detalle de orden de compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return OnError + End Function + Public Function OrdenesCompraDetalleCostoPP(CveOrdenCompraDetalle As Integer) As Boolean + Dim OnError As Boolean = False + DataAdapter("PA_OC_OrdenesCompraDetalleCostoPP") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOCDetalle", SqlDbType.Int).Value = CveOrdenCompraDetalle + End With + + Try + SqlAdapter.Fill(Data) + OnError = True + Catch ex As Exception + Me.OnError("Ocurrió un error al obtener el costo de la orden de compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return OnError + End Function + +#End Region + +#Region " O R D E N E S - D E - C O M P R A - E S T A T U S" + Public Function GetEstatus() As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OC_EstatusGet") + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener el Catálogo de Estatus de Ordenes de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function AddEstatus(Estatus As String, Tipo As String, CveEstatusSiguiente As Integer, TipoTermino As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_EstatusAdd") + + With SqlAdapter.SelectCommand.Parameters + .Add("@Estatus", SqlDbType.VarChar).Value = Estatus + .Add("@Tipo", SqlDbType.VarChar).Value = Tipo + .Add("@CveEstatusSiguiente", SqlDbType.Int).Value = CveEstatusSiguiente + .Add("@TipoTermino", SqlDbType.Int).Value = TipoTermino + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch Ex1 As SqlException + If Ex1.Message.Contains("Número: 2627;") Then + Alert("Ya existe un Estatus con el mismo nombre: " & Estatus & ".", TipoMensaje.MsgAdvertencia) + Else + Me.OnError("Ocurrió un error al Guardar el Estatus de Ordenes de Compra.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + Catch ex As Exception + OnError("Ocurrió un error al Guardar el Estatus", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function + Public Function UpdateEstatus(Estatus As String, Tipo As String, CveEstatusSiguiente As Integer, TipoTermino As Integer, EstatusActivo As Boolean, EsCancelable As Boolean, CveEstatus As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_EstatusUpdate") + + With SqlAdapter.SelectCommand.Parameters + .Add("@Estatus", SqlDbType.VarChar).Value = Estatus + .Add("@Tipo", SqlDbType.VarChar).Value = Tipo + .Add("@CveEstatusSiguiente", SqlDbType.Int).Value = CveEstatusSiguiente + .Add("@TipoTermino", SqlDbType.Int).Value = TipoTermino + .Add("@EsCancelable", SqlDbType.Bit).Value = EsCancelable + .Add("@EstatusActivo", SqlDbType.Bit).Value = EstatusActivo + .Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch Ex1 As SqlException + If Ex1.Message.Contains("Número: 2627;") Then + Alert("Ya existe un Estatus con el mismo nombre: " & Estatus & ".", TipoMensaje.MsgAdvertencia) + Else + Me.OnError("Ocurrió un error al guardar los cambios en el Estatus", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + Catch ex As Exception + OnError("Ocurrió un error al guardar los cambios en el Estatus de Ordenes de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function + Public Function RemoveEstatus(CveEstatus As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_EstatusRemove") + + SqlAdapter.SelectCommand.Parameters.Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus + + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch Ex1 As SqlException + If Ex1.Message.Contains("Número: 547;") Then + Alert("El Estatus no se pudo eliminar porque está siendo usado por un registro.", TipoMensaje.MsgAdvertencia) + Else + Me.OnError("Ocurrió un error al eliminar el Estatus de Ordenes de Compra.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + Catch ex As Exception + Me.OnError("Ocurrió un error al eliminar el Estatus de Ordenes de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + +#End Region + +#Region " O R D E N E S - D E - C O M P R A - E S T A T U S - U S U A R I O S" + Public Function GetEstatusUsuarios(CveUsuario As Integer, CveEstatus As Integer, CveSubProyecto As Integer, CveOrdenCompra As Integer, CveEmpresa As Integer, Optional CveEstatusUsuarios As Integer = -1, Optional Estatus As Integer = -1) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OC_EstatusUsuariosGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEstatusUsuarios", SqlDbType.Int).Value = CveEstatusUsuarios + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@Estatus", SqlDbType.Int).Value = Estatus + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener el Catálogo de Estatus de Usuarios para Ordenes de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function AddEstatusUsuarios(CveEstatus As Integer, CveSubProyecto As Integer, CveUsuario As Integer, Estatus As Boolean, Optional CveSuperior As Integer = -1, Optional LimiteSuperior As Decimal = -1, Optional LimiteInferior As Decimal = -1, Optional CveUsuarioModifico As Integer = -1) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_EstatusUsuariosAdd") + 'SqlAdapter.SelectCommand.CommandTimeout = 180 + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CveSuperior", SqlDbType.Int).Value = CveSuperior + .Add("@LimiteSuperior", SqlDbType.Money).Value = LimiteSuperior + .Add("@LimiteInferior", SqlDbType.Money).Value = LimiteInferior + .Add("@Estatus", SqlDbType.Bit).Value = Estatus.ToEntero + .Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + 'SqlAdapter.SelectCommand.CommandTimeout = 30 + Catch Ex1 As SqlException + If Ex1.Message.Contains("Número: 2627;") Then + Alert("Ya existe un Estatus con el mismo nombre: " & Estatus & ".", TipoMensaje.MsgAdvertencia) + Else + Me.OnError("Ocurrió un error al Guardar el Estatus de Usuario para Ordenes de Compra.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + Catch ex As Exception + OnError("Ocurrió un error al Guardar el Estatus de Usuario para Ordenes de Compra", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function + Public Function UpdateEstatusUsuarios(CveEstatusUsuarios As Integer, CveSuperior As Integer, LimiteSuperior As Decimal, LimiteInferior As Decimal) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_EstatusUsuariosUpdate") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEstatusUsuarios", SqlDbType.Int).Value = CveEstatusUsuarios + .Add("@CveSuperior", SqlDbType.Int).Value = CveSuperior + .Add("@LimiteSuperior", SqlDbType.Decimal).Value = LimiteSuperior + .Add("@LimiteInferior", SqlDbType.Decimal).Value = LimiteInferior + + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch Ex1 As SqlException + If Ex1.Message.Contains("Número: 2627;") Then + Alert("Ya existe un Estatus con el mismo nombre. ", TipoMensaje.MsgAdvertencia) + Else + Me.OnError("Ocurrió un error al guardar los cambios en el Estatus", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + Catch ex As Exception + OnError("Ocurrió un error al guardar los cambios en el Estatus de Ordenes de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function + Public Function RemoveEstatusUsuarios(CveEstatusUsuarios As Integer, Optional CveUsuarioModifico As Integer = -1) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_EstatusUsuariosRemove") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEstatusUsuarios", SqlDbType.Int).Value = CveEstatusUsuarios + .Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico + + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch Ex1 As SqlException + If Ex1.Message.Contains("Número: 547;") Then + Alert("El Estatus no se pudo eliminar porque está siendo usado por un registro.", TipoMensaje.MsgAdvertencia) + Else + Me.OnError("Ocurrió un error al eliminar el Estatus de Usuario para Ordenes de Compra.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + Catch ex As Exception + Me.OnError("Ocurrió un error al eliminar el Estatus de Usuario para Ordenes de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + +#End Region + +#Region " O R D E N E S - D E - C O M P R A - E S T A T U S - U S U A R I O - T E M P" + 'Public Function CreateEstatusUsuarioTemporal() As Boolean + ' Dim Retorno As Boolean = False + ' DataAdapter("PA_OC_TempEstatusUsuarioCreate") + ' Try + ' SqlAdapter.Fill(Data) + ' Retorno = True + ' Catch ex As Exception + ' OnError("Ocurrió un error al Crear la tabla temporal", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + ' End Try + ' Return Retorno + 'End Function + 'Public Function DeleteEstatusUsuarioTemporal() As Boolean + ' Dim Retorno As Boolean = False + ' DataAdapter("PA_OC_TempEstatusUsuarioDelete") + ' Try + ' SqlAdapter.Fill(Data) + ' Retorno = True + ' Catch ex As Exception + ' OnError("Ocurrió un error al eliminar la tabla temporal", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + ' End Try + ' Return Retorno + 'End Function + Public Function GetEstatusUsuarioTemporal(CveUsuario As Integer, CveEstatus As Integer, CveSubProyecto As Integer, CveEmpresa As Integer, Optional CveEstatusUsuarios As Integer = -1) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OC_TempEstatusUsuarioGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEstatusUsuarios", SqlDbType.Int).Value = CveEstatusUsuarios + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener el Catálogo de Estatus de Usuarios para Ordenes de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + 'Public Function AddEstatusUsuarioTemporal(CveEstatus As Integer, CveSubProyecto As Integer, CveUsuario As Integer, Estatus As Boolean, Optional CveSuperior As Integer = -1, Optional LimiteSuperior As Decimal = -1, Optional LimiteInferior As Decimal = -1) As Boolean + ' Dim Retorno As Boolean = False + + ' DataAdapter("PA_OC_TempEstatusUsuarioAdd") + ' 'SqlAdapter.SelectCommand.CommandTimeout = 180 + ' With SqlAdapter.SelectCommand.Parameters + ' .Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus + ' .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + ' .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + ' .Add("@CveSuperior", SqlDbType.Int).Value = CveSuperior + ' .Add("@LimiteSuperior", SqlDbType.Money).Value = LimiteSuperior + ' .Add("@LimiteInferior", SqlDbType.Money).Value = LimiteInferior + ' .Add("@Estatus", SqlDbType.Bit).Value = Estatus.ToEntero + ' End With + + ' Try + ' SqlAdapter.Fill(Data) + ' Retorno = True + ' 'SqlAdapter.SelectCommand.CommandTimeout = 30 + ' Catch Ex1 As SqlException + ' If Ex1.Message.Contains("Número: 2627;") Then + ' Alert("Ya existe un Estatus con el mismo nombre: " & Estatus & ".", TipoMensaje.MsgAdvertencia) + ' Else + ' Me.OnError("Ocurrió un error al Guardar el Estatus de Usuario para Ordenes de Compra.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + ' End If + ' Catch ex As Exception + ' OnError("Ocurrió un error al Guardar el Estatus de Usuario para Ordenes de Compra", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + ' End Try + + ' Return Retorno + 'End Function + 'Public Function UpdateEstatusUsuarioTemporal(CveEstatusUsuarios As Integer, CveSuperior As Integer, LimiteSuperior As Decimal, LimiteInferior As Decimal) As Boolean + ' Dim Retorno As Boolean = False + + ' DataAdapter("PA_OC_TempEstatusUsuarioUpdate") + + ' With SqlAdapter.SelectCommand.Parameters + ' .Add("@CveEstatusUsuarios", SqlDbType.Int).Value = CveEstatusUsuarios + ' .Add("@CveSuperior", SqlDbType.Int).Value = CveSuperior + ' .Add("@LimiteSuperior", SqlDbType.Decimal).Value = LimiteSuperior + ' .Add("@LimiteInferior", SqlDbType.Decimal).Value = LimiteInferior + ' End With + + ' Try + ' SqlAdapter.Fill(Data) + ' Retorno = True + ' Catch Ex1 As SqlException + ' If Ex1.Message.Contains("Número: 2627;") Then + ' Alert("Ya existe un Estatus con el mismo nombre. ", TipoMensaje.MsgAdvertencia) + ' Else + ' Me.OnError("Ocurrió un error al guardar los cambios en el Estatus", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + ' End If + ' Catch ex As Exception + ' OnError("Ocurrió un error al guardar los cambios en el Estatus de Ordenes de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + ' End Try + + ' Return Retorno + 'End Function + 'Public Function RemoveEstatusUsuarioTemporal(CveEstatusUsuarios As Integer) As Boolean + ' Dim Retorno As Boolean = False + + ' DataAdapter("PA_OC_TempEstatusUsuarioRemove") + + ' SqlAdapter.SelectCommand.Parameters.Add("@CveEstatusUsuarios", SqlDbType.Int).Value = CveEstatusUsuarios + + + ' Try + ' SqlAdapter.Fill(Data) + ' Retorno = True + ' Catch Ex1 As SqlException + ' If Ex1.Message.Contains("Número: 547;") Then + ' Alert("El Estatus no se pudo eliminar porque está siendo usado por un registro.", TipoMensaje.MsgAdvertencia) + ' Else + ' Me.OnError("Ocurrió un error al eliminar el Estatus de Usuario para Ordenes de Compra.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + ' End If + ' Catch ex As Exception + ' Me.OnError("Ocurrió un error al eliminar el Estatus de Usuario para Ordenes de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + ' End Try + + ' Return Retorno + 'End Function +#End Region + + Public Function GetOrdenesCompraRep(Tipo As String, CveProyecto As Integer, CveSubProyecto As Integer, CveClasificacion As Integer, CveEstatus As Integer, + FechaInicio As Date, FechaFin As Date, CveOrdenCompra As Integer, CveProveedor As Integer, Folio As Integer, CveUsuarioRegistro As Integer, CveUsuario As Integer, CveEmpresa As Integer, CvePS As Integer, Optional PendientePorSurtir As Boolean = False, Optional CveCliente As Integer = -1, Optional Guia As String = "-1", Optional CveActivoFijo As Integer = -1, + Optional SoloSubProyectosConPermiso As Boolean = False) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OrdenesCompraRep") + + With SqlAdapter.SelectCommand.Parameters + .Add("@Tipo", SqlDbType.VarChar).Value = Tipo + .Add("@CveProyecto", SqlDbType.Int).Value = CveProyecto + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus + .Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio + .Add("@FechaFin", SqlDbType.Date).Value = FechaFin + .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra + .Add("@CveUsuarioRegistro", SqlDbType.Int).Value = CveUsuarioRegistro + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@Folio", SqlDbType.Int).Value = Folio + .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion + .Add("@CvePS", SqlDbType.Int).Value = CvePS + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@PendientePorSurtir", SqlDbType.Bit).Value = PendientePorSurtir + .Add("@Guia", SqlDbType.VarChar).Value = Guia + .Add("@CveActivoFijo", SqlDbType.Int).Value = CveActivoFijo + .Add("@SoloSubProyectosConPermiso", SqlDbType.Bit).Value = SoloSubProyectosConPermiso + + End With + + Try + SqlAdapter.Fill(Data) + + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener Ordenes de Compras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function GetOrdenesCompraRepReqXOC(Folio As Integer, FechaInicio As String, FechaFin As String, CveProveedor As Integer, CveVendedor As Integer, CveCliente As Integer, CveEmpresa As Integer, Grupo As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OrdenesCompraReqXOC") + + With SqlAdapter.SelectCommand.Parameters + .Add("@Folio", SqlDbType.Int).Value = Folio + .Add("@FechaInicio", SqlDbType.VarChar).Value = FechaInicio + .Add("@FechaFin", SqlDbType.VarChar).Value = FechaFin + .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor + .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@Grupo", SqlDbType.Int).Value = Grupo + + End With + + Try + SqlAdapter.Fill(Data) + + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener el reporte de requisiciones.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function GetOrdenesCompraCorreo(CveCompra As Integer, Optional CveMovimiento As Integer = -1) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OrdenesCompraCorreosGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveCompra", SqlDbType.Int).Value = CveCompra + .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento + End With + + Try + SqlAdapter.Fill(Data) + + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los correos de Ordenes de Compras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function GetComprasOC(CveCompra As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OrdenesCompraFoliosGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveCompra", SqlDbType.Int).Value = CveCompra + End With + + Try + SqlAdapter.Fill(Data) + + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los correos de Ordenes de Compras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function GetOrdenesCompraMovimiento(CveCompra As Integer, Optional CveMovimiento As Integer = -1) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OrdenesCompraPSGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveCompra", SqlDbType.Int).Value = CveCompra + .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento + End With + + Try + SqlAdapter.Fill(Data) + + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los movimientos de Ordenes de Compras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function GetOrdenesPendientes(pTipo As String, pTipoBusqueda As Integer, pCveEmpresa As Integer, pCveProyecto As Integer, pCveSubProyecto As Integer, pCveEstatusCompra As Integer, + pCveUsuario As Integer, CveCliente As Integer, Optional SoloSubProyectosConPermiso As Boolean = False) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OrdenesCompraPendientes") + + With SqlAdapter.SelectCommand.Parameters + .Add("@Tipo", SqlDbType.VarChar).Value = pTipo + .Add("@CveEmpresa", SqlDbType.Int).Value = pCveEmpresa + .Add("@CveProyecto", SqlDbType.Int).Value = pCveProyecto + .Add("@CveSubProyecto", SqlDbType.Int).Value = pCveSubProyecto + .Add("@CveEstatus", SqlDbType.Int).Value = pCveEstatusCompra + .Add("@CveUsuario", SqlDbType.Int).Value = pCveUsuario + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@TipoBusqueda", SqlDbType.Int).Value = pTipoBusqueda + .Add("@SoloSubProyectosConPermiso", SqlDbType.Bit).Value = SoloSubProyectosConPermiso + End With + + Try + SqlAdapter.Fill(Data) + + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener Ordenes de Compras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function GetCompras(ByVal pCveEmpresa As Integer, ByVal pCveProyecto As Integer, pCveSubProyecto As Integer, pCveClasificacion As Integer, pCveEstatusCompras As String, + pFechaInicio As Date, pFechaFin As Date, pCveOrdenCompra As Integer, pCveUsuario As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OrdenesCompraRepCompras") + + With SqlAdapter.SelectCommand.Parameters + .Add("@pCveEmpresa", SqlDbType.Int).Value = pCveEmpresa + .Add("@pCveProyecto", SqlDbType.Int).Value = pCveProyecto + .Add("@pCveSubProyecto", SqlDbType.Int).Value = pCveSubProyecto + .Add("@pCveClasificacion", SqlDbType.Int).Value = pCveClasificacion + .Add("@pCveEstatusCompra", SqlDbType.Int).Value = pCveEstatusCompras + .Add("@pFechaInicio", SqlDbType.Date).Value = pFechaInicio + .Add("@pFechaFin", SqlDbType.Date).Value = pFechaFin + .Add("@pCveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra + .Add("@pCveUsuario", SqlDbType.Int).Value = pCveUsuario + End With + + Try + SqlAdapter.Fill(Data) + + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener Ordenes de Compras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function UpdateOrdenCompraEstatus(pCveEstatus As Integer, pCveOrdenCompra As Integer, pCveUsuario As Integer, pMotivo As String, Optional pCveCompra As Integer = -1) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OrdenesCompraEstatusUpdate") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEstatus", SqlDbType.Int).Value = pCveEstatus + .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra + .Add("@CveUsuario", SqlDbType.Int).Value = pCveUsuario + .Add("@Motivo", SqlDbType.VarChar, 500).Value = pMotivo + .Add("@CveCompra", SqlDbType.Int).Value = pCveCompra + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al cambiar el estatus de la OrdenCompra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function UpdateOrdenCompraCompletada(pCveEstatus As Integer, pCveOrdenCompra As Integer, pCveUsuario As Integer, pMotivo As String, Optional pCveCompra As Integer = -1) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OrdenesCompraCompletadas") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEstatus", SqlDbType.Int).Value = pCveEstatus + .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra + .Add("@CveUsuario", SqlDbType.Int).Value = pCveUsuario + .Add("@Motivo", SqlDbType.VarChar, 500).Value = pMotivo + .Add("@CveCompra", SqlDbType.Int).Value = pCveCompra + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al cambiar el estatus de la OrdenCompra Completada.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function UpdateOrdenCompraDetalleProveedor(pCveOrdenCompraDetalle As Integer, pCveProveedor As Integer, pCveCotizacion As Integer) As Integer + Dim Retorno As Integer = -1 + + DataAdapter("BEGIN UPDATE OC_OrdenesCompraDetalle SET CveProveedor = @pCveProveedor WHERE CveOrdenCompraDetalle = @pCveOrdenCompraDetalle; UPDATE OC_CotizacionesDetalle SET Ganador = 1 WHERE CveCotizacion = @pCveCotizacion AND CveOrdenCompraDetalle = @pCveOrdenCompraDetalle; END", CommandType.Text) + + With SqlAdapter.SelectCommand.Parameters + + .Add("@pCveOrdenCompraDetalle", SqlDbType.Int).Value = pCveOrdenCompraDetalle + .Add("@pCveProveedor", SqlDbType.Int).Value = pCveProveedor + .Add("@pCveCotizacion", SqlDbType.Int).Value = pCveCotizacion + + End With + + Try + SqlAdapter.Fill(Data) + + Retorno = pCveOrdenCompraDetalle + Catch ex As Exception + OnError("Ocurrió un error al actualizar el proveedor a la OrdenCompra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function GetOrdenesHistorial(pCveOrdenCompra As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OrdenesCompraHistorialGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener el historial de OrdenCompras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function GetOrdenesEstatus(pCveOrdenCompra As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OrdenesCompraEstatusGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener el estatus de OrdenCompra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function GetOrdenesEstatusHistorial(pCveOrdenCompra As Integer) As DataTable + + DataAdapter("PA_OC_OrdenesCompraEstatusHistorialGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra + End With + + Try + SqlAdapter.Fill(Data) + + Catch ex As Exception + OnError("Ocurrió un error al obtener los estatus de OrdenesCompras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Data + End Function + + Public Function GetOCIncompletaDetalle(CveEmpresa As Integer, Optional CveOrdenCompra As Integer = -1, Optional CveProveedor As Integer = -1) As Boolean + Dim retorno As Boolean = False + StrSQL.Clear() + StrSQL.Append("SELECT OCD.CveOrdenCompra, OCD.Cantidad CantidadOrden, CD.Cantidad CantidadCompra, OCD.Cantidad - CD.Cantidad CantidadPendiente, OC.Folio, ") + StrSQL.Append("OC.Fecha, P.RazonSocial, E.Estatus, PS.PS, OC.CveProveedor ") + StrSQL.Append("FROM OC_OrdenesCompraDetalle OCD ") + StrSQL.Append("INNER JOIN Comp_ComprasDetalles CD ON OCD.CveOrdenCompraDetalle = CD.CveCompraDetalle ") + StrSQL.Append("INNER JOIN OC_OrdenesCompra OC ON OCD.CveOrdenCompra = OC.CveOrdenCompra ") + StrSQL.Append("INNER JOIN Comp_Proveedores P ON OC.CveProveedor = P.CveProveedor ") + StrSQL.Append("INNER JOIN ProductosServicios PS ON OCD.CvePS = PS.CvePS ") + StrSQL.Append("INNER JOIN OC_Estatus E ON OC.CveEstatus = E.CveEstatus ") + StrSQL.Append("WHERE OCD.CveOrdenCompraDetalle = CD.CveCompraDetalle AND OCD.Cantidad != CD.Cantidad ") + StrSQL.Append("AND (@CveOrdenCompra = -1 OR @CveOrdenCompra = OCD.CveOrdenCompra) ") + StrSQL.Append("AND (@CveEmpresa = -1 OR @CveEmpresa = OC.CveEmpresa) ") + StrSQL.Append("AND (@CveProveedor = -1 OR @CveProveedor = OC.CveProveedor) ") + StrSQL.Append("ORDER BY OC.Folio ") + + DataAdapter(StrSQL.ToString, CommandType.Text) + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor + + End With + + + Try + SqlAdapter.Fill(Data) + retorno = True + Catch ex As Exception + OnError("Ocurrió un error al consultar Ordenes de Compra", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return retorno + + + + End Function + +#Region " OC FACTURA " + Public Function GetOCSinFactura(CveSubProyecto As Integer, CveVendedor As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OC_PendientesFacturar") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener el Catálogo de Ordenes de Compra Sin Factura.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function GetOCFacturacion(pCveOrdenCompra As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno = False + + DataAdapter("PA_OC_OrdenesCompraFacturacionGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOrdenCompra", SqlDbType.Int).Value = pCveOrdenCompra + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los detalles de la Orden de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function +#End Region + +#Region " OC POR SEMANA " + Public Function RepOCCount(FechaInicio As Date, FechaFin As Date, CveUsuario As Integer, Cveempresa As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OrdenesCompraRepCount") + + With SqlAdapter.SelectCommand.Parameters + .Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio + .Add("@FechaFin", SqlDbType.Date).Value = FechaFin + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CveEmpresa", SqlDbType.Int).Value = Cveempresa + End With + + Try + SqlAdapter.Fill(Data) + + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener Ordenes de Compras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function +#End Region + +#Region " OC CLASIFICACIONES " + + Public Function GetEstatusUsuariosClasificaciones(CveEstatusUsuarios As Integer, CveUsuario As Integer, CveSubProyecto As Integer, CveClasificacion As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OC_EstatusUsuariosClasificacionesGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEstatusUsuarios", SqlDbType.Int).Value = CveEstatusUsuarios + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener el Catálogo de Estatus de Usuarios Clasificaciones para Ordenes de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function AddEstatusUsuariosClasificaciones(CveEstatusUsuarios As Integer, CveClasificacion As Integer, CveSuperior As Integer, LimiteInferior As Decimal, LimiteSuperior As Decimal, CveUsuarioModifico As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_EstatusUsuariosClasificacionesAdd") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEstatusUsuarios", SqlDbType.Int).Value = CveEstatusUsuarios + .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion + .Add("@CveSuperior", SqlDbType.Int).Value = CveSuperior + .Add("@LimiteSuperior", SqlDbType.Money).Value = LimiteSuperior + .Add("@LimiteInferior", SqlDbType.Money).Value = LimiteInferior + .Add("@CveUsuarioModifico", SqlDbType.Bit).Value = CveUsuarioModifico + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch Ex1 As SqlException + If Ex1.Message.Contains("Número: 2627;") Then + Alert("Ya existe un Estatus con los mismos valores", TipoMensaje.MsgAdvertencia) + Else + Me.OnError("Ocurrió un error al Guardar el Estatus de Usuario Clasificaciones para Ordenes de Compra.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + Catch ex As Exception + OnError("Ocurrió un error al Guardar el Estatus de Usuario Clasificaciones para Ordenes de Compra", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function + Public Function UpdateEstatusUsuariosClasificaciones(CveEstatusUsuariosClasificacion As Integer, CveClasificacion As Integer, CveSuperior As Integer, LimiteInferior As Decimal, LimiteSuperior As Decimal, CveUsuarioModifico As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_EstatusUsuariosClasificacionesUpdate") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEstatusUsuariosClasificacion", SqlDbType.Int).Value = CveEstatusUsuariosClasificacion + .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion + .Add("@CveSuperior", SqlDbType.Int).Value = CveSuperior + .Add("@LimiteSuperior", SqlDbType.Money).Value = LimiteSuperior + .Add("@LimiteInferior", SqlDbType.Money).Value = LimiteInferior + .Add("@CveUsuarioModifico", SqlDbType.Bit).Value = CveUsuarioModifico + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch Ex1 As SqlException + If Ex1.Message.Contains("Número: 2627;") Then + Alert("Ya existe un Estatus con los mismos valores. ", TipoMensaje.MsgAdvertencia) + Else + Me.OnError("Ocurrió un error al guardar los cambios en el Estatus de Usuario Clasificaciones para Ordenes de Compra", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + Catch ex As Exception + OnError("Ocurrió un error al guardar los cambios en el Estatus de Usuario Clasificaciones para Ordenes de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function + Public Function RemoveEstatusUsuariosClasificaciones(CveEstatusUsuariosClasificacion As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_EstatusUsuariosClasificacionesRemove") + + SqlAdapter.SelectCommand.Parameters.Add("@CveEstatusUsuariosClasificacion", SqlDbType.Int).Value = CveEstatusUsuariosClasificacion + + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch Ex1 As SqlException + If Ex1.Message.Contains("Número: 547;") Then + Alert("El Estatus no se pudo eliminar porque está siendo usado por un registro.", TipoMensaje.MsgAdvertencia) + Else + Me.OnError("Ocurrió un error al eliminar el Estatus de Usuario Clasificaciones para Ordenes de Compra.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + Catch ex As Exception + Me.OnError("Ocurrió un error al eliminar el Estatus de Usuario Clasificaciones para Ordenes de Compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + +#End Region + +#Region " OC X VINCULAR COMPRA " + Public Function GetPendietePorSurtirOC(FechaI As String, FechaF As String, CveProveedor As Integer, Folio As Integer, CveSubProyecto As Integer, CveCliente As Integer, CveEmpresa As Integer, Optional CveOC As Integer = -1) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_ComprasPendientesPorSurtirGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor + .Add("@Folio", SqlDbType.Int).Value = Folio + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@FechaI", SqlDbType.VarChar).Value = FechaI + .Add("@FechaF", SqlDbType.VarChar).Value = FechaF + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveOC", SqlDbType.Int).Value = CveOC + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener Ordenes de compra pendientes por surtir.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function GetOCVinculadasPendientes(CveOCDetalle As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_OCVinculadas") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOCDetalle", SqlDbType.Int).Value = CveOCDetalle + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener Ordenes de compra pendientes por surtir.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function +#End Region + +#Region "P y M E" + + Public Function AddEstatusRequisicionesPredefinidas(CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OC_EstatusPredefinidosPyMEAdd") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + + Catch ex As Exception + OnError("Ocurrió un error al agregar los estatus de las requisiciones predefinidas.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function GetEstatusUsuariosPyME(CveUsuario As Integer, CveEstatus As Integer, CveSubProyecto As Integer, CveOrdenCompra As Integer, CveEmpresa As Integer, Optional CveEstatusUsuarios As Integer = -1) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OC_EstatusUsuariosPyMEGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEstatusUsuarios", SqlDbType.Int).Value = CveEstatusUsuarios + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener el Catálogo de Estatus de Usuarios para Ordenes de Compra en PyME.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + +#End Region + +#Region " SOLICITUD DE ANTICIPO " + Public Function GetSolicitudAnticipo(CveOC As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OC_SolicitudAnticipoGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOC", SqlDbType.Int).Value = CveOC + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener la solicitud de anticipo de la OC.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function GetSolicitudAnticipoUsuarios(CveOC As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OC_SolicitudAnticipoUsuarioGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOC", SqlDbType.Int).Value = CveOC + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener la solicitud de anticipo de la OC.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function AddSolicitudAnticipo(CveOrdenCompra As Integer, Importe As Double, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OC_SolicitudAnticipoAdd") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra + .Add("@Importe", SqlDbType.Money).Value = Importe + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al actualizar el estatus de solicitud anticipo de la OC.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function AddSolicitudAnticipoPago(CveOrdenCompra As Integer, CveIE As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OC_SolicitudAnticipoAddPago") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra + .Add("@CveIE", SqlDbType.Int).Value = CveIE + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al actualizar el estatus de solicitud anticipo de la OC.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + +#End Region + + Public Function GetUltimoCostoPS(CvePS As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OC_UltimoCostoPS") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CvePS", SqlDbType.Int).Value = CvePS + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener el último costo del producto.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function GetRepOCGuias(FechaI As String, FechaF As String, CveProveedor As Integer, CveVendedor As Integer, CveCliente As Integer, CveSubProyecto As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OC_RepOCGuiasGet") + + With SqlAdapter.SelectCommand.Parameters + + .Add("@FechaI", SqlDbType.VarChar).Value = FechaI + .Add("@FechaF", SqlDbType.VarChar).Value = FechaF + .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor + .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener el reporte de Ordenes de compra guias.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + +#Region " OC DETALLE - SALDOS [ SURTIDO INV | VINCULADO COMP ]" + Public Function OrdenesCompraDetalleSaldosInvCompraAdd(CveOCDetalle As Integer, CveInvDetalle As Integer, CantidadSurtida As Double, CveCompraDetalle As Integer, CantidadVinculada As Double) As Boolean + Dim Retorno As Boolean = False + DataAdapter("OC_OrdenesCompraDetalleSaldosInvCompraAdd") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOCDetalle", SqlDbType.Int).Value = CveOCDetalle + .Add("@CveInvDetalle", SqlDbType.Int).Value = CveInvDetalle + .Add("@CantidadSurtida", SqlDbType.Float).Value = CantidadSurtida + .Add("@CveCompraDetalle", SqlDbType.Int).Value = CveCompraDetalle + .Add("@CantidadVinculada", SqlDbType.Float).Value = CantidadVinculada + + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al agregar los saldos de (Inv/Compra) de la OC.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function +#End Region + +#Region "REP OC CON ANTICIPOS PENDIENTES" + Public Function GetOCAnticiposPendientes(CveEmpresa As Integer, CveUsuarioPara As Integer, CveProveedor As Integer, FechaI As Date, FechaF As Date) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OC_AnticiposPendientesGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveUsuarioPara", SqlDbType.Int).Value = CveUsuarioPara + .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor + .Add("@FechaI", SqlDbType.DateTime).Value = FechaI + .Add("@FechaF", SqlDbType.DateTime).Value = FechaF + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los anticipos pendientes.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function +#End Region +#Region "REP SOLICITUDES ANTICIPO" + Public Function GetRepSolicitudAnticipos(CveEmpresa As Integer, CveProveedor As Integer, FechaI As Date, FechaF As Date, CveEventoEstatus As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_RepSolicitudAnticipoGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor + .Add("@FechaI", SqlDbType.DateTime).Value = FechaI + .Add("@FechaF", SqlDbType.DateTime).Value = FechaF + .Add("@CveEventoEstatus", SqlDbType.Int).Value = CveEventoEstatus + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los anticipos pendientes.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function +#End Region + + + +#Region " IDisposable Support " + ' IDisposable + Protected Overridable Sub Dispose(ByVal disposing As Boolean) + If Not disposedValue Then + If disposing Then + SqlConexion.Close() + SqlConexion.Dispose() + If Not Data Is Nothing Then Data.Dispose() + If Not SqlAdapter Is Nothing Then SqlAdapter.Dispose() + + End If + End If + disposedValue = True + End Sub + Public Sub Dispose() Implements IDisposable.Dispose + ConexionClose() + Dispose(True) + GC.SuppressFinalize(Me) + End Sub +#End Region +End Class diff --git a/App_Code/ClsProductosServicios.vb b/App_Code/ClsProductosServicios.vb index c90639042..786b97c24 100644 --- a/App_Code/ClsProductosServicios.vb +++ b/App_Code/ClsProductosServicios.vb @@ -1345,7 +1345,27 @@ Public Class ClsProductosServicios Return Retorno End Function + Public Function UpdateAplicaSeccionAlmacen(CvePS As Integer, CveEmpresa As Integer, AplicaSeccionAlmacen As Boolean) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Gral_ProductosServiciosSeccionAlmacenUpdate") + With SqlAdapter.SelectCommand.Parameters + .Add("@CvePS", SqlDbType.Int).Value = CvePS + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@AplicaSeccionAlmacen", SqlDbType.Bit).Value = AplicaSeccionAlmacen + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch Ex1 As SqlException + + Catch ex As Exception + OnError("Ocurrió un error al actualizar aplica seccion almacen.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function Public Function GetMarcas(CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False diff --git a/App_Code/WS_PuntoVenta.vb b/App_Code/WS_PuntoVenta.vb index 2f1c60dac..9fd221fe0 100644 --- a/App_Code/WS_PuntoVenta.vb +++ b/App_Code/WS_PuntoVenta.vb @@ -1346,8 +1346,8 @@ Public Class WS_PuntoVenta Dim objInventario As New ClsInventarios Dim Respuesta As New RespuestaWS - If objInventario.GetSeccionesAlmacenes(-1) Then - Respuesta.Datos = objInventario.DtResultados.FiltraParametros(String.Format("CveEmpresa={0}", CveEmpresa)) + If objInventario.GetSeccionesAlmacenes(CveEmpresa, -1) Then + Respuesta.Datos = objInventario.DtResultados '.FiltraParametros(String.Format("CveEmpresa={0}", CveEmpresa)) Respuesta.Datos.TableName = "Inv_SeccionesAlmacenes" Respuesta.HuboError = False End If diff --git a/Global.asax b/Global.asax index 973a330a8..b39b1d880 100644 --- a/Global.asax +++ b/Global.asax @@ -193,8 +193,8 @@ 'I N V E N T A R I O S Dim Objinventarios As New ClsInventarios - If Objinventarios.GetAlmacenes(-1, -1, -1, -1) Then Application("GlobalDTAlmacen") = Objinventarios.DtResultados Else Application("GlobalDTAlmacen") = Nothing - If Objinventarios.GetSeccionesAlmacenes(-1) Then Application("GlobalDTSeccionAlmacen") = Objinventarios.DtResultados Else Application("GlobalDTSeccionAlmacen") = Nothing + If Objinventarios.GetAlmacenes(-1, -1, -1, -1) Then Application("GlobalDTAlmacen") = Objinventarios.DtResultados Else Application("GlobalDTAlmacen") = Nothing + If Objinventarios.GetSeccionesAlmacenes(-1, -1) Then Application("GlobalDTSeccionAlmacen") = Objinventarios.DtResultados Else Application("GlobalDTSeccionAlmacen") = Nothing If Objinventarios.GetTiposAlmacenes Then Application("GlobalDTTipoAlmacen") = Objinventarios.DtResultados Else Application("GlobalDTTipoAlmacen") = Nothing If Objinventarios.GetConceptos Then Application("GlobalDTInvConceptos") = Objinventarios.DtResultados Else Application("GlobalDTInvConceptos") = Nothing Objinventarios.Dispose() diff --git a/Inventarios/AjustesSeccionAlmacen.aspx b/Inventarios/AjustesSeccionAlmacen.aspx new file mode 100644 index 000000000..9efda2629 --- /dev/null +++ b/Inventarios/AjustesSeccionAlmacen.aspx @@ -0,0 +1,70 @@ +<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="AjustesSeccionAlmacen.aspx.vb" Inherits="Inventarios_AjustesSeccionAlmacen" %> + + + + + + + Ajustes de Productos en Secciones de Almacen + + + + + + + + + + +
+
+
+ +
+
+ + +
+ +
+ + +
+ +
+ +
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + diff --git a/Inventarios/AjustesSeccionAlmacen.aspx.vb b/Inventarios/AjustesSeccionAlmacen.aspx.vb new file mode 100644 index 000000000..0e11ceb67 --- /dev/null +++ b/Inventarios/AjustesSeccionAlmacen.aspx.vb @@ -0,0 +1,144 @@ + +Imports System.Data +Imports Extensiones + +Partial Class Inventarios_AjustesSeccionAlmacen + Inherits ClsPaginas + + Private Sub Inventarios_AjustesSeccionAlmacen_Load(sender As Object, e As EventArgs) Handles Me.Load + If Not Page.IsPostBack Then + CargaCombos() + End If + End Sub + + Private Sub CargaCombos() + DdlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + DdlAlmacen.DataBind() + + DdlClasificaciones.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa) + DdlClasificaciones.DataBind() + DdlClasificaciones.Items.Insert(0, New ListItem("Todos", "-1")) + End Sub + + Private Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click + CargaDatos() + End Sub + + Private Sub CargaDatos() + Dim ObjInv As New ClsInventarios + + If ObjInv.GetMovimientosDetalleSeccionesAlmacen(DdlAlmacen.SelectedValue.ToEntero, DdlClasificaciones.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then + GvD.DataSource = ObjInv.DtResultados + End If + + ObjInv.Dispose() + GvD.DataBind() + UppD.Update() + End Sub + + Private Sub GvD_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvD.RowDataBound + If e.Row.RowType = DataControlRowType.DataRow Then + + e.Row.FCDropDownList("DDlS").DataSource = GlobalDTSeccionAlmacen(UsuarioActual.CveEmpresa, DdlAlmacen.SelectedValue.ToEntero) + e.Row.FCDropDownList("DDlS").DataBind() + + End If + End Sub + + Private Sub BtnCambiarSeccion_Click(sender As Object, e As EventArgs) Handles BtnCambiarSeccion.Click + Dim ObjInventario As New ClsInventarios + Dim ObjPS As New ClsProductosServicios(ObjInventario.IniciaTransacSQL) + Dim Dtt As DataTable = Nothing + Dim CveMovimientoEntrada As Integer = 0 + Dim Folio = 0 + Dim ErrorMovInv As Boolean = False + Dim TextoError = "" + Dim CveAlmacen As Integer = DdlAlmacen.SelectedValue.ToEntero + + + + Dim Fecha As Date = DateTime.Now + 'AGREGAMOS LA ENTRADA + Dim CveMovimientoSalida As Integer = ObjInventario.AddMovimiento(CveAlmacen, 3, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, + Observaciones:="", Modulo:="ASA/G1") + Folio = ObjInventario.Folio + + If CveMovimientoSalida <= 0 Then + TextoError = "No se pudo generar el movimiento de salida correctamente" + ErrorMovInv = True + Else + + Dim CveMovimientoDetalleEntrada As Integer = 0 + Dim Cont As Integer = 0 + For Each gvr As GridViewRow In GvD.Rows + + 'que este seleccionado y que tenga diferente seccion + If gvr.FCCheckBox("Chk").Checked AndAlso gvr.FCDropDownList("DDlS").SelectedValue.ToEntero <> gvr.DataKey("CveSeccionAlmacen").ToEntero Then + + If gvr.DataKey("CveSeccionAlmacen").ToEntero > 0 Then + ObjPS.UpdateAplicaSeccionAlmacen(gvr.DataKey("CvePS").ToEntero, UsuarioActual.CveEmpresa, True) + End If + + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, gvr.DataKey("Existencia").ToDecimal, gvr.DataKey("CveUM").ToEntero, gvr.DataKey("CvePS").ToEntero, 0, -1, CveSeccionAlmacen:=gvr.DataKey("CveSeccionAlmacen").ToEntero, Serie:=gvr.DataKey("Serie"), Lote:=gvr.DataKey("Lote"), FechaCaducidad:=gvr.DataKey("FechaCaducidad").ToDate) Then + ErrorMovInv = True + TextoError = "Ocurrió un error al guardar los movimientos de salida" + Exit For + End If + + End If + + Next + + If Not ErrorMovInv Then + + If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then + + Dim resultado As DataTable = ObjInventario.DtResultados + CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacen, 2, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:="", CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="ASA/G1") + Dim ind As Integer = 0 + + For Each Row As DataRow In resultado.Rows + Dim CvePS = Row("CvePS").ToString().ToEntero() + Dim Cantidad As Decimal = Row("Cantidad").ToString().ToDecimal() + Dim PU As Decimal = Row("PUOriginal").ToString().ToDecimal() + Dim CveUM As Integer = Row("CveUM").ToString().ToEntero() + Dim CveSeccionAlmacen As Integer = GvD.Rows(ind).FCDropDownList("DDlS").SelectedValue.ToEntero ' IfNull(Row("CveSeccionAlmacen"), "-1").ToString().ToEntero() + Dim CostoIndirecto As Decimal = Row("CostoIndirecto").ToString().ToDecimal() + Dim Serie As String = Row("Serie").ToString() + Dim Lote As String = Row("Lote").ToString() + Dim FechaCaducidad As Date = IfNull(Row("FechaCaducidad"), MinFecha).ToString.ToDate + + 'actualizamos el PS, para que tenga el aplica seccion + + ObjPS.UpdateAplicaSeccionAlmacen(Row("CvePS").ToString().ToEntero(), UsuarioActual.CveEmpresa, True) + + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Cantidad, CveUM, CvePS, PU, -1, CostoIndirecto:=CostoIndirecto, CveSeccionAlmacen:=CveSeccionAlmacen, Lote:=Lote, Serie:=Serie, FechaCaducidad:=FechaCaducidad, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then + ErrorMovInv = True + Exit For + End If + ind += 1 + Next + resultado.Dispose() + + Else + TextoError = "No se pudo registrar el movimiento" + ErrorMovInv = True + End If + + End If + + End If + + + If Not ErrorMovInv Then + ObjInventario.Commit() + cargadatos + Alert("El Movimiento quede registrado correctamente", TipoMensaje.MsgInformacion) + Else + ObjInventario.RollBack() + Alert("Ocurrio un error al registrar el movimiento", TipoMensaje.MsgError) + End If + + ObjInventario.Dispose() + End Sub +End Class diff --git a/Inventarios/Apartados.aspx b/Inventarios/Apartados.aspx index 011ed8251..37846e8bc 100644 --- a/Inventarios/Apartados.aspx +++ b/Inventarios/Apartados.aspx @@ -86,9 +86,8 @@
- - - + +
@@ -210,6 +209,12 @@
- - - - - - - - - - - - - - - + + @@ -695,64 +690,6 @@ - <%--SECCION DE ALMACEN--%> - - <%--AGREGAR POR SERIE LOTE--%> + +
> +
+ + +
+ +
+
+
+
+ + +
+
+
+ " style="display: inline-block; width: 150px;" /> + " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + <%----%> + + + + + + + + diff --git a/Inventarios/ResguardoMaterial.aspx b/Inventarios/ResguardoMaterial.aspx index fcdf5d98c..b1085efd1 100644 --- a/Inventarios/ResguardoMaterial.aspx +++ b/Inventarios/ResguardoMaterial.aspx @@ -273,7 +273,7 @@ - + ss @@ -475,7 +475,7 @@ - + xx @@ -496,76 +496,6 @@ - <%--SECCION DE ALMACEN--%> - - - - diff --git a/Inventarios/ResguardoMaterial.aspx.vb b/Inventarios/ResguardoMaterial.aspx.vb index 723cf5821..054faab06 100644 --- a/Inventarios/ResguardoMaterial.aspx.vb +++ b/Inventarios/ResguardoMaterial.aspx.vb @@ -176,8 +176,6 @@ Partial Class Inventarios_ResguardoMaterial CantidadTotal = 0 IndexSeccionAlmacen = 0 CvePS = 0 - CreaDtSeccionAlmacen() - CargaDdlAlmacen() TipoSeccionAlmacen = 0 End Sub @@ -783,16 +781,6 @@ Partial Class Inventarios_ResguardoMaterial MensajeError = "Ocurrió un error al guardar los detalles del movimiento de salida. Por favor vuelva a intentar." TieneError = True Exit For - Else - If ObjInventario.CveMovimientoDetalle > 0 AndAlso DtSeccionAlmacen.Rows.Count > 0 Then - For Each Dr2 As DataRow In DtSeccionAlmacen.FiltraParametros($"IndexSeccionAlmacen = {Cont} AND TipoSeccionAlmacen = 1").Rows - If Not ObjInventario.AddMovimientosDetalleSeccionesAlmacen(ObjInventario.CveMovimientoDetalle, Dr2("CveSeccionAlmacenOrigen").ToString.ToEntero, -Dr2("CantidadSeccionAlmacen").ToString.ToDecimal) Then - TieneError = True - MensajeError = "Ocurrió un error al procesar las secciones de almacen. Por favor vuelva a intentar." - Exit For - End If - Next - End If End If Cont += 1 Next @@ -812,16 +800,7 @@ Partial Class Inventarios_ResguardoMaterial TieneError = True MensajeError = "Ocurrió un error al guardar los movimientos de entrada" Exit For - Else - If ObjInventario.CveMovimientoDetalle > 0 AndAlso DtSeccionAlmacen.Rows.Count > 0 Then - For Each Dr2 As DataRow In DtSeccionAlmacen.FiltraParametros($"IndexSeccionAlmacen = {Cont} AND TipoSeccionAlmacen = 1").Rows - If Not ObjInventario.AddMovimientosDetalleSeccionesAlmacen(ObjInventario.CveMovimientoDetalle, Dr2("CveSeccionAlmacenDestino").ToString.ToEntero, Dr2("CantidadSeccionAlmacen").ToString.ToDecimal) Then - TieneError = True - MensajeError = "Ocurrió un error al procesar las secciones de almacen. Por favor vuelva a intentar." - Exit For - End If - Next - End If + End If Cont += 1 Next @@ -849,16 +828,7 @@ Partial Class Inventarios_ResguardoMaterial MensajeError = "Ocurrió un error al guardar los detalles del movimiento de salida. Por favor vuelva a intentar." TieneError = True Exit For - Else - If ObjInventario.CveMovimientoDetalle > 0 AndAlso DtSeccionAlmacen.Rows.Count > 0 Then - For Each Dr2 As DataRow In DtSeccionAlmacen.FiltraParametros($"IndexSeccionAlmacen = {Cont} AND TipoSeccionAlmacen = 2").Rows - If Not ObjInventario.AddMovimientosDetalleSeccionesAlmacen(ObjInventario.CveMovimientoDetalle, Dr2("CveSeccionAlmacenOrigen").ToString.ToEntero, -Dr2("CantidadSeccionAlmacen").ToString.ToDecimal) Then - TieneError = True - MensajeError = "Ocurrió un error al procesar las secciones de almacen. Por favor vuelva a intentar." - Exit For - End If - Next - End If + End If End If Cont += 1 @@ -880,16 +850,7 @@ Partial Class Inventarios_ResguardoMaterial TieneError = True MensajeError = "Ocurrió un error al guardar los movimientos de entrada" Exit For - Else - If ObjInventario.CveMovimientoDetalle > 0 AndAlso DtSeccionAlmacen.Rows.Count > 0 Then - For Each Dr2 As DataRow In DtSeccionAlmacen.FiltraParametros($"IndexSeccionAlmacen = {Cont} AND TipoSeccionAlmacen = 2").Rows - If Not ObjInventario.AddMovimientosDetalleSeccionesAlmacen(ObjInventario.CveMovimientoDetalle, Dr2("CveSeccionAlmacenDestino").ToString.ToEntero, Dr2("CantidadSeccionAlmacen").ToString.ToDecimal) Then - TieneError = True - MensajeError = "Ocurrió un error al procesar las secciones de almacen. Por favor vuelva a intentar." - Exit For - End If - Next - End If + End If Cont += 1 Next @@ -1010,206 +971,6 @@ Partial Class Inventarios_ResguardoMaterial UpFiltraLiberacion.Update() End Sub -#End Region - -#Region "SECCION ALMACEN" - Private Sub CreaDtSeccionAlmacen() - DtSeccionAlmacen = New DataTable - DtSeccionAlmacen.Columns.Add("CantidadSeccionAlmacen", GetType(Decimal)) - DtSeccionAlmacen.Columns.Add("IndexSeccionAlmacen", GetType(Integer)) - DtSeccionAlmacen.Columns.Add("CveSeccionAlmacenOrigen", GetType(Integer)) - DtSeccionAlmacen.Columns.Add("CveSeccionAlmacenDestino", GetType(Integer)) - DtSeccionAlmacen.Columns.Add("CvePS", GetType(Integer)) - DtSeccionAlmacen.Columns.Add("SeccionAlmacenOrigen", GetType(String)) - DtSeccionAlmacen.Columns.Add("SeccionAlmacenDestino", GetType(String)) - DtSeccionAlmacen.Columns.Add("Consec", GetType(Integer)) - DtSeccionAlmacen.Columns.Add("TipoSeccionAlmacen", GetType(Integer)) - End Sub - Private Sub CargaDdlAlmacen() - DdlSeccionAlmacenOrigen.DataSource = GlobalDTSeccionAlmacen(UsuarioActual.CveEmpresa) - DdlSeccionAlmacenOrigen.Items.Insert(0, New ListItem("Seleccione", "-1")) - DdlSeccionAlmacenOrigen.DataBind() - - DdlSeccionAlmacenDestino.DataSource = GlobalDTSeccionAlmacen(UsuarioActual.CveEmpresa) - DdlSeccionAlmacenDestino.Items.Insert(0, New ListItem("Seleccione", "-1")) - DdlSeccionAlmacenDestino.DataBind() - End Sub - Protected Sub LnkSeccionAlmacen_Click(sender As Object, e As EventArgs) - Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow) - - If Not DdlAlmacen.SelectedValue.ToEntero > 0 Then - Alert("Tiene que tener seleccionado un almacen para registrar seccion almacen origen.", TipoMensaje.MsgAdvertencia) - Exit Sub - End If - - 'If Not DdlAlmacenDestino.SelectedValue.ToEntero > 0 AndAlso Not ChkTransitorio.Checked Then - ' Alert("Tiene que tener seleccionado un almacen para registrar seccion almacen destino.", TipoMensaje.MsgAdvertencia) - ' Exit Sub - 'End If - - GvSeccion.Columns(2).Visible = True - DivSeccionAlmacenDestino.Visible = True - - DivSeccionAlmacenOrigen.Visible = True - GvSeccion.Columns(1).Visible = True - - CantidadTotal = gvRow.DataKey("Cantidad").ToDecimal - IndexSeccionAlmacen = gvRow.RowIndex - CvePS = gvRow.DataKey("CvePS").ToEntero - TipoSeccionAlmacen = 1 - CargaSeccionAlmacen() - RegistraScript("$('#DModalSeccionAlmacen').modal()") - End Sub - - Protected Sub LnkSeccionAlmacenDestino_Click(sender As Object, e As EventArgs) - Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow) - - If Not DdlAlmacenLiberacion.SelectedValue.ToEntero > 0 Then - Alert("Tiene que tener seleccionado un almacen para registrar seccion almacen destino.", TipoMensaje.MsgAdvertencia) - Exit Sub - End If - - DivSeccionAlmacenOrigen.Visible = True - DivSeccionAlmacenDestino.Visible = True - GvSeccion.Columns(1).Visible = True - GvSeccion.Columns(2).Visible = True - - CantidadTotal = gvRow.FCTextBox("TxtCantidad").Text.ToDecimal - IndexSeccionAlmacen = gvRow.RowIndex - CvePS = gvRow.DataKey("CvePS").ToEntero - TipoSeccionAlmacen = 2 - CargaSeccionAlmacen() - RegistraScript("$('#DModalSeccionAlmacen').modal()") - - End Sub - - Private Sub CargaSeccionAlmacen() - Dim CantidadTotalSeccion As Decimal = DtSeccionAlmacen.FiltraParametros($"IndexSeccionAlmacen = {IndexSeccionAlmacen} AND TipoSeccionAlmacen = {TipoSeccionAlmacen}").SUMD("CantidadSeccionAlmacen") - GvSeccion.DataSource = DtSeccionAlmacen.FiltraParametros($"IndexSeccionAlmacen = {IndexSeccionAlmacen} AND TipoSeccionAlmacen = {TipoSeccionAlmacen}") - GvSeccion.DataBind() - - TxtCantidadSeccion.Text = "" - DdlSeccionAlmacenOrigen.SelectedIndex = 0 - DdlSeccionAlmacenDestino.SelectedIndex = 0 - Dim CantidadRestante As Decimal = CantidadTotal - CantidadTotalSeccion - If CantidadRestante = 0 Then - RVTxtCantidad.MaximumValue = "1" - TxtCantidadSeccion.Enabled = False - Else - RVTxtCantidad.MaximumValue = CantidadRestante.ToString - TxtCantidadSeccion.Enabled = True - End If - - If TipoSeccionAlmacen = 1 Then - If CantidadTotalSeccion > 0 Then - GvM.Rows(IndexSeccionAlmacen).FCLinkButton("lnkRemove").Visible = False - GvM.Rows(IndexSeccionAlmacen).FCLinkButton("lnkRemove").ToolTip = "Cuenta con sección almacen" - Else - GvM.Rows(IndexSeccionAlmacen).FCLinkButton("lnkRemove").Visible = True - GvM.Rows(IndexSeccionAlmacen).FCLinkButton("lnkRemove").ToolTip = "" - End If - If DtSeccionAlmacen.SUMD("CantidadSeccionAlmacen") > 0 Then - DdlAlmacen.Enabled = False - DdlAlmacen.ToolTip = "Cuenta con sección almacen" - Else - DdlAlmacen.Enabled = True - DdlAlmacen.ToolTip = "" - End If - UpGenerales.Update() - - ElseIf TipoSeccionAlmacen = 2 Then - If CantidadTotalSeccion > 0 Then - GvMLiberacion.Rows(IndexSeccionAlmacen).FCTextBox("TxtCantidad").Enabled = False - GvMLiberacion.Rows(IndexSeccionAlmacen).FCTextBox("TxtCantidad").ToolTip = "Cuenta con sección almacen" - Else - GvMLiberacion.Rows(IndexSeccionAlmacen).FCTextBox("TxtCantidad").Enabled = True - GvMLiberacion.Rows(IndexSeccionAlmacen).FCTextBox("TxtCantidad").ToolTip = "" - End If - If DtSeccionAlmacen.SUMD("CantidadSeccionAlmacen") > 0 Then - DdlAlmacenLiberacion.Enabled = False - DdlAlmacenLiberacion.ToolTip = "Cuenta con sección almacen" - Else - DdlAlmacenLiberacion.Enabled = True - DdlAlmacenLiberacion.ToolTip = "" - End If - UpGridLiberacion.Update() - UpFiltraLiberacion.Update() - End If - - UpModalSeccionAlmacen.Update() - End Sub - - Protected Sub LnkAddSeccionAlmacen_Click(sender As Object, e As EventArgs) - - Dim ObjInv As New ClsInventarios - Dim CantidadDisponible As Decimal = 0 - If ObjInv.GetMovimientosDetalleSeccionesAlmacen(DdlSeccionAlmacenOrigen.SelectedValue.ToEntero, If(TipoSeccionAlmacen = 1, DdlAlmacen.SelectedValue.ToEntero, DdlAlmacenLiberacion.SelectedValue.ToEntero), - CvePS, UsuarioActual.CveEmpresa) Then - If ObjInv.DtResultados.Rows.Count > 0 Then - CantidadDisponible = ObjInv.DtResultados.Rows(0)("CantidadRestante").ToString.ToDecimal - End If - End If - ObjInv.Dispose() - - CantidadDisponible -= DtSeccionAlmacen.FiltraParametros($"CvePS = {CvePS} AND CveSeccionAlmacenOrigen = {DdlSeccionAlmacenOrigen.SelectedValue} AND TipoSeccionAlmacen = {TipoSeccionAlmacen}").SUMD("CantidadSeccionAlmacen") - - If TxtCantidadSeccion.Text.ToDecimal > CantidadDisponible Then - Alert($"No tiene cantidad de producto suficiente en esta seccion de almacen, su cantidad restante es: {CantidadDisponible}", TipoMensaje.MsgAdvertencia) - Exit Sub - End If - - Dim Row As DataRow = Nothing - DtSeccionAlmacen.AcceptChanges() - Row = DtSeccionAlmacen.NewRow - Row("CantidadSeccionAlmacen") = TxtCantidadSeccion.Text.ToDecimal - Row("IndexSeccionAlmacen") = IndexSeccionAlmacen - Row("CveSeccionAlmacenOrigen") = DdlSeccionAlmacenOrigen.SelectedValue.ToEntero - Row("SeccionAlmacenOrigen") = DdlSeccionAlmacenOrigen.SelectedItem.Text - Row("CveSeccionAlmacenDestino") = DdlSeccionAlmacenDestino.SelectedValue.ToEntero - Row("SeccionAlmacenDestino") = DdlSeccionAlmacenDestino.SelectedItem.Text - Row("CvePS") = CvePS - Row("Consec") = DtSeccionAlmacen.Rows.Count + 1 - Row("TipoSeccionAlmacen") = TipoSeccionAlmacen - DtSeccionAlmacen.Rows.Add(Row) - DtSeccionAlmacen.AcceptChanges() - CargaSeccionAlmacen() - End Sub - - Protected Sub LnkEliminarSeccion_Click(sender As Object, e As EventArgs) - Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow) - Dim Index As Integer = 0 - For Each Dr As DataRow In DtSeccionAlmacen.Rows - If Dr("Consec").ToString.ToEntero = gvRow.DataKey("Consec").ToEntero() Then - Exit For - End If - Index += 1 - Next - DtSeccionAlmacen.Rows.RemoveAt(Index) - DtSeccionAlmacen.AcceptChanges() - CargaSeccionAlmacen() - End Sub - - 'Protected Sub LnkVerSecciones_Click(sender As Object, e As EventArgs) - ' If Not CveVentaSurtir > 0 Then - ' Alert("Tiene que seleccionar la venta a surtir", TipoMensaje.MsgAdvertencia) - ' Exit Sub - ' End If - - ' If Not DdlAlmacen.SelectedValue.ToEntero > 0 Then - ' Alert("Tiene que seleccionar el almacen", TipoMensaje.MsgAdvertencia) - ' Exit Sub - ' End If - - ' Dim ObjInv As New ClsInventarios - ' If ObjInv.GetExistenciaSeccionAlmacen(CveVentaSurtir, DdlAlmacen.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then - ' GvVerSeccionesAlmacen.DataSource = ObjInv.DtResultados - ' End If - ' ObjInv.Dispose() - ' GvVerSeccionesAlmacen.DataBind() - ' UpVerSeccionesAlmacen.Update() - ' RegistraScript("$('#ModalVerSeccionesAlmacen').modal()") - 'End Sub - #End Region Private Sub ImgExcel_Click(sender As Object, e As EventArgs) Handles ImgExcel.Click diff --git a/Inventarios/TraspasoAlmacen.aspx b/Inventarios/TraspasoAlmacen.aspx index b794965e5..9804276ea 100644 --- a/Inventarios/TraspasoAlmacen.aspx +++ b/Inventarios/TraspasoAlmacen.aspx @@ -450,10 +450,10 @@ - + - + s @@ -654,7 +654,7 @@ - + sss @@ -726,74 +726,7 @@ - - <%--SECCION DE ALMACEN--%> - + <%--CARGA EXCEL--%>