Commit inicial Ventas Productivo
This commit is contained in:
336
Prospectos/RedesIndicadores.aspx.vb
Normal file
336
Prospectos/RedesIndicadores.aspx.vb
Normal file
@@ -0,0 +1,336 @@
|
||||
|
||||
Imports System.Data
|
||||
Imports System.Drawing
|
||||
Imports Extensiones
|
||||
Imports System.Web.UI.DataVisualization.Charting
|
||||
|
||||
Partial Class Prospectos_RedesIndicadores
|
||||
Inherits ClsPaginas
|
||||
|
||||
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
If Not Page.IsPostBack Then
|
||||
CargaDatos()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub CargaDatos()
|
||||
Dim Ind As New ClsProspectos
|
||||
'INDICADOR BARRAS
|
||||
|
||||
If Ind.GetProspectosRedesIndicadores(-1, -1, -1, -1, -1, -1, -1, -1, 2, UsuarioActual.CveEmpresa) Then
|
||||
|
||||
Dim yValues As New ArrayList
|
||||
Dim xValues As New ArrayList
|
||||
Dim MetaValues As New ArrayList
|
||||
For Each dr As DataRow In Ind.DtResultados.Rows
|
||||
yValues.Add(dr("Total"))
|
||||
xValues.Add(dr("Coordinador"))
|
||||
MetaValues.Add(dr("Meta"))
|
||||
|
||||
Next
|
||||
ChtBarras.ChartAreas("ChartArea1").Area3DStyle.Enable3D = True
|
||||
|
||||
ChtBarras.Titles(1).Text = String.Format("{0} de {1} ({2}%)", Ind.DtResultados.SUM("Total"), Ind.DtResultados.SUM("Meta"), (Ind.DtResultados.SUM("Total") / Ind.DtResultados.SUM("Meta") * 100).FormatoNumero)
|
||||
ChtBarras.Series("Series1")("DrawingStyle") = "Cylinder"
|
||||
ChtBarras.Series("Series2")("DrawingStyle") = "Cylinder"
|
||||
ChtBarras.Series("Series1").Points.DataBindXY(xValues, MetaValues)
|
||||
ChtBarras.Series("Series2").Points.DataBindXY(xValues, yValues)
|
||||
|
||||
End If
|
||||
|
||||
|
||||
GraficaVarios()
|
||||
Ind.Dispose()
|
||||
|
||||
CargaAvances()
|
||||
End Sub
|
||||
|
||||
Private Sub GraficaVarios()
|
||||
Me.ChtVarios.ViewStateContent = SerializationContents.All
|
||||
Me.ChtVarios.EnableViewState = True
|
||||
|
||||
Me.ChtVarios.Legends(0).CustomItems(0).Cells(0).PostBackValue = "LegendClick/0"
|
||||
Me.ChtVarios.Legends(0).CustomItems(1).Cells(0).PostBackValue = "LegendClick/1"
|
||||
Me.ChtVarios.Legends(0).CustomItems(2).Cells(0).PostBackValue = "LegendClick/2"
|
||||
Me.ChtVarios.Legends(0).CustomItems(3).Cells(0).PostBackValue = "LegendClick/3"
|
||||
Me.ChtVarios.Legends(0).CustomItems(4).Cells(0).PostBackValue = "LegendClick/4"
|
||||
|
||||
|
||||
|
||||
' Initialize chart settings
|
||||
Dim series As System.Web.UI.DataVisualization.Charting.Series = ChtVarios.Series(0)
|
||||
|
||||
' Fill data
|
||||
CargaPie(series, 1)
|
||||
|
||||
series.Legend = "Leyenda2"
|
||||
|
||||
' Set axis marks to be on bottom
|
||||
Me.ChtVarios.ChartAreas(0).AxisX.IsMarksNextToAxis = False
|
||||
|
||||
' Show end labels for Y axis
|
||||
Me.ChtVarios.ChartAreas(0).AxisY.LabelStyle.IsEndLabelVisible = True
|
||||
|
||||
' Set initial properties for border and shadows
|
||||
series.BorderWidth = 1
|
||||
series.ShadowOffset = 1
|
||||
|
||||
series.ShadowColor = Color.FromArgb(240, 64, 64, 64)
|
||||
End Sub
|
||||
|
||||
Protected Sub ChtVarios_Click(sender As Object, e As ImageMapEventArgs)
|
||||
' If user clicks on the map area attribute that corresponds to a legend item
|
||||
If e.PostBackValue.StartsWith("LegendClick") Then
|
||||
Dim args As String = e.PostBackValue.Split("/"c)(1)
|
||||
' Identify which legend item was clicked
|
||||
Dim index As Integer = Integer.Parse(args)
|
||||
|
||||
' Legend item result
|
||||
Dim legendItem As LegendItem = Me.ChtVarios.Legends(0).CustomItems(index)
|
||||
|
||||
' Resets all radio button images to be unchecked
|
||||
For Each item As LegendItem In Me.ChtVarios.Legends(0).CustomItems
|
||||
item.Cells(0).ImageTransparentColor = Color.Black
|
||||
item.Cells(0).Image = "/Imagenes/radio_button_unchecked.gif"
|
||||
Next
|
||||
Dim Opcion As Integer = 1
|
||||
|
||||
Select Case index
|
||||
Case 0 : Opcion = 1
|
||||
Case 1 : Opcion = 9 'Edades
|
||||
Case 2 : Opcion = 4 'Supervisor
|
||||
Case 3 : Opcion = 5 'Coordinador
|
||||
Case 4 : Opcion = 3 'Municipio
|
||||
End Select
|
||||
|
||||
CargaPie(ChtVarios.Series(0), Opcion)
|
||||
|
||||
Select Case legendItem.Cells(1).Text
|
||||
|
||||
End Select
|
||||
|
||||
'Me.ChtVarios.Series(0).ChartType = DirectCast([Enum].Parse(GetType(SeriesChartType), legendItem.Cells(1).Text, True), SeriesChartType)
|
||||
Me.ChtVarios.Series(0).BorderWidth = If(Me.ChtVarios.Series(0).ChartType = SeriesChartType.Line, 3, 1)
|
||||
legendItem.Cells(0).Image = "/Imagenes/radio_button_checked.gif"
|
||||
legendItem.Cells(0).ImageTransparentColor = Color.Green
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub CargaPie(series As System.Web.UI.DataVisualization.Charting.Series, Opcion As Integer)
|
||||
|
||||
Dim Ind As New ClsProspectos
|
||||
|
||||
If Ind.GetProspectosAgrupados2(-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, Opcion, UsuarioActual.CveEmpresa) Then
|
||||
Dim yValues As New ArrayList
|
||||
Dim xValues As New ArrayList
|
||||
series("PieDrawingStyle") = "Concave"
|
||||
'cuando es por edades, ordena por la claverango
|
||||
Dim dt As DataTable = Ind.DtResultados.FiltraParametros("CveAgrupador > 0", If(Opcion = 9, "CveRangoEdad", "Total Desc"))
|
||||
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
|
||||
|
||||
|
||||
Dim Total As Double = dt.SUM("Total")
|
||||
'Dim pp As DataPoint
|
||||
'Dim i As Integer = 0
|
||||
'For Each dr As DataRow In dt.Rows
|
||||
' pp = New DataPoint(dr("Total").ToString.ToDouble, dr("Total").ToString)
|
||||
' 'series.Points.AddXY("-", POL) : .Series(0).Points(ii).AxisLabel = "POL" : .Series(0).Points(ii).Label = POL.ToString
|
||||
' series.Points.Add(pp)
|
||||
' series.Points(i).Label = "a"
|
||||
' i += 1
|
||||
' 'yValues.Add(dr("Total"))
|
||||
' ''xValues.Add(dr("ProspectoClasificacionpie
|
||||
' 'xValues.Add(String.Format("{0} ({1}%)", dr("Agrupador"), (dr("Total").ToString.ToDouble / Total * 100).FormatoNumero))
|
||||
'Next
|
||||
|
||||
|
||||
For Each dr As DataRow In dt.Rows
|
||||
yValues.Add(dr("Total"))
|
||||
'xValues.Add(dr("ProspectoClasificacion"))
|
||||
xValues.Add(String.Format("{0} ({2} - {1}%)", dr("Agrupador"), (dr("Total").ToString.ToDouble / Total * 100).FormatoNumero, dr("Total")))
|
||||
Next
|
||||
|
||||
series.Points.DataBindXY(xValues, yValues)
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
'If Ind.GetProspectosTopTen(UsuarioActual.CveEmpresa) Then
|
||||
' GvTop.DataSource = Ind.DtResultados
|
||||
' GvTop.DataBind()
|
||||
|
||||
'End If
|
||||
Ind.Dispose()
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub CargaAvances()
|
||||
|
||||
Dim FechaInicio As Date = DateTime.Parse("2014/03/01")
|
||||
Dim FechaFin As Date = DateTime.Parse("2015/03/31")
|
||||
Dim Marcador As Integer = 1
|
||||
Dim Marcador1 As Integer = 1
|
||||
Dim Marcador2 As Integer = 1
|
||||
Dim Marcador3 As Integer = 1
|
||||
Dim TotalDias As Integer = (FechaFin - FechaInicio).Days
|
||||
Dim DiasTranscurridos As Integer = (DateTime.Now - FechaInicio).Days
|
||||
Dim Str As New StringBuilder
|
||||
|
||||
Dim Total As Integer = 20000
|
||||
Dim Total1 As Integer
|
||||
Dim Total2 As Integer
|
||||
Dim Total3 As Integer
|
||||
Dim Acum1 As Integer
|
||||
Dim Acum2 As Integer
|
||||
Dim Acum3 As Integer
|
||||
|
||||
Dim Ind As New ClsProspectos
|
||||
Dim Acum As Double = 0 ' Ind.DtResultados.SUM("Total").ToDouble
|
||||
If Ind.GetProspectosAgrupados2(-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10, UsuarioActual.CveEmpresa) Then
|
||||
Dim yValues As New ArrayList
|
||||
Dim xValues As New ArrayList
|
||||
Dim yyValues As New ArrayList
|
||||
|
||||
' ChtAvances.ChartAreas("ChartArea1").AxisX.IsMarginVisible = False
|
||||
|
||||
Dim Fechas = From s In Ind.DtResultados.AsEnumerable Where s!MesAnioIng <> "-1" Select Fecha = ("01/" & s!MesAnioIng).ToString.ToDate, Tot = s!Total.ToString.ToDouble Order By Fecha
|
||||
|
||||
|
||||
'xValues.Add(" - ")
|
||||
'yValues.Add(0)
|
||||
'yyValues.Add(0)
|
||||
|
||||
|
||||
For Each dr In Fechas.ToList
|
||||
'ChtAvances.Series("Series1").Points.AddY(dr.Tot)
|
||||
yValues.Add(dr.Tot)
|
||||
xValues.Add(dr.Fecha.ToString("MMM yyyy"))
|
||||
yyValues.Add(dr.Tot + Acum)
|
||||
Acum += dr.Tot
|
||||
Next
|
||||
|
||||
ChtAvances.Series(0).Points.DataBindXY(xValues, yValues)
|
||||
ChtAvances.Series(1).Points.DataBindXY(xValues, yyValues)
|
||||
|
||||
End If
|
||||
Dim DtZonas As DataTable
|
||||
If Ind.GetProspectosSupervisor(UsuarioActual.CveEmpresa) Then
|
||||
GvSup.DataSource = Ind.DtResultados
|
||||
GvSup.DataBind()
|
||||
DtZonas = Ind.DtResultados
|
||||
Acum1 = DtZonas.SUM("Total", "CveSupervisor=3").ToEntero
|
||||
Acum2 = DtZonas.SUM("Total", "CveSupervisor=4").ToEntero
|
||||
Acum3 = DtZonas.SUM("Total", "CveSupervisor=5").ToEntero
|
||||
Acum = Acum1 + Acum2 + Acum3
|
||||
End If
|
||||
|
||||
Ind.Dispose()
|
||||
|
||||
'carga la grafica de avances
|
||||
|
||||
|
||||
|
||||
|
||||
Dim dtt As DataTable = GlobalDTProspectosCoordinadores(-1, UsuarioActual.CveEmpresa)
|
||||
|
||||
Total1 = dtt.SUM("Meta", "CveSupervisor=3").ToEntero
|
||||
Total2 = dtt.SUM("Meta", "CveSupervisor=4").ToEntero
|
||||
Total3 = dtt.SUM("Meta", "CveSupervisor=5").ToEntero
|
||||
Total = Total1 + Total2 + Total3
|
||||
|
||||
|
||||
|
||||
Marcador = ((Acum / DiasTranscurridos) / (Total / TotalDias) * 100).ToEntero
|
||||
Marcador1 = ((Acum1 / DiasTranscurridos) / (Total1 / TotalDias) * 100).ToEntero
|
||||
Marcador2 = ((Acum2 / DiasTranscurridos) / (Total2 / TotalDias) * 100).ToEntero
|
||||
Marcador3 = ((Acum3 / DiasTranscurridos) / (Total3 / TotalDias) * 100).ToEntero
|
||||
|
||||
Str.Append(" var g = new JustGage({ ")
|
||||
Str.Append(" id: ""gauge"", ")
|
||||
Str.AppendFormat(" value: {0}, ", Marcador)
|
||||
Str.Append(" min: 0, ")
|
||||
Str.Append(" max: 200, ")
|
||||
Str.Append(" title: ""Avance Gral"", ")
|
||||
Str.Append(" label: ""%"", levelColors: new Array('#FF0000','#FFFF00','#00FF00') ")
|
||||
Str.Append(" }); ")
|
||||
|
||||
Str.Append(" var g = new JustGage({ ")
|
||||
Str.Append(" id: ""gauge1"", ")
|
||||
Str.AppendFormat(" value: {0}, ", Marcador1)
|
||||
Str.Append(" min: 0, ")
|
||||
Str.Append(" max: 200, ")
|
||||
Str.Append(" title: ""Norte"", ")
|
||||
Str.Append(" label: ""%"", levelColors: new Array('#FF0000','#FFFF00','#00FF00') ")
|
||||
Str.Append(" }); ")
|
||||
|
||||
Str.Append(" var g = new JustGage({ ")
|
||||
Str.Append(" id: ""gauge2"", ")
|
||||
Str.AppendFormat(" value: {0}, ", Marcador2)
|
||||
Str.Append(" min: 0, ")
|
||||
Str.Append(" max: 200, ")
|
||||
Str.Append(" title: ""Centro"", ")
|
||||
Str.Append(" label: ""%"", levelColors: new Array('#FF0000','#FFFF00','#00FF00') ")
|
||||
Str.Append(" }); ")
|
||||
|
||||
Str.Append(" var g = new JustGage({ ")
|
||||
Str.Append(" id: ""gauge3"", ")
|
||||
Str.AppendFormat(" value: {0}, ", Marcador3)
|
||||
Str.Append(" min: 0, ")
|
||||
Str.Append(" max: 200, ")
|
||||
Str.Append(" title: ""Sur"", ")
|
||||
Str.Append(" label: ""%"", levelColors: new Array('#FF0000','#FFFF00','#00FF00') ")
|
||||
Str.Append(" }); ")
|
||||
|
||||
|
||||
RegistraScript(Str.ToString)
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Protected Sub Gv_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvTop.RowDataBound
|
||||
If e.Row.RowType = DataControlRowType.DataRow Then
|
||||
If e.Row.RowIndex = 0 Then
|
||||
e.Row.Cells(0).Width = Unit.Pixel(250)
|
||||
e.Row.Cells(1).Width = Unit.Pixel(80)
|
||||
End If
|
||||
e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left
|
||||
If e.Row.DBCampo("CveSupervisor").ToEntero > 0 AndAlso e.Row.DBCampo("CveCoordinador").ToEntero = 0 Then
|
||||
|
||||
e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Center
|
||||
|
||||
|
||||
e.Row.CssClass = "Totales"
|
||||
e.Row.Height = 22
|
||||
' e.Row.Font.Size = 12
|
||||
e.Row.Cells(0).Font.Size = 12
|
||||
Else
|
||||
If e.Row.DBCampo("CveCoordinador").ToEntero > 0 AndAlso e.Row.DBCampo("NombreCompleto") = "" Then
|
||||
e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Center
|
||||
e.Row.CssClass = "SubTotales"
|
||||
e.Row.Height = 20
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Protected Sub GvSup_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvSup.RowDataBound
|
||||
If e.Row.RowType = DataControlRowType.DataRow Then
|
||||
If e.Row.RowIndex = 0 Then
|
||||
e.Row.Cells(0).Width = Unit.Pixel(100)
|
||||
e.Row.Cells(1).Width = Unit.Pixel(70)
|
||||
e.Row.Cells(2).Width = Unit.Pixel(70)
|
||||
e.Row.Cells(3).Width = Unit.Pixel(70)
|
||||
e.Row.CssClass = "Totales"
|
||||
e.Row.HorizontalAlign = HorizontalAlign.Center
|
||||
End If
|
||||
e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left
|
||||
|
||||
If e.Row.Cells(1).Text = "0" Then e.Row.Cells(1).Text = ""
|
||||
If e.Row.Cells(2).Text = "0" Then e.Row.Cells(2).Text = ""
|
||||
If e.Row.Cells(3).Text = "0" Then e.Row.Cells(3).Text = ""
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
Reference in New Issue
Block a user