-- detalle de columna mensual

This commit is contained in:
2022-05-30 15:50:47 -07:00
parent 25d58fb0d1
commit e7280cd582
6 changed files with 341 additions and 12 deletions

View File

@@ -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)

View File

@@ -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)

View File

@@ -44,9 +44,9 @@
font-weight: bold;
}
.GrupoSuperior:hover {
.GrupoSuperior:hover {
background-color: #000077;
}
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
@@ -162,7 +162,7 @@
</asp:TemplateField>
<asp:TemplateField HeaderText="Real" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblRealMes" runat="server" Target="_blank" Text='<%# Eval("RealMes", "{0:#,###}").ToString() %>'> </asp:Label>
<asp:HyperLink ID="HplRealMes" runat="server" Target="_blank" Text='<%# Eval("RealMes", "{0:#,###}").ToString() %>'> </asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="" ItemStyle-HorizontalAlign="Center">

View File

@@ -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"

View File

@@ -0,0 +1,179 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="MetasVendedoresDetalle.aspx.vb" Inherits="MetasVendedoresDetalle" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.table-scrollable {
margin-top: 0px !important;
margin-bottom: 0px !important;
}
.dataTables_scrollHeadInner {
width: 100% !important;
background-color: #dddddd;
padding-left: 0px !important;
}
.dataTables_scrollFoot {
display: none;
position: static;
}
.table-scrollable {
margin: 0px !important;
}
.dataTables_scroll {
margin-bottom: 0px;
}
.table.dataTable {
margin-top: 0px !important;
}
.dataTables_scrollBody table th {
padding: 0px !important;
padding-right: 4px !important;
padding-left: 4px !important;
}
.GrupoSuperior {
background-color: #000077;
color: white;
font-weight: bold;
}
.GrupoSuperior:hover {
background-color: #000077;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Scorecard Ventas
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<li>
<asp:LinkButton ID="LnkPDF" runat="server"><i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkExportar" runat="server"><i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Excel</asp:LinkButton>
</li>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel runat="server" ID="UpFiltros">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle" style="min-height: 45px; position: relative;">
<div class="tools">
<asp:Button ID="btConsultar" CssClass="btn btn-primary" runat="server" ValidationGroup="GrpConsultar" Text="Consultar" /></td>
<a href="javascript;" data-idchekbox="<%= chkexpand.ClientID%>" class=" <%= IIf(chkexpand.Checked = True, "collapse", "expand")%>"></a>
<asp:CheckBox ID="chkexpand" CssClass="hidden" runat="server" />
</div>
<div class="titlefiltros caption magindate">
<div class="row">
<div class="col-md-1 truncate text-right">Fecha del mes: </div>
<div class="col-md-3 col-sm-2">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 95px !important; padding: 0px;">
<asp:TextBox Style="width: 80px !important;" ID="TxtFechaMes" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgFechaMes" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MaskedEditExtender1" runat="server" TargetControlID="TxtFechaMes" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender1" TargetControlID="TxtFechaMes" PopupButtonID="ImgFechaMes" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
</div>
<div class="col-md-1 text-right">Sucursal: </div>
<div class="col-md-3">
<asp:DropDownList ID="DdlSubProyectoFiltro" runat="server" CssClass="form-control input-sm select2me" Width="50%" DataValueField="CveSubProyecto" DataTextField="SubProyecto"></asp:DropDownList>
</div>
<label class="col-md-1 text-right">Grupo: </label>
<div class="col-md-3">
<asp:DropDownList ID="DdlGrupo" runat="server" Class="table-group-action-input form-control input-inline input-sm select2me" Width="50%">
<asp:ListItem Value="0" Text="Por Vendedor"></asp:ListItem>
<asp:ListItem Value="1" Text="Por Sucursal"></asp:ListItem>
<asp:ListItem Value="2" Text="General"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
<div class="portlet-body magindate" <%= IIf(chkexpand.Checked = True, "", "style=""display:none;""")%>>
<div class="row">
<label class="col-md-1 text-right">Vendedor: </label>
<div class="col-md-3">
<asp:DropDownList ID="DdlVendedorFiltro" runat="server" Class="table-group-action-input form-control input-inline input-sm select2me" Width="50%" DataValueField="CveVendedor" DataTextField="Vendedor"></asp:DropDownList>
</div>
<label class="col-md-1 text-right">Categoria: </label>
<div class="col-md-3">
<asp:DropDownList ID="DdlCategoria" runat="server" Class="table-group-action-input form-control input-inline input-sm select2me" Width="50%" DataValueField="CveCategoria" DataTextField="Categoria" AutoPostBack="true"></asp:DropDownList>
</div>
<label class="col-md-1 text-right">Clasificaciones: </label>
<div class="col-md-3">
<asp:DropDownList ID="DdlClasificaciones" runat="server" Class="table-group-action-input form-control input-inline input-sm select2me" Width="50%" DataValueField="CveClasificacion" DataTextField="Clasificacion"></asp:DropDownList>
</div>
</div>
<div class="row">
<label class="col-md-1 text-right">Sub Clasif: </label>
<div class="col-md-3">
<asp:DropDownList ID="DdlClasificacion2" runat="server" Class="table-group-action-input form-control input-inline input-sm select2me" Width="50%" DataValueField="CveClasificacion" DataTextField="Clasificacion"></asp:DropDownList>
</div>
<label class="col-md-1 text-right">Cliente: </label>
<div class="col-md-3">
<ADS:Dropdownlost CssClassDdl="select2me" ID="DdlClientes" Width="100%" data-metodo="getcliente" UsaWebService="true" runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width: 100%;"></ADS:Dropdownlost>
</div>
<label class="col-md-1 text-right">Marca: </label>
<div class="col-md-3">
<asp:DropDownList ID="DdlMarcaFiltro" runat="server" DataTextField="Marca" DataValueField="CveMarca" Class="table-group-action-input form-control input-inline input-sm select2me" Width="50%"></asp:DropDownList>
</div>
</div>
<div class="row">
<label title="Distr" data-toggle="tooltip" class="col-md-1 truncate">Distribuidor:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlDistribuidor" runat="server" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Distribuidor" Value="1"></asp:ListItem>
<asp:ListItem Text="No Distribuidor" Value="0"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div id="DivFamiliaSubFamilia" class="row" runat="server" visible="false">
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div id="dvCuerpo" style="width: 100%">
<asp:UpdatePanel ID="UPDatos" runat="server" RenderMode="Inline" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GV" runat="server" GridLines="None" BorderWidth="0" UseAccessibleHeader="true"
CssClass="table table-advance Widthall ScrollAD" data-sort="true" ShowHeader="True" EmptyDataText="No se encontraron resultados." ShowHeaderWhenEmpty="true"
AutoGenerateColumns="false" AllowPaging="False" ShowFooter="False">
<Columns>
<asp:BoundField DataField="RowNum" HeaderText="#" />
<asp:BoundField DataField="Cantidad" HeaderText="Cantidad" />
<asp:BoundField DataField="Vendedor" HeaderText="Vendedor" />
<asp:BoundField DataField="SubProyecto" HeaderText="SubProyecto" />
<asp:BoundField DataField="Clasificacion" HeaderText="Clasificacion" />
<asp:BoundField DataField="Clasificacion2" HeaderText="Clasificacion2" />
<asp:BoundField DataField="Marca" HeaderText="Marca" />
<asp:BoundField DataField="SerieFolio" HeaderText="SerieFolio" />
<asp:BoundField DataField="TipoDocto" HeaderText="TipoDocto" />
<asp:BoundField DataField="Fecha" HeaderText="Fecha" DataFormatString="{0:d}" />
<asp:BoundField DataField="CodigoPS" HeaderText="CodigoPS" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script src="/Metronic/assets/global/scripts/datatable.js"></script>
<script src="/Metronic/assets/global/plugins/datatables/all.min.js"></script>
</asp:Content>

View File

@@ -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