From 6345d6826f58c61c24e052fd683d0ecf85fed358 Mon Sep 17 00:00:00 2001 From: rakcsle Date: Tue, 25 Mar 2025 13:13:36 -0700 Subject: [PATCH] 183 Karedex Wish List para prueba --- Empresas/15/Formatos/Factura.rdlc | 4 +- Inventarios/Kardex.aspx | 26 +++++- Inventarios/Kardex.aspx.vb | 132 ++++++++++++++++++++++++++++++ 3 files changed, 159 insertions(+), 3 deletions(-) diff --git a/Empresas/15/Formatos/Factura.rdlc b/Empresas/15/Formatos/Factura.rdlc index 033714ae1..a897c6417 100644 --- a/Empresas/15/Formatos/Factura.rdlc +++ b/Empresas/15/Formatos/Factura.rdlc @@ -1424,10 +1424,10 @@ 4.82589cm - 2.5cm + 1.75917cm - 1.6882cm + 2.42903cm 2.33651cm diff --git a/Inventarios/Kardex.aspx b/Inventarios/Kardex.aspx index 9d18f43d3..08e58753a 100644 --- a/Inventarios/Kardex.aspx +++ b/Inventarios/Kardex.aspx @@ -425,7 +425,7 @@
-
+
@@ -433,6 +433,30 @@
+ +
+ + +
+ + + +
+
+ + + +
+ +
+ Agregar +
+
+ +
+
+
+ diff --git a/Inventarios/Kardex.aspx.vb b/Inventarios/Kardex.aspx.vb index 1b63d5ca1..3f8c5340b 100644 --- a/Inventarios/Kardex.aspx.vb +++ b/Inventarios/Kardex.aspx.vb @@ -67,8 +67,15 @@ Partial Class Inventarios_Kardex If UsuarioActual.CveRol = 1 Then LblPS.ToolTip = ddlProducto2.SelectedValue lblAlm.InnerText = ddlProducto2.SelectedValue + + If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then + DVWishList.Visible = True + End If + End If + + End If End Sub @@ -901,4 +908,129 @@ Partial Class Inventarios_Kardex End Sub + + Protected Sub LnkAgrgarWishList_Click(sender As Object, e As EventArgs) + AgregarAWishList() + End Sub + + Private Function AgregarAWishList() As Boolean + + Dim respuesta As Boolean = True + Dim CveAlmacen As Integer = -1 + Dim CvePS As Integer = ddlProducto2.SelectedValue.ToEntero + Dim almacenStr As String() = ddlAlmacen.GetSelectedValues().Split(","c) + Dim CveSubProyecto As Integer = -1 + Dim FolioOrdenCompra As String = "" + Dim CveOrdenCompra As Integer = -1 + Dim UltimoCosto As Decimal = 0D + Dim CveProveedorCompra As Integer = -1 + Dim Cantidad As Decimal = TxtCantidad.Text.ToDecimal + Dim PorcentajeIVA As Decimal = 0 + Dim PorcentajeIVASucursal As Decimal = 0 + Dim CveUnidadMedida As Integer = -1 + Dim RetISR As Decimal = 0 + Dim RetIVA As Decimal = 0 + Dim PorcentajeRetISR As Decimal = 0 + Dim PorcentajeRetIVA As Decimal = 0 + + + If Not Cantidad > 0 Then + Alert("Debe indicar una cantidad.", TipoMensaje.MsgAdvertencia) + Return False + End If + + If almacenStr.Length > 0 Then + CveAlmacen = almacenStr(0).ToEntero + End If + + If CveAlmacen > 0 Then + CveSubProyecto = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=CveAlmacen).FiltroPrimeroValor("CveSubProyecto").ToEntero + + If CveSubProyecto > 0 Then + Dim DRowSubProyecto As DataRow = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyecto).FiltroPrimero("") + If DRowSubProyecto IsNot Nothing Then + PorcentajeIVASucursal = DRowSubProyecto("IVA").ToString.ToDecimal + Else + Alert("No se encontro el subproyecto.", TipoMensaje.MsgAdvertencia) + Return False + End If + Else + Alert("No se encontro el subproyecto.", TipoMensaje.MsgAdvertencia) + Return False + End If + Else + Alert("Debe seleccionar un almacén.", TipoMensaje.MsgAdvertencia) + Return False + End If + + If CvePS > 0 Then + Dim DTRowPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS).FiltroPrimero("") + If DTRowPS IsNot Nothing Then + UltimoCosto = DTRowPS("UltimoCosto").ToString.ToDecimal + CveProveedorCompra = If(DTRowPS("CveProveedorCompra").ToString.ToEntero > 0, DTRowPS("CveProveedorCompra").ToString.ToEntero, -1) + CveUnidadMedida = DTRowPS("CveUnidadMedida").ToString.ToEntero + PorcentajeIVA = If(DTRowPS("IVA").ToString.ToEntero = -1, PorcentajeIVASucursal, 0) + PorcentajeRetISR = DTRowPS("RetISR").ToString.ToDecimal + PorcentajeRetIVA = DTRowPS("RetIVA").ToString.ToDecimal + End If + Else + Alert("Debe seleccionar un producto.", TipoMensaje.MsgAdvertencia) + Return False + End If + + Dim ObjOC As New ClsOC + ObjOC.IniciaTransacSQL() + + If ObjOC.GetOrdenesCompraRep("REQ", -1, CveSubProyecto, -1, 0, MinFecha, MaxFecha, -1, CveProveedorCompra, -1, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1) Then + If ObjOC.DtResultados IsNot Nothing AndAlso ObjOC.DtResultados.Rows.Count > 0 Then + CveOrdenCompra = ObjOC.DtResultados(0)("CveOrdenCompra").ToString.ToEntero + FolioOrdenCompra = ObjOC.DtResultados(0)("SerieFolio").ToString + End If + Else + respuesta = False + End If + + If respuesta AndAlso Not CveOrdenCompra > 0 Then + If ObjOC.AddOrdenCompra("REQ", CveSubProyecto, "Compra de Stock", "Compra de Stock", 1, NowADS, 1, 0, NowADS.ToString("dd/MM/yyyy"), "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveProveedorCompra, CveSubProyectoEntrega:=CveSubProyecto, PorcentajeIVA:=PorcentajeIVA) Then + CveOrdenCompra = ObjOC.CveOrdenCompra + FolioOrdenCompra = ObjOC.SerieFolio + Else + respuesta = False + End If + End If + + If respuesta AndAlso CveOrdenCompra > 0 Then + + Dim Total As Decimal = (Cantidad * UltimoCosto).RoundSQL + Dim IVA As Decimal = (Total * PorcentajeIVA).RoundSQL + RetIVA = IVA * PorcentajeRetIVA + RetISR = Total * PorcentajeRetISR + + If Not ObjOC.AddOrdenCompraDetalle(CveOrdenCompra, Cantidad, CveUnidadMedida, CvePS, UltimoCosto, CveSubProyecto, -1, "Obs", UsuarioActual.CveUsuario, + IVA:=IVA, RetIVA:=RetIVA, RetISR:=RetISR, Total:=Total, IVAPorcentaje:=PorcentajeIVA, RetIVAPorcentaje:=PorcentajeRetIVA, RetISRPorcentaje:=PorcentajeRetISR) Then + respuesta = False + End If + End If + + + If respuesta Then + Alert($"Producto agregado a la lista, requisición: {FolioOrdenCompra}.", TipoMensaje.ToastInformacion) + ObjOC.Commit() + TxtCantidad.Text = "" + UpAddWishList.Update() + Else + Alert("No se agrego el producto a la lista.", TipoMensaje.ToastAdventencia) + ObjOC.RollBack() + End If + + + ObjOC.Dispose() + + Return respuesta + + End Function + + End Class + +