From 86c8a22a51548aa9ad16b253dc73df23955139c0 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Tue, 22 Feb 2022 18:47:33 -0700 Subject: [PATCH] E140. Carga de vendedores por sucursal --- Ventas/Ventas.aspx.vb | 231 +++++++++++++++++++++++++++++------------- 1 file changed, 161 insertions(+), 70 deletions(-) diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 368aaca72..fa6e0c35e 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -1930,6 +1930,31 @@ Partial Class Ventas ViewState("CveVendedorCliente") = value End Set End Property + Private Property CveVendedorClienteSucursal As Integer + Get + Return If(IsNothing(ViewState("CveVendedorClienteSucursal")), -1, ViewState("CveVendedorClienteSucursal")).ToString().ToEntero + End Get + Set(value As Integer) + ViewState("CveVendedorClienteSucursal") = value + End Set + End Property + + Private Property CveVendedorContrato As Integer + Get + Return If(IsNothing(ViewState("CveVendedorContrato")), -1, ViewState("CveVendedorContrato")).ToString().ToEntero + End Get + Set(value As Integer) + ViewState("CveVendedorContrato") = value + End Set + End Property + Private Property CveVendedorEmpresaCRM As Integer + Get + Return If(IsNothing(ViewState("CveVendedorEmpresaCRM")), -1, ViewState("CveVendedorEmpresaCRM")).ToString().ToEntero + End Get + Set(value As Integer) + ViewState("CveVendedorEmpresaCRM") = value + End Set + End Property Private Property DiasCredito As Integer Get Return ViewState("DiasCredito").ToString().ToEntero() @@ -2203,6 +2228,9 @@ Partial Class Ventas ViewState("CvePrecioListaCliente") = 0 Me.CveVendedorVenta = -1 Me.CveVendedorCliente = -1 + Me.CveVendedorClienteSucursal = -1 + Me.CveVendedorContrato = -1 + Me.CveVendedorEmpresaCRM = -1 Me.EsGarantia = False idCuentaContabilizacion = 1 CveEmpresaCRM = 0 @@ -2883,16 +2911,16 @@ Partial Class Ventas If CveVenta < 1 Then CargaFolios() 'SELECCIONA VENDEDOR DEL USUARIO CUANDO SEA VENTA NUEVA Y SIN CLIENTE - If UsuarioActual.CveVendedor > 0 Then - If CveVenta = -1 AndAlso Not DdlVendedor.SelectedValue.ToEntero() > 0 Then DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString()) - If DdlVendedor.SelectedValue.ToEntero() > 0 AndAlso Not UsuarioActual.TienePermisoProceso(161) Then - DdlVendedor.Enabled = False - End If - 'multiples vendedores visible - If UsuarioActual.TienePermisoProceso(153) Then - DdlVendedor.Enabled = True - End If - End If + 'If UsuarioActual.CveVendedor > 0 Then + ' If CveVenta = -1 AndAlso Not DdlVendedor.SelectedValue.ToEntero() > 0 Then DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString()) + ' If DdlVendedor.SelectedValue.ToEntero() > 0 AndAlso Not UsuarioActual.TienePermisoProceso(161) Then + ' DdlVendedor.Enabled = False + ' End If + ' 'multiples vendedores visible + ' If UsuarioActual.TienePermisoProceso(153) Then + ' DdlVendedor.Enabled = True + ' End If + 'End If If UsuarioActual.Empresa.Funcionalidad(301).ToEntero() > 0 Then TxtFecha.Enabled = False @@ -3632,6 +3660,8 @@ Partial Class Ventas NumeroContrato = DrContrato("NumeroContrato").ToString() DescripcionContrato = DrContrato("DescripcionContrato").ToString() NumeroLicitacion = DrContrato("NumeroLicitacion").ToString().Trim + + Me.CveVendedorContrato = DrContrato("CveVendedor").ToString().ToEntero() DdlVendedor.SelectedValueExist(DrContrato("CveVendedor")) If DrContrato("CveSucursalCliente").ToString().ToEntero() > 0 Then @@ -4702,14 +4732,14 @@ Partial Class Ventas Me.CveVendedorVenta = DbRowVenta("CveVendedor").ToString().ToEntero() 'SI YA TIENE UN VALOR ASIGNADO SELECCIONA EL GUARDADO - If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso Me.CveVenta > 0 AndAlso Me.CveVendedorVenta > 0 Then - Dim Vendedor = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=1).FiltroPrimeroValor("Vendedor", String.Format("CveVendedor = {0}", Me.CveVendedorVenta)) - 'SI NO ENCUENTRA BUSCA EN LOS VENDEDORES DEL PV - If String.IsNullOrEmpty(Vendedor) Then - Vendedor = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=4).FiltroPrimeroValor("Vendedor", String.Format("CveVendedor = {0}", Me.CveVendedorVenta)) - End If - DdlVendedor.SelectedValueExistInsert(Me.CveVendedorVenta, Vendedor) - End If + 'If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso Me.CveVenta > 0 AndAlso Me.CveVendedorVenta > 0 Then + ' Dim Vendedor = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=1).FiltroPrimeroValor("Vendedor", String.Format("CveVendedor = {0}", Me.CveVendedorVenta)) + ' 'SI NO ENCUENTRA BUSCA EN LOS VENDEDORES DEL PV + ' If String.IsNullOrEmpty(Vendedor) Then + ' Vendedor = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=4).FiltroPrimeroValor("Vendedor", String.Format("CveVendedor = {0}", Me.CveVendedorVenta)) + ' End If + ' DdlVendedor.SelectedValueExistInsert(Me.CveVendedorVenta, Vendedor) + 'End If If DdlFormaPago33.SelectedValue <> DbRowVenta("CveFormaPago33").ToString() And DbRowVenta("CveFormaPago33").ToString() <> "" Then 'sino está seleccionada la asginada la debe de cargar @@ -5546,6 +5576,13 @@ Partial Class Ventas 'TmpDT.Columns.Add("EntregaDirecta", GetType(Integer)) 'TmpDT.Columns.Add("CveMovimientoDetallePedido", GetType(Integer)) ''TmpDT.Columns.Add("CantidadFacturadaRem", GetType(Decimal)) + + ObjVentas.DtResultados.Columns.Add("TieneProntoPago", GetType(String)) + ObjVentas.DtResultados.Columns.Add("ImporteProntoPago", GetType(Decimal)) + + ObjVentas.DtResultados.Columns("TieneProntoPago").DefaultValue = "No" + ObjVentas.DtResultados.Columns("ImporteProntoPago").DefaultValue = 0 + GvPS.DataSource = ObjVentas.DtResultados GvPS.DataBind() End If @@ -5867,6 +5904,7 @@ Partial Class Ventas UpEmpresaCRM.Visible = True End If + Me.CveVendedorEmpresaCRM = ObjCRM.DtResultados.Rows(0)("CveVendedorAsignado").ToString().ToEntero() DdlVendedor.SelectedValueExist(ObjCRM.DtResultados.Rows(0)("CveVendedorAsignado").ToString()) DdlVendedor.Enabled = False @@ -6137,18 +6175,18 @@ Partial Class Ventas TxtFordGSDB.Text = ObjCliente.Ford_GSDB If ObjCliente.DtResultados(0)("CveVendedor").ToString().ToEntero() > 0 Then - DdlVendedor.SelectedValueExist(ObjCliente.DtResultados(0)("CveVendedor").ToString().ToEntero()) CveVendedorCliente = ObjCliente.DtResultados(0)("CveVendedor").ToString().ToEntero() End If 'SI EL CLIENTE NO TIENE VENDEDOR SELECCIONAMOS EL DEL USUARIO - If Not DdlVendedor.SelectedValue.ToEntero() > 0 Then - DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString()) - End If + 'If Not DdlVendedor.SelectedValue.ToEntero() > 0 Then + ' DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString()) + 'End If - If DdlVendedor.SelectedValue.ToEntero() > 0 AndAlso Not UsuarioActual.TienePermisoProceso(161) Then - DdlVendedor.Enabled = False - End If + 'If DdlVendedor.SelectedValue.ToEntero() > 0 AndAlso Not UsuarioActual.TienePermisoProceso(161) Then + ' DdlVendedor.Enabled = False + 'End If + CargaVendedores() UpFacturar.Update() @@ -6370,10 +6408,6 @@ Partial Class Ventas End If BloqueaCondiconesPago() DeshabilitarAplicarNotaDeCredito(LblRFC.Text) - - If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then - CargaVendedoresSubProyectos() - End If End Sub Private Sub CargaRelacionadasPendientes() @@ -6946,7 +6980,7 @@ Partial Class Ventas ViewState("CliPais") = ObjCliente.DtResultados.Rows(0)("Pais").ToString() ViewState("CliNoExt") = ObjCliente.DtResultados.Rows(0)("NoExt").ToString() ViewState("CliNoInt") = ObjCliente.DtResultados.Rows(0)("NoInt").ToString() - DdlVendedor.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveVendedor").ToString()) + Me.CveVendedorClienteSucursal = ObjCliente.DtResultados.Rows(0)("CveVendedor").ToString().ToEntero() ViewState("CveClienteSucursal") = ObjCliente.DtResultados(0)("CveClienteSucursal").ToString() ViewState("CliCorreoCot") = ObjCliente.DtResultados.Rows(0)("CorreoCotizacion").ToString() @@ -7014,7 +7048,8 @@ Partial Class Ventas LblEstado.Text = ObjCliente.Estado LblCP.Text = ObjCliente.CP LblTelefono.Text = ObjCliente.Telefono - DdlVendedor.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveVendedor").ToString()) + Me.CveVendedorClienteSucursal = -1 + Me.CveVendedorCliente = ObjCliente.DtResultados.Rows(0)("CveVendedor").ToString().ToEntero() ViewState("CliNoExt") = ObjCliente.NoExt ViewState("CliNoInt") = ObjCliente.NoInt PlazoCobranza = ObjCliente.PlazoCobranza @@ -7035,10 +7070,12 @@ Partial Class Ventas End If End If - 'SI LA SUCURSAL DEL CLIENTE NO TIENE VENDEDOR SELECCIONAMOS EL DEL USUARIO - If Not DdlVendedor.SelectedValue.ToEntero() > 0 Then - DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString()) - End If + ''SI LA SUCURSAL DEL CLIENTE NO TIENE VENDEDOR SELECCIONAMOS EL DEL USUARIO + 'If Not DdlVendedor.SelectedValue.ToEntero() > 0 Then + ' DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString()) + 'End If + + CargaVendedores() 'SI LA VENTA YA ESTA REGISTRADA NO DEBE HABILITAR ACCIONES If CveVenta <= 0 Then @@ -13634,7 +13671,7 @@ Partial Class Ventas Case 30 'PAGO - BANCOS - If DtPagos IsNot Nothing AndAlso DtPagos.Rows.Count > 0 Then + If DtPagos IsNot Nothing AndAlso DtPagos.Rows.Count > 0 AndAlso ObjFactura.TipoDocto <> "Rem" Then For Each DrPago As DataRow In DtPagos.Rows CveIEPago = -1 @@ -17004,9 +17041,7 @@ Partial Class Ventas End If ObjSubProyectos.Dispose() - If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then - CargaVendedoresSubProyectos() - End If + CargaVendedores() UpDetalle.Update() End Sub @@ -17189,43 +17224,93 @@ Partial Class Ventas UpParametros.Update() End Sub Private Sub CargaVendedores() + Dim CveVendedorActual As Integer = 0 - Dim CveVendedorActual = DdlVendedor.SelectedValue.ToEntero() - - If Not CveVendedorActual > 0 AndAlso Me.CveVendedorCliente > 0 Then - DdlVendedor.SelectedValueExist(Me.CveVendedorCliente) - CveVendedorActual = Me.CveVendedorCliente - End If + Dim EsVentaNueva As Boolean = (Me.CveVenta <= 0 OrElse Me.EsCreaApartirDe OrElse NuevaFactura = 1) DdlVendedor.Items.Clear() + DdlVendedor.SelectedValue = Nothing + + DdlVendedorSucursal.Items.Clear() + DdlVendedorSucursal.SelectedValue = Nothing + If UsuarioActual.Empresa.Funcionalidad(302) = "1" AndAlso DdlSubProyectoDatos.SelectedValue.ToEntero() > 0 Then - DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveSubProyecto = {0}", DdlSubProyectoDatos.SelectedValue)).FiltraParametros("VendedorTipo = 1") + DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("(CveSubProyecto IS NULL OR CveSubProyecto = {0})", DdlSubProyectoDatos.SelectedValue)).FiltraParametros("VendedorTipo = 1") Else DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltraParametros("VendedorTipo = 1") End If - DdlVendedor.SelectedValue = "0" - DdlVendedor.Items.Insert(0, New ListItem("Sin Asignar", "0")) - - If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then - CargaVendedoresSubProyectos() - End If - DdlVendedorSucursal.DataSource = DdlVendedor.DataSource DdlVendedor.DataBind() DdlVendedorSucursal.DataBind() - DdlVendedor.SelectedValueExist(CveVendedorActual) + DdlVendedor.Items.Insert(0, New ListItem("Sin Asignar")) + DdlVendedorSucursal.Items.Insert(0, New ListItem("Sin Asignar")) - If Not DdlVendedor.SelectedValue.ToEntero() > 0 Then - DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString()) + DdlVendedor.SelectedValueExist("0") + DdlVendedorSucursal.SelectedValueExist("0") + + 'SI NO ES VENTA ACTUAL + If EsVentaNueva Then + 'PRIMERO TOMA EL VENDEDOR DEL USUARIO + If UsuarioActual.CveVendedor > 0 Then + CveVendedorActual = UsuarioActual.CveVendedor + End If + 'DAR PREFERENCIA AL VENDEDOR ASIGNADO AL CLIENTE + If Me.CveVendedorCliente > 0 Then + CveVendedorActual = Me.CveVendedorCliente + End If + 'DAR PREFERENCIA AL VENDEDOR ASIGNADO LA SUCURSAL CLIENTE + If Me.CveVendedorClienteSucursal > 0 Then + CveVendedorActual = Me.CveVendedorClienteSucursal + End If + 'SI TIENE CONTRATO TOMA EL DEL CONTRATO + If Me.CveVendedorContrato > 0 Then + CveVendedorActual = Me.CveVendedorContrato + End If + 'SI ES EMPRESA CRM TOMA DE AQUI + If Me.CveVendedorEmpresaCRM > 0 Then + CveVendedorActual = Me.CveVendedorEmpresaCRM + End If + Else + 'SI ES VENTA EXISTENTE TOMA EL DE LA VENTA + If Me.CveVendedorVenta > 0 Then + CveVendedorActual = Me.CveVendedorVenta + End If End If - If DdlVendedor.SelectedValue.ToEntero() > 0 AndAlso Not UsuarioActual.TienePermisoProceso(161) Then - DdlVendedor.Enabled = False + If CveVendedorActual > 0 Then + Dim VendedorActual As String = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Vendedor", $"CveVendedor = {CveVendedorActual}") + 'SI NO ENCUENTRA BUSCA EN LOS VENDEDORES DEL PV + If String.IsNullOrEmpty(VendedorActual) Then + VendedorActual = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=4).FiltroPrimeroValor("Vendedor", String.Format("CveVendedor = {0}", CveVendedorActual)) + End If + + If String.IsNullOrEmpty(VendedorActual) Then + DdlVendedor.SelectedValueExist(CveVendedorActual) + Else + DdlVendedor.SelectedValueExistInsert(CveVendedorActual, VendedorActual) + End If End If + If UsuarioActual.CveEmpresa = 140 Then + If Not UsuarioActual.TienePermisoProceso(161) Then + DdlVendedor.Enabled = False + End If + Else + If DdlVendedor.SelectedValue.ToEntero() > 0 AndAlso Not UsuarioActual.TienePermisoProceso(161) Then + DdlVendedor.Enabled = False + End If + End If + + + 'multiples vendedores visible + If UsuarioActual.TienePermisoProceso(153) Then + DdlVendedor.Enabled = True + End If + + UPPVentas.Update() 'TxtCorreoNotificaciones.Text = GlobalDTUsuarios(UsuarioActual.CveUsuario).FiltroPrimeroValor("Correo") End Sub #End Region @@ -33644,23 +33729,29 @@ Partial Class Ventas UpModalSolicitud.Update() End Sub - Private Sub CargaVendedoresSubProyectos() + 'Private Sub CargaVendedoresSubProyectos() - Dim DtVendedoresSucursales = GlobalDTClientesVendedoresSubProyectos(UsuarioActual.CveEmpresa, CveCliente:=Me.CveCliente, CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero()) + ' DdlVendedor.Items.Clear() + ' DdlVendedor.SelectedValue = Nothing - If DtVendedoresSucursales IsNot Nothing AndAlso DtVendedoresSucursales.Rows.Count > 0 Then - DdlVendedor.Items.Clear() - DdlVendedor.SelectedValue = Nothing + ' Dim DtVendedoresSucursales = GlobalDTClientesVendedoresSubProyectos(UsuarioActual.CveEmpresa, CveCliente:=Me.CveCliente, CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero()) - DdlVendedor.DataSource = DtVendedoresSucursales - DdlVendedor.DataBind() - DdlVendedor.Items.Insert(0, New ListItem("Sin Asignar", "0")) + ' If DtVendedoresSucursales IsNot Nothing AndAlso DtVendedoresSucursales.Rows.Count > 0 Then + ' DdlVendedor.DataSource = DtVendedoresSucursales + ' DtVendedoresSucursales.Dispose() + ' Else + ' If UsuarioActual.Empresa.Funcionalidad(302) = "1" AndAlso DdlSubProyectoDatos.SelectedValue.ToEntero() > 0 Then + ' DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveSubProyecto = {0}", DdlSubProyectoDatos.SelectedValue)).FiltraParametros("VendedorTipo = 1") + ' Else + ' DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltraParametros("VendedorTipo = 1") + ' End If + ' End If - DtVendedoresSucursales.Dispose() - End If + ' DdlVendedor.DataBind() + ' DdlVendedor.Items.Insert(0, New ListItem("Sin Asignar", "0")) - UpParametros.Update() - End Sub + ' UpParametros.Update() + 'End Sub Public Class MAnticipoRelacionado Public Property CveVenta As Integer