This commit is contained in:
Antonio Gonzalez
2021-01-21 21:19:45 -07:00
parent 329b8f1635
commit e1d793ac73
3 changed files with 197 additions and 11 deletions

View File

@@ -1089,6 +1089,43 @@ Public Class ClsCRM
End Function
#End Region
#Region "Asignar Vendedor a Prospectos"
Public Function GetProspectosPorAsignarVendedor(CveEmpresa As Integer, Optional Empresa As String = "-1", Optional CveSubProyecto As Integer = -1, Optional CveGiro As Integer = -1) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_CRM_GetProspectosPorAsignarVendedor", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@Empresa", SqlDbType.NVarChar).Value = Empresa
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@CveGiro", SqlDbType.Int).Value = CveGiro
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener los Prospectos sin Vendedor.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function AsignarVendedor(CveProspectos As String, CveVendedor As Integer) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_CRM_AsignarVendedores", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@ProspectosCve", SqlDbType.NVarChar).Value = CveProspectos
.Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener los Prospectos sin Vendedor.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
#End Region
#Region "IDisposable Support"
' IDisposable
Protected Overridable Sub Dispose(disposing As Boolean)

View File

@@ -14,17 +14,89 @@
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivFiltros" class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" OnClick="BtnConsultar_Click" class="btn btn-primary" ValidationGroup="Valida" />
</div>
<div class="titlefiltros caption">
<div class="row" style="margin-left: 10px;">
<asp:GridView ID="GvProspectos" runat="server" AutoGenerateColumns="False"
DataKeyNames="CveEmpresaCRM,Empresa,RFC,Correo,CveEncuestaAplicada,CveSubProyecto,CveMedioCaptacion,MedioCaptacion,NoContactos,NoAcercamientos,CveUsuarioIng,UsuarioIng,FechaIng,CveEncuestaCRM,CveVendedorAsignado,Vendedor,CveCliente,CveTipoProceso,CveGiroClasificacion,SubProyecto,ClienteClasificacion"
EmptyDataText="No se encontraron registros" ToolTip="Listado de Temas" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" data-sort="true" data-freezerows="1" GridLines="None">
<Columns>
<asp:HyperLinkField DataNavigateUrlFields="CveEmpresaCRM" DataNavigateUrlFormatString="/CRM/EmpresaCRM.aspx?CveEmpresaCRM={0}" DataTextField="Empresa" HeaderText="Prospectos" SortExpression="Empresa" />
<asp:HyperLinkField DataNavigateUrlFields="CveEmpresaCRM" DataNavigateUrlFormatString="/CRM/EmpresaCRM.aspx?CveEmpresaCRM={0}" DataTextField="SubProyecto" HeaderText="SubProyecto" SortExpression="SubProyecto" />
<asp:HyperLinkField DataNavigateUrlFields="CveEmpresaCRM" DataNavigateUrlFormatString="/CRM/EmpresaCRM.aspx?CveEmpresaCRM={0}" DataTextField="ClienteClasificacion" HeaderText="Giro" SortExpression="ClienteClasificacion" />
</Columns>
</asp:GridView>
<label class="col-md-1 " style="width: 90px; margin-top: 5px;">Nombre:</label>
<div class="col-md-2">
<asp:TextBox ID="TxtNombre" runat="server" CssClass="form-control" CausesValidation="true" Width="98%" MaxLength="10"></asp:TextBox>
</div>
<label class="col-md-1 " style="width: 90px; margin-top: 5px;">SubProyecto:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlSubProyecto" runat="server" Width="100%" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Class="table-group-action-input form-control input-inline input-small input-sm select2me"></asp:DropDownList>
</div>
<label class="col-md-1 " style="width: 90px; margin-top: 5px;">Giro:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlGiroClasificacion" Width="100%" runat="server" DataValueField="CveClienteClasificacion" DataTextField="ClienteClasificacion" AppendDataBoundItems="true" CssClass="form-control input-sm select2me"></asp:DropDownList>
</div>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" UpdateMode="conditional" ID="UPPrecioLista">
<ContentTemplate>
<div class="row">
<div class="col-md-6">
<div class="portlet light smmallpadding traspasorow bordered xspadding">
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span class="caption-subject bold uppercase">Asignar vendedor</span>
</div>
<div class="actions">
<div class="btn-group">
</div>
</div>
<div class="tools">
<a href="javascript:;" class="collapse"></a>
</div>
</div>
<div class="portlet-body rowpadding">
<div class="row">
<label class="col-md-1 " style="width: 90px; margin-top: 5px;">Vendedor:</label>
<div class="col-md-5">
<asp:DropDownList ID="DdlVendedor" Width="100%" runat="server" DataValueField="CveVendedor" DataTextField="Vendedor" AppendDataBoundItems="true" CssClass="form-control input-sm select2me"></asp:DropDownList>
</div>
</div>
<div class="text-right">
<asp:LinkButton ID="BtnAsignar" runat="server" OnClick="BtnAsignar_Click" AlternateText="Actualizar" CausesValidation="True" CssClass="btn btn-primary" Text="Asignar Seleccionadas" ValidationGroup="GrpGuardar" />
</div>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" UpdateMode="conditional" ID="UpDatos">
<ContentTemplate>
<div class="row" style="margin-left: 0px; margin-top: 15px; margin-bottom: 5px; text-align: right; margin-right: 5px;" align="left">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvProspectos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvProspectos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
<asp:GridView ID="GvProspectos" runat="server" AutoGenerateColumns="False" DataKeyNames="CveEmpresaCRM,Empresa,CveSubProyecto,SubProyecto,CveGiro,Giro" EmptyDataText="No se encontraron registros"
ToolTip="Listado de Temas" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" data-sort="true" data-freezerows="1" GridLines="None">
<Columns>
<asp:TemplateField HeaderText="Asignar" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:CheckBox runat="server" ID="ChkAsignar" Checked="false" />
</ItemTemplate>
</asp:TemplateField>
<asp:HyperLinkField DataNavigateUrlFields="CveEmpresaCRM" DataNavigateUrlFormatString="/CRM/EmpresaCRM.aspx?CveEmpresaCRM={0}" DataTextField="Empresa" HeaderText="Prospectos" SortExpression="Empresa" />
<asp:HyperLinkField DataNavigateUrlFields="CveEmpresaCRM" DataNavigateUrlFormatString="/CRM/EmpresaCRM.aspx?CveEmpresaCRM={0}" DataTextField="SubProyecto" HeaderText="SubProyecto" SortExpression="SubProyecto" />
<asp:HyperLinkField DataNavigateUrlFields="CveEmpresaCRM" DataNavigateUrlFormatString="/CRM/EmpresaCRM.aspx?CveEmpresaCRM={0}" DataTextField="Giro" HeaderText="Giro" SortExpression="ClienteClasificacion" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>
</asp:Content>

View File

@@ -1,4 +1,5 @@
using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using System.Web;
@@ -12,6 +13,82 @@ public partial class CRM_AsignarVendedorEnProspectos : ClsPaginas
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.CargaFiltros();
this.CargaDatos();
}
}
private void CargaDatos()
{
string Empresa = (TxtNombre.Text == "" ? "-1" : TxtNombre.Text);
ClsCRM ObjCRM = new ClsCRM();
if (ObjCRM.GetProspectosPorAsignarVendedor(UsuarioActual.CveEmpresa, Empresa, DdlSubProyecto.SelectedValue.ToEntero(),DdlGiroClasificacion.SelectedValue.ToEntero()))
{
GvProspectos.DataSource = ObjCRM.DtResultados;
}
ObjCRM.Dispose();
GvProspectos.DataBind();
}
private void CargaFiltros()
{
DdlSubProyecto.DataSource = get_GlobalDTSubProyectos(-1, CveEmpresa: UsuarioActual.CveEmpresa);
DdlSubProyecto.Items.Insert(0, new ListItem("Seleccione", "-1"));
DdlSubProyecto.DataBind();
DdlGiroClasificacion.DataSource = get_GlobalDTClienteClasificaciones(UsuarioActual.CveEmpresa);
DdlGiroClasificacion.Items.Insert(0, new ListItem("Seleccione", "-1"));
DdlGiroClasificacion.DataBind();
DdlVendedor.DataSource = get_GlobalDTVendedores(UsuarioActual.CveEmpresa);
DdlVendedor.Items.Insert(0, new ListItem("Seleccione", "-1"));
DdlVendedor.DataBind();
}
protected void BtnConsultar_Click(object sender, EventArgs e)
{
CargaDatos();
}
protected void BtnAsignar_Click(object sender, EventArgs e)
{
StringBuilder CveProspectos = new StringBuilder();
GridViewRowCollection RowsProspectos = GvProspectos.Rows;
foreach (GridViewRow Prospecto in RowsProspectos)
{
bool Asignado = Prospecto.FCCheckBox("ChkAsignar").Checked;
if (Asignado)
{
int CveProspecto = Prospecto.DataKey("CveEmpresaCRM").ToEntero();
CveProspectos.AppendFormat("{0},",CveProspecto);
}
}
string CveProspectosFinal = CveProspectos.ToString();
int CveVendedor = DdlVendedor.SelectedValue.ToEntero();
if (CveProspectosFinal.Length > 0 && CveVendedor != -1)
{
CveProspectos.Remove((CveProspectos.Length -1),1);
ClsCRM ObjCRM = new ClsCRM();
if (ObjCRM.AsignarVendedor(CveProspectosFinal,CveVendedor))
{
string Vendedor = DdlVendedor.SelectedItem.Text;
string MensajeExito = String.Format("El vendedor '{0}' fue asignado a los prospectos de manera exitosa", Vendedor);
Alert(MensajeExito);
this.CargaDatos();
UpDatos.Update();
}
ObjCRM.Dispose();
}
}
}