From e7280cd582030ac9c9e87ac974d60b4b85a9c49d Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 30 May 2022 15:50:47 -0700 Subject: [PATCH] -- detalle de columna mensual --- App_Code/ClsPaginas.vb | 1 + App_Code/ClsVentas.vb | 28 ++++ Ventas/MetasVendedores.aspx | 6 +- Ventas/MetasVendedores.aspx.vb | 19 +-- Ventas/MetasVendedoresDetalle.aspx | 179 ++++++++++++++++++++++++++ Ventas/MetasVendedoresDetalle.aspx.vb | 120 +++++++++++++++++ 6 files changed, 341 insertions(+), 12 deletions(-) create mode 100644 Ventas/MetasVendedoresDetalle.aspx create mode 100644 Ventas/MetasVendedoresDetalle.aspx.vb diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index a910c4a2d..977832d2a 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -5511,6 +5511,7 @@ Public Class ClsPaginas PaginaDict.Add("/Ventas/RepVentasMensuales.aspx".ToUpper(), 720) PaginaDict.Add("/Ventas/RepVentasMensualesDetalle.aspx".ToUpper(), 720) PaginaDict.Add("/Ventas/MetasVendedores.aspx".ToUpper(), 722) + PaginaDict.Add("/Ventas/MetasVendedoresDetalle.aspx".ToUpper(), 722) PaginaDict.Add("/Ventas/CatMetasVendedores.aspx".ToUpper(), 723) PaginaDict.Add("/Ventas/RepAuxiliarFacturas.aspx".ToUpper(), 567) PaginaDict.Add("/Ventas/CatAutorizacionLimites.aspx".ToUpper(), 781) diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index fd678dad0..80e668a42 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -4952,6 +4952,34 @@ Public Class ClsVentas Return retorno End Function + + Public Function GetRepMetasVendedoresDetalle(FechaMesActual As String, CveEmpresa As Integer, CveVendedor As Integer, CveCategoria As Integer, CveClasificacion As Integer, + CveClasificacion2 As Integer, CveMarca As Integer, CveSubProyecto As Integer, CveCliente As Integer, EsDistribuidor As Integer, + Optional GrupoSuperior As Integer = 0) As Boolean + Dim retorno As Boolean = False + DataAdapter("PA_Vta_MetasVendedoresDetalle", CommandType.StoredProcedure) + With SqlAdapter.SelectCommand.Parameters + .Add("@FechaMesActual", SqlDbType.DateTime).Value = FechaMesActual + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor + .Add("@CveCategoria", SqlDbType.Int).Value = CveCategoria + .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion + .Add("@CveClasificacion2", SqlDbType.Int).Value = CveClasificacion2 + .Add("@CveMarca", SqlDbType.Int).Value = CveMarca + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@EsDistribuidor", SqlDbType.Int).Value = EsDistribuidor + .Add("@GrupoSuperior", SqlDbType.Int).Value = GrupoSuperior + End With + Try + SqlAdapter.Fill(Data) + retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener el reporte de metas por vendedores", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + Return retorno + End Function + Public Function GetRepTopClientesVentas(CveEmpresa As Integer, Mes As Integer, Año As Integer, Optional Top As Integer = 20, Optional CveSubProyecto As Integer = -1) As Boolean Dim retorno As Boolean = False DataAdapter("PA_Vta_Top20ClientesMasVendidos", CommandType.StoredProcedure) diff --git a/Ventas/MetasVendedores.aspx b/Ventas/MetasVendedores.aspx index 072a2a9e9..4a28c4b90 100644 --- a/Ventas/MetasVendedores.aspx +++ b/Ventas/MetasVendedores.aspx @@ -44,9 +44,9 @@ font-weight: bold; } - .GrupoSuperior:hover { + .GrupoSuperior:hover { background-color: #000077; - } + } @@ -162,7 +162,7 @@ - + diff --git a/Ventas/MetasVendedores.aspx.vb b/Ventas/MetasVendedores.aspx.vb index f92b781f9..48dbd957a 100644 --- a/Ventas/MetasVendedores.aspx.vb +++ b/Ventas/MetasVendedores.aspx.vb @@ -25,17 +25,13 @@ Partial Class MetasVendedores DdlSubProyectoFiltro.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa) DdlSubProyectoFiltro.DataBind() - DdlSubProyectoFiltro.Items.Insert(0, New ListItem("Todos", "-1")) - - Dim ObjPS As New ClsProductosServicios - If ObjPS.GetMarcas(UsuarioActual.CveEmpresa) Then - DdlMarcaFiltro.DataSource = ObjPS.DtResultados - End If - ObjPS.Dispose() + DdlSubProyectoFiltro.Items.Insert(0, New ListItem("Todos", "-1")) + + DdlMarcaFiltro.DataSource = GlobalDTGralMarcas(UsuarioActual.CveEmpresa) DdlMarcaFiltro.DataBind() DdlMarcaFiltro.Items.Insert(0, New ListItem("Todos", "-1")) - DdlVendedorFiltro.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa) + DdlVendedorFiltro.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=-1).FiltraParametros("VendedorTipo in (1,4)") 'vendedores y vendedores de piso DdlVendedorFiltro.DataBind() DdlVendedorFiltro.Items.Insert(0, New ListItem("Todos", "-1")) @@ -79,9 +75,14 @@ Partial Class MetasVendedores Protected Sub GV_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GV.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then e.Row.FCLabel("lblRealMesPorcentaje").Text = String.Format("{0}{1}", e.Row.FCLabel("lblRealMesPorcentaje").Text, "%") - e.Row.FCLabel("lblRealAcumuladoPorcentaje").Text = String.Format("{0}{1}", e.Row.FCLabel("lblRealAcumuladoPorcentaje").Text, "%") + e.Row.FCLabel("lblRealAcumuladoPorcentaje").Text = String.Format("{0}{1}", e.Row.FCLabel("lblRealAcumuladoPorcentaje").Text, "%") 'e.Row.FCLabel("lblVarVSAAPerc").Text = String.Format("{0}{1}", e.Row.FCLabel("lblVarVSAAPerc").Text, "%") + e.Row.FCHyperLink("HplRealMes").NavigateUrl = String.Format("/Ventas/MetasVendedoresDetalle.aspx?CveSubProyecto={0}&CveCategoria={1}&CveClasificacion={2}&CveCliente={3}&CveVendedor={4}&Fecha={5}&Grupo={6}&CveMarca={7}&EsGarantia={8}&EsDistribuidor={9}&CveClasificacion2={10}", + e.Row.DBCampo("CveSubProyecto"), e.Row.DBCampo("CveCategoria"), e.Row.DBCampo("CveClasificacion"), e.Row.DBCampo("CveCliente"), e.Row.DBCampo("CveVendedor"), + e.Row.DBCampo("Fecha"), e.Row.DBCampo("Grupo"), e.Row.DBCampo("CveMarca"), e.Row.DBCampo("EsGarantia"), e.Row.DBCampo("EsDistribuidor"), e.Row.DBCampo("CveClasificacion2")) + + Select Case e.Row.DBCampo("TipoFila") Case "1" e.Row.CssClass = "Totales" diff --git a/Ventas/MetasVendedoresDetalle.aspx b/Ventas/MetasVendedoresDetalle.aspx new file mode 100644 index 000000000..ee904526a --- /dev/null +++ b/Ventas/MetasVendedoresDetalle.aspx @@ -0,0 +1,179 @@ +<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="MetasVendedoresDetalle.aspx.vb" Inherits="MetasVendedoresDetalle" %> + + + + + + + + + + Scorecard Ventas + + +
  • + PDF +
  • +
  • + Excel +
  • +
    + + + +
    +
    +
    + + "> + +
    +
    +
    +
    Fecha del mes:
    +
    +
    + + + + +
    + + +
    + +
    Sucursal:
    +
    + +
    + +
    + + + + + +
    +
    +
    +
    +
    > +
    + +
    + +
    + + +
    + +
    + +
    + +
    +
    +
    + +
    + +
    + +
    + +
    + +
    + +
    +
    +
    + +
    + + + + + +
    + +
    +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + diff --git a/Ventas/MetasVendedoresDetalle.aspx.vb b/Ventas/MetasVendedoresDetalle.aspx.vb new file mode 100644 index 000000000..31e695dc4 --- /dev/null +++ b/Ventas/MetasVendedoresDetalle.aspx.vb @@ -0,0 +1,120 @@ +Imports System.Data +Imports Extensiones +Imports Microsoft.Reporting.WebForms + +Partial Class MetasVendedoresDetalle + Inherits ClsPaginas + + Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load + If Not IsPostBack Then + CargaDatosFiltros() + + End If + End Sub + Private Sub CargaDatosFiltros() + + TxtFechaMes.Text = IfNull(Request("Fecha"), "2000/01/01").ToString + + DdlSubProyectoFiltro.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa) + DdlSubProyectoFiltro.DataBind() + DdlSubProyectoFiltro.Items.Insert(0, New ListItem("Todos", "-1")) + + DdlMarcaFiltro.DataSource = GlobalDTGralMarcas(UsuarioActual.CveEmpresa) + DdlMarcaFiltro.DataBind() + DdlMarcaFiltro.Items.Insert(0, New ListItem("Todos", "-1")) + + DdlVendedorFiltro.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=-1).FiltraParametros("VendedorTipo in (1,4)") 'vendedores y vendedores de piso + DdlVendedorFiltro.DataBind() + DdlVendedorFiltro.Items.Insert(0, New ListItem("Todos", "-1")) + + DdlCategoria.DataSource = GlobalDTGralCategorias(UsuarioActual.CveEmpresa) + DdlCategoria.DataBind() + DdlCategoria.Items.Insert(0, New ListItem("Todos", "-1")) + + DdlClasificaciones.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, UsoClasificacion:=1) + DdlClasificaciones.DataBind() + DdlClasificaciones.Items.Insert(0, New ListItem("Todos", "-1")) + + DdlClasificacion2.DataSource = GlobalDTClasificaciones2(UsuarioActual.CveEmpresa) + DdlClasificacion2.DataBind() + DdlClasificacion2.Items.Insert(0, New ListItem("Todos", "-1")) + + + DdlSubProyectoFiltro.SelectedValueExist(IfNull(Request("CveSubProyecto"), "-1").ToString) + DdlMarcaFiltro.SelectedValueExist(IfNull(Request("CveMarca"), "-1").ToString) + DdlVendedorFiltro.SelectedValueExist(IfNull(Request("CveVendedor"), "-1").ToString) + DdlCategoria.SelectedValueExist(IfNull(Request("CveCategoria"), "-1").ToString) + DdlClasificaciones.SelectedValueExist(IfNull(Request("CveClasificacion"), "-1").ToString) + DdlClasificacion2.SelectedValueExist(IfNull(Request("CveClasificacion2"), "-1").ToString) + CargarDatos() + + End Sub + + Private Sub CargarDatos() + Dim CveCliente As Integer = -1 + If DdlClientes.SelectedValue.ToEntero > 0 Then + CveCliente = DdlClientes.SelectedValue.ToEntero + End If + + Dim ObjVentas As New ClsVentas + If ObjVentas.GetRepMetasVendedoresDetalle(TxtFechaMes.Text, UsuarioActual.CveEmpresa, DdlVendedorFiltro.SelectedValue.ToEntero, DdlCategoria.SelectedValue.ToEntero, + DdlClasificaciones.SelectedValue.ToEntero, DdlClasificacion2.SelectedValue.ToEntero, DdlMarcaFiltro.SelectedValue.ToEntero, + DdlSubProyectoFiltro.SelectedValue.ToEntero, CveCliente, DdlDistribuidor.SelectedValue.ToEntero, DdlGrupo.SelectedValue.ToEntero) Then + GV.DataSource = ObjVentas.DtResultados + + End If + ObjVentas.Dispose() + GV.DataBind() + End Sub + + Protected Sub btConsultar_Click(sender As Object, e As EventArgs) Handles btConsultar.Click + CargarDatos() + UPDatos.Update() + End Sub + + + + 'Protected Sub LnkPDF_RowDataBound(sender As Object, e As EventArgs) Handles LnkPDF.Click + ' Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) + ' Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) + + ' Dim params As New List(Of ReportParameter) + ' params.Add(New ReportParameter("pEmp", UsuarioActual.Empresa.Empresa)) + ' If Imagen.Exists Then + ' params.Add(New ReportParameter("pImg", logouri)) + ' Else + ' params.Add(New ReportParameter("pImg", "")) + ' End If + ' params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Usuario)) + ' params.Add(New ReportParameter("FechaImpresion", Today)) + ' params.Add(New ReportParameter("SubProyecto", DdlSubProyectoFiltro.SelectedItem.ToString)) + ' params.Add(New ReportParameter("Agente", DdlVendedorFiltro.SelectedItem.ToString)) + + ' ImprimirPDF("Empresas/Grales/Formatos/MetasVendedores.rdlc", DtDatos, params, "Rep. Metas por vendedores", "PDF", RDSName:="DataSet1") + 'End Sub + + 'Private Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click + ' Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) + ' Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) + + ' Dim params As New List(Of ReportParameter) + ' params.Add(New ReportParameter("pEmp", UsuarioActual.Empresa.Empresa)) + ' If Imagen.Exists Then + ' params.Add(New ReportParameter("pImg", logouri)) + ' Else + ' params.Add(New ReportParameter("pImg", "")) + ' End If + ' params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Usuario)) + ' params.Add(New ReportParameter("FechaImpresion", Today)) + ' params.Add(New ReportParameter("SubProyecto", DdlSubProyectoFiltro.SelectedItem.ToString)) + ' params.Add(New ReportParameter("Agente", DdlVendedorFiltro.SelectedItem.ToString)) + + ' ImprimirPDF("Empresas/Grales/Formatos/MetasVendedores.rdlc", DtDatos, params, "Rep. Metas por vendedores", "Excel", RDSName:="DataSet1") + 'End Sub + + Private Sub DdlCategoria_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlCategoria.SelectedIndexChanged + DdlClasificaciones.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, CveCategoria:=DdlCategoria.SelectedValue.ToEntero, UsoClasificacion:=1) + DdlClasificaciones.DataBind() + DdlClasificaciones.Items.Insert(0, New ListItem("Todos", "-1")) + End Sub +End Class