From 0ebb63f0ad73205961fab4a9da3ca8e9e9bc3836 Mon Sep 17 00:00:00 2001 From: rakcsle Date: Wed, 21 Aug 2024 00:24:48 -0700 Subject: [PATCH 1/2] SMS OS Remisiones en 0 --- App_Code/ClsInventarios.vb | 3 +- Inventarios/RepNotasSinAlmacen.aspx | 17 ++++-- Inventarios/RepNotasSinAlmacen.aspx.vb | 1 + OS/OrdenesServicios.aspx.vb | 74 ++++++++++++++++++++++++++ 4 files changed, 89 insertions(+), 6 deletions(-) diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb index fd14b2e9a..0813ad5c8 100644 --- a/App_Code/ClsInventarios.vb +++ b/App_Code/ClsInventarios.vb @@ -6247,13 +6247,14 @@ Public Class ClsInventarios Return Retorno End Function - Public Function UpdatePedidoDetalleCantidad(CveVentaDetalle As Integer, Cantidad As Decimal) As Boolean + Public Function UpdatePedidoDetalleCantidad(CveVentaDetalle As Integer, Cantidad As Decimal, Optional Opcion As Integer = 1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_VentasDetalleCantidadUpdate") With SqlAdapter.SelectCommand.Parameters .Add("@CveVentaDetalle", SqlDbType.Int).Value = CveVentaDetalle .Add("@Cantidad", SqlDbType.Money).Value = Cantidad + .Add("@Opcion", SqlDbType.Int).Value = Opcion End With Try diff --git a/Inventarios/RepNotasSinAlmacen.aspx b/Inventarios/RepNotasSinAlmacen.aspx index e6270a0dd..bbe1ffb73 100644 --- a/Inventarios/RepNotasSinAlmacen.aspx +++ b/Inventarios/RepNotasSinAlmacen.aspx @@ -170,23 +170,30 @@ DataKeyNames="EsDevolucionVenta" data-sort="true" EmptyDataText="No se encontraron resultados." AutoGenerateColumns="False" > + <%--0--%> - - - <%-- --%> - + <%--1--%> + - + <%--2--%> + <%--3--%> + <%--4--%> + <%--5--%> + <%--6--%> + <%--7--%> + <%--8--%> + + <%--9--%> diff --git a/Inventarios/RepNotasSinAlmacen.aspx.vb b/Inventarios/RepNotasSinAlmacen.aspx.vb index bf204bdb0..e7d5a7c78 100644 --- a/Inventarios/RepNotasSinAlmacen.aspx.vb +++ b/Inventarios/RepNotasSinAlmacen.aspx.vb @@ -88,6 +88,7 @@ Partial Class RepNotasSinAlmacen GvVentas.Columns(6).Visible = True GvVentas.Columns(7).Visible = True GvVentas.Columns(8).Visible = True + GvVentas.Columns(9).Visible = True TxtFechaF.Text = NowADS.AddDays(3).ToShortDateString GvVentas.Columns(4).Visible = False diff --git a/OS/OrdenesServicios.aspx.vb b/OS/OrdenesServicios.aspx.vb index c19e0616e..b5ae93825 100644 --- a/OS/OrdenesServicios.aspx.vb +++ b/OS/OrdenesServicios.aspx.vb @@ -7,6 +7,11 @@ Imports System.Data Imports System.Data.SqlClient Imports System.Diagnostics Imports System.ServiceModel.Security +Imports RVCFDI.RVLTimbrado +Imports Microsoft.Owin.Security.Provider +Imports Telerik.Web.UI + + Partial Class OS_OrdenesServicios Inherits ClsPaginas @@ -3139,6 +3144,37 @@ Partial Class OS_OrdenesServicios ProcesoOK = False End If + + Dim DT_Ventas_Detalles As DataTable = DTSolicitudDev.FiltraParametros("", "", {"CantidadPedido", "CvePS", "CveVentaDetalle"}) + DT_Ventas_Detalles.Columns.Add("CantidadUsada", GetType(Decimal)) + DT_Ventas_Detalles.AcceptChanges() + + For Each dRow As DataRow In DT_Ventas_Detalles.Rows + + For Each gvRow As GridViewRow In GvMU.Rows + + Dim CantidadUsada As Decimal = gvRow.FCTextBox("TxtUtilizado").Text.ToDecimal + + If dRow("CvePS").ToString.ToDecimal = gvRow.DataKey("CvePS").ToDecimal AndAlso CantidadUsada > 0 Then + + dRow("CantidadUsada") = dRow("CantidadUsada").ToString.ToDecimal + CantidadUsada + + End If + Next + + Next + + For Each dRow As DataRow In DT_Ventas_Detalles.Rows + Dim CantidadUsada As Decimal = dRow("CantidadUsada").ToString.ToDecimal + If dRow("CantidadUsada").ToString.ToDecimal < dRow("CantidadPedido").ToString.ToDecimal Then + If Not ObjInventario.UpdatePedidoDetalleCantidad(dRow("CveVentaDetalle").ToString.ToEntero, CantidadUsada, 2) Then + ProcesoOK = False + Exit For + End If + End If + Next + + Else If ProcesoOK Then Dim AplicaDevolucion As Boolean = False @@ -3424,6 +3460,44 @@ Partial Class OS_OrdenesServicios Dim CveMoneda As Integer = -1 Dim tCveVendedor As Integer = -1 + + Dim CountDetalles As Integer = 0 + Dim PuEnCero As Boolean = False + + For Each GvRow As GridViewRow In GvMU.Rows + + Dim CantidadRegistro As Decimal = GvRow.FCTextBox("TxtUtilizado").Text.ToDecimal + Dim PU As Decimal = GvRow.DataKey("PU").ToDecimal + Dim CodigoPS As String = GvRow.DataKey("CodigoPS") + + If CantidadRegistro > 0 Then + If PU > 0 Then + CountDetalles = CountDetalles + 1 + Else + Alert($"Prodcuto {CodigoPS} con precio unitario en cero.", TipoMensaje.MsgAdvertencia) + PuEnCero = True + End If + End If + + Next + + If PuEnCero Then + Respuesta.CveVenta = -1 + Respuesta.SerieFolio = "" + Respuesta.dtdetalle = New DataTable + Return Respuesta + End If + + If CountDetalles = 0 Then + Respuesta.CveVenta = -1 + Respuesta.SerieFolio = "" + Respuesta.dtdetalle = New DataTable + Alert("Remision sin detalles.", TipoMensaje.MsgAdvertencia) + Return Respuesta + End If + + + If ObjVentas.GetVenta(CvePedido, UsuarioActual.CveEmpresa, VerificaAlmacen:=False) Then Dim DbRowVenta As DataRow = ObjVentas.DtResultados.Copy().Rows(0) CveMoneda = DbRowVenta("CveMoneda").ToString.ToEntero From a09e28cd9b78065fbaaf5286698e5d922a88bc81 Mon Sep 17 00:00:00 2001 From: RPimienta Date: Wed, 21 Aug 2024 03:14:14 -0600 Subject: [PATCH 2/2] Catalogo ps, subproyectos y vendedores --- App_Code/ClsPaginas.vb | 2 +- App_Code/ClsVentas.vb | 54 +++++++++++ Ventas/CatPSSubProyectosVendedores.aspx | 94 ++++++++++++++++++ Ventas/CatPSSubProyectosVendedores.aspx.vb | 107 +++++++++++++++++++++ 4 files changed, 256 insertions(+), 1 deletion(-) create mode 100644 Ventas/CatPSSubProyectosVendedores.aspx create mode 100644 Ventas/CatPSSubProyectosVendedores.aspx.vb diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 15bd17430..2a64841fe 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -10819,7 +10819,7 @@ Public Class ClsPaginas PaginaDict.Add("/Ventas/RepComisionesSMS.aspx".ToUpper(), 1347) PaginaDict.Add("/Ventas/RepVencimientosCredito.aspx".ToUpper(), 146) PaginaDict.Add("/Ventas/CatMotivosDevoluciones.aspx".ToUpper(), 786) - + PaginaDict.Add("/Ventas/CatPSSubProyectosVendedores.aspx".ToUpper(), 787) #End Region #Region "Varios" diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 0673bb5c0..99efd2b31 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -7426,6 +7426,60 @@ Public Class ClsVentas Return Retorno End Function +#Region "PRODUCTOS/SERVICIOS, SUBPROYECTOS Y VENDEDORES" + + Public Function GetPSSubProyectosVendedores(CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_ProductosSubProyectosVendedoresGet") + 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 obtener los ps, subproyectos y vendedores.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + + Public Function AddPSSubProyectosVendedores(CvePS As Integer, CveSubProyecto As Integer, CveVendedor As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_ProductosSubProyectosVendedoresAdd") + With SqlAdapter.SelectCommand.Parameters + .Add("@CvePS", SqlDbType.Int).Value = CvePS + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al guardar el ps, subproyecto y vendedor.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + + Public Function RemovePSSubProyectosVendedores(CvePS As Integer, CveSubProyecto As Integer, CveVendedor As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_ProductosSubProyectosVendedoresRemove") + With SqlAdapter.SelectCommand.Parameters + .Add("@CvePS", SqlDbType.Int).Value = CvePS + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al eliminar el ps, subproyecto y vendedor.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + + +#End Region + #Region "IDisposable Support" diff --git a/Ventas/CatPSSubProyectosVendedores.aspx b/Ventas/CatPSSubProyectosVendedores.aspx new file mode 100644 index 000000000..79eb37461 --- /dev/null +++ b/Ventas/CatPSSubProyectosVendedores.aspx @@ -0,0 +1,94 @@ +<%@ Page Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="True" CodeFile="CatPSSubProyectosVendedores.aspx.vb" Inherits="Ventas_CatPSSubProyectosVendedores" %> + + + + + + + Catalogo de Productos/Servicios, SubProyectos y Vendedores + + + + + + + + +
  • + Agregar
  • +
    +
    +
    + + + +
    + " style="display: inline-block; margin-right: -20px; width: 150px;" /> + " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    + + diff --git a/Ventas/CatPSSubProyectosVendedores.aspx.vb b/Ventas/CatPSSubProyectosVendedores.aspx.vb new file mode 100644 index 000000000..ba9d7ffb6 --- /dev/null +++ b/Ventas/CatPSSubProyectosVendedores.aspx.vb @@ -0,0 +1,107 @@ +Option Explicit On +Option Strict On + +Imports System.Data +Imports Extensiones + +Partial Class Ventas_CatPSSubProyectosVendedores + + Inherits ClsPaginas + + Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) + If Not IsPostBack Then + CargaDatos() + CargaCombos() + End If + End Sub + + Protected Sub CargaDatos() + Dim ObjVentas As ClsVentas = New ClsVentas() + + If ObjVentas.GetPSSubProyectosVendedores(UsuarioActual.CveEmpresa) Then + GvPSSubProyectosVendedores.DataSource = ObjVentas.DtResultados + GvPSSubProyectosVendedores.DataBind() + End If + + ObjVentas.Dispose() + UpDatos.Update() + End Sub + + Protected Sub CargaCombos() + + DdlPS.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1") + If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then + DdlPS.SelectedText = "" + DdlPS.SelectedValue = "-1" + Else + DdlPS.ddl.Items.Clear() + DdlPS.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa) + DdlPS.ddl.DataBind() + DdlPS.ddl.Items.Insert(0, New ListItem("Seleccione el Producto", "-1")) + End If + + DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa) + DdlVendedor.DataBind() + DdlVendedor.Items.Insert(0, New ListItem("Seleccione", "-1")) + DdlSubProyecto.DataSource = GlobalDTSubProyectos(UsuarioActual.CveEmpresa) + DdlSubProyecto.DataBind() + DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1")) + UpModalAdd.Update() + End Sub + + + Protected Sub LimpiaRegistro() + DdlPS.SelectedValue = "-1" + DdlPS.SelectedText = "" + DdlVendedor.SelectedIndex = 0 + DdlSubProyecto.SelectedIndex = 0 + UpModalAdd.Update() + End Sub + + Protected Sub LnkAgregar_Click(ByVal sender As Object, ByVal e As EventArgs) + RegistraScript("$('#DModalAdd').modal();") + LimpiaRegistro() + UpModalAdd.Update() + End Sub + + Protected Sub BtnAdd_Click(ByVal sender As Object, ByVal e As EventArgs) + If DdlPS.SelectedValue = "" Then + Alert("Tiene que seleccionar un producto/servicio.") + Return + End If + + If DdlVendedor.SelectedValue = "-1" Then + Alert("Tiene que seleccionar un vendedor.") + Return + End If + + If DdlSubProyecto.SelectedValue = "-1" Then + Alert("Tiene que seleccionar un subproyecto.") + Return + End If + + Dim ObjVentas As ClsVentas = New ClsVentas() + Dim Continuar As Boolean = ObjVentas.AddPSSubProyectosVendedores(DdlPS.SelectedValue.ToEntero(), DdlSubProyecto.SelectedValue.ToEntero(), DdlVendedor.SelectedValue.ToEntero()) + ObjVentas.Dispose() + + If Continuar Then + RegistraScript("$('#DModalAdd').modal('hide');") + LimpiaRegistro() + Alert("El registro se ha agregado") + CargaDatos() + End If + End Sub + + Protected Sub LnkEliminar_Click(ByVal sender As Object, ByVal e As EventArgs) + Dim gvRow As GridViewRow = CType(((CType(sender, LinkButton)).NamingContainer), GridViewRow) + Dim ObjVentas As ClsVentas = New ClsVentas() + Dim Continuar As Boolean = ObjVentas.RemovePSSubProyectosVendedores(gvRow.DataKey("CvePS").ToEntero(), gvRow.DataKey("CveSubProyecto").ToEntero(), gvRow.DataKey("CveVendedor").ToEntero()) + ObjVentas.Dispose() + + If Continuar Then + CargaDatos() + Alert("El registro se ha eliminado") + End If + End Sub + +End Class