Commit inicial Ventas Productivo
This commit is contained in:
432
Compras/RepComprasPersonal.aspx.vb
Normal file
432
Compras/RepComprasPersonal.aspx.vb
Normal file
@@ -0,0 +1,432 @@
|
||||
Option Strict On
|
||||
Option Explicit On
|
||||
|
||||
Imports Microsoft.Reporting.WebForms
|
||||
Imports Extensiones
|
||||
Imports System.Data
|
||||
Partial Class Compras_RepComprasPersonal
|
||||
Inherits ClsPaginas
|
||||
|
||||
#Region "PROPIEDADES"
|
||||
Private Property TCEspecifico As Double
|
||||
Get
|
||||
If ViewState("TCEspecifico") Is Nothing Then
|
||||
Return -1
|
||||
Else
|
||||
Return DirectCast(ViewState("TCEspecifico"), Double)
|
||||
End If
|
||||
End Get
|
||||
Set(value As Double)
|
||||
ViewState("TCEspecifico") = value
|
||||
End Set
|
||||
End Property
|
||||
Private Property DTDatos As DataTable
|
||||
Get
|
||||
If ViewState("DTDatos") Is Nothing Then
|
||||
Return New DataTable
|
||||
Else
|
||||
Return DirectCast(ViewState("DTDatos"), DataTable)
|
||||
End If
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
ViewState("DTDatos") = value
|
||||
End Set
|
||||
|
||||
End Property
|
||||
Private Property DtColor As DataTable
|
||||
Get
|
||||
Return DirectCast(ViewState("DtColor"), DataTable)
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
ViewState("DtColor") = value
|
||||
End Set
|
||||
End Property
|
||||
Private Property Agrupador As String
|
||||
Get
|
||||
Return ViewState("Agrupador").ToString
|
||||
End Get
|
||||
|
||||
Set(value As String)
|
||||
ViewState("Agrupador") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
#End Region
|
||||
|
||||
Private Sub Compras_RepComprasPersonal_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
If Not IsPostBack Then
|
||||
CargaCombos()
|
||||
DdlPS.ddl.Visible = False
|
||||
DdlPS.ddlWS.Attributes.Add("data-estatus", "-1")
|
||||
CreaDataTableColor()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#Region "CARGAS"
|
||||
|
||||
Private Sub CargaCombos()
|
||||
|
||||
DdlProveedores.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
|
||||
DdlProveedores.DataBind()
|
||||
|
||||
DdlMonedas.DataSource = GlobalDTMonedas()
|
||||
DdlMonedas.DataBind()
|
||||
|
||||
DdlProyecto.DataSource = GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1)
|
||||
DdlProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
|
||||
DdlProyecto.DataBind()
|
||||
|
||||
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros(" Codigo = '' OR Codigo IS NULL ", Orderby:="Clasificacion")
|
||||
DdlClasificacion.DataBind()
|
||||
|
||||
DdlPersonal.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa)
|
||||
DdlPersonal.DataBind()
|
||||
DdlPersonal.Items.Insert(0, New ListItem("Todos", "-1"))
|
||||
|
||||
CargaSubProyecto()
|
||||
|
||||
If UsuarioActual.Empresa.Tipo_CentroCosto = 1 Then
|
||||
DdlSubProyecto.Items.Clear()
|
||||
DdlProyecto.Visible = False
|
||||
LblSubProyecto.Text = "Sucursal"
|
||||
LblProyecto.Visible = False
|
||||
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
|
||||
DdlSubProyecto.DataBind()
|
||||
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
|
||||
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 2 Then
|
||||
DdlSubProyecto.Items.Clear()
|
||||
DdlProyecto.Visible = False
|
||||
LblSubProyecto.Text = "Proyecto"
|
||||
LblProyecto.Visible = False
|
||||
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa - 1, 1)
|
||||
DdlSubProyecto.DataBind()
|
||||
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
|
||||
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 3 Or UsuarioActual.Empresa.Tipo_CentroCosto = 0 Then
|
||||
LblProyecto.Text = "Proyecto"
|
||||
|
||||
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 4 Then
|
||||
LblProyecto.Text = "Sucursal"
|
||||
LblSubProyecto.Text = "Proyecto"
|
||||
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 5 Then
|
||||
LblProyecto.Text = "Proyecto"
|
||||
LblSubProyecto.Text = "Sucursal"
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyecto.SelectedIndexChanged
|
||||
CargaSubProyecto()
|
||||
End Sub
|
||||
Private Sub CargaSubProyecto()
|
||||
DdlSubProyecto.Items.Clear()
|
||||
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1, 1)
|
||||
DdlSubProyecto.DataBind()
|
||||
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
|
||||
End Sub
|
||||
Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click
|
||||
CargaDatos()
|
||||
UPDatos.Update()
|
||||
End Sub
|
||||
Private Sub CargaDatos()
|
||||
Dim ObjCompras As New ClsCompras()
|
||||
Dim FechaI, FechaF As String
|
||||
Dim CvePS As Integer = If(DdlPS.txtValue.Value = "", -1, DdlPS.txtValue.Value.ToString.ToEntero)
|
||||
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
|
||||
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
|
||||
If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then
|
||||
TCEspecifico = TxtEspecifico.Text.ToDouble
|
||||
Else
|
||||
TCEspecifico = -1
|
||||
End If
|
||||
If ObjCompras.GetRepComprasPersonal(FechaI, FechaF, DdlProveedores.SelectedValue.ToEntero, DdlMonedas.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero,
|
||||
DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, RblTipoCambio.SelectedValue.ToEntero, TCEspecifico,
|
||||
DdlClasificacion.SelectedValue.ToEntero, DdlPersonal.SelectedValue.ToEntero,
|
||||
CvePS, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then
|
||||
DTDatos = ObjCompras.DtResultados
|
||||
GvDatos.DataSource = ObjCompras.DtResultados
|
||||
Else
|
||||
DTDatos = Nothing
|
||||
GvDatos.DataSource = Nothing
|
||||
End If
|
||||
ObjCompras.Dispose()
|
||||
GvDatos.DataBind()
|
||||
Agrupador = DdlGrupo.SelectedItem.Text
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "GRIDVIEWROW"
|
||||
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
|
||||
If e.Row.RowType = DataControlRowType.Header Then
|
||||
e.Row.Cells(0).Text = DdlGrupo.SelectedItem.Text
|
||||
End If
|
||||
If e.Row.RowType = DataControlRowType.DataRow Then
|
||||
Dim FechaI, FechaF As String
|
||||
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
|
||||
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
|
||||
|
||||
Dim PS As String = DdlPS.txtText.Value
|
||||
Dim CvePS As String = DdlPS.txtValue.Value
|
||||
|
||||
Dim Liga As String = $"/Compras/RepComprasPersonalDetalle.aspx?GPO={DdlGrupo.SelectedValue}&Anio={e.Row.DBCampo("Anio")}&Mes={e.Row.DBCampo("Mes")}&AnioMes={ e.Row.DBCampo("AnioMes")}&Fecha={e.Row.DBCampo("Fecha")}&CveProveedor={ e.Row.DBCampo("CveProveedor")}&CvePersonal={e.Row.DBCampo("CvePersonal")}&CveProyecto={e.Row.DBCampo("CveProyecto")}&CveSubProyecto={e.Row.DBCampo("CveSubProyecto")}&CvePS={CvePS}&CveClasificacion={e.Row.DBCampo("CveClasificacion")}&CveMoneda={ e.Row.DBCampo("CveMoneda")}&FechaI={FechaI}&FechaF={FechaF}&PS={PS}"
|
||||
|
||||
If e.Row.DBCampo("Orden") = "1" Then
|
||||
e.Row.Cells(0).Text = String.Format("<a class='{0}' target='_blank' href='{1}'>{2}</a>", "Texto", Liga, e.Row.DataKey("GPO").ToString)
|
||||
Else
|
||||
e.Row.BackColor = Drawing.Color.LightGray
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "IMPRIMIR"
|
||||
|
||||
Private Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click
|
||||
GenerarPDF("Excel")
|
||||
End Sub
|
||||
Private Sub LinkPDF_Click(sender As Object, e As EventArgs) Handles LinkPDF.Click
|
||||
GenerarPDF()
|
||||
End Sub
|
||||
|
||||
Private Sub GenerarPDF(Optional Formato As String = "PDF")
|
||||
Dim ObjTareas As New ClsOIEventos
|
||||
|
||||
Dim params As New List(Of ReportParameter)
|
||||
|
||||
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 FechaI, FechaF As String
|
||||
FechaI = If(txtFechaI.Text = "" Or txtFechaI.Text = "__/__/____", "-1", txtFechaI.Text)
|
||||
FechaF = If(txtFechaF.Text = "" Or txtFechaF.Text = "__/__/____", "-1", txtFechaF.Text)
|
||||
params.Add(New ReportParameter("AgrupadoPor", FiltrosUsados()))
|
||||
params.Add(New ReportParameter("GPO", DdlGrupo.SelectedItem.Text))
|
||||
params.Add(New ReportParameter("Titulo", "REPORTE COMPRAS PERSONAL"))
|
||||
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
|
||||
params.Add(New ReportParameter("FechaInicio", FechaI))
|
||||
params.Add(New ReportParameter("FechaFin", FechaF))
|
||||
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
|
||||
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString))
|
||||
|
||||
If Imagen.Exists Then
|
||||
params.Add(New ReportParameter("LogoPath", logouri))
|
||||
Else
|
||||
params.Add(New ReportParameter("LogoPath", ""))
|
||||
End If
|
||||
ImprimirPDF("Empresas\Grales\Formatos\RepComprasPersonal.rdlc", DTDatos, params, "ReporteComprasPersonal_" & Now.ToString("yyyyMMddmmss"), Formato:=Formato)
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "TIPO CAMBIO / FILTROS USADOS"
|
||||
Private Sub RblTipoCambio_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RblTipoCambio.SelectedIndexChanged
|
||||
If RblTipoCambio.SelectedValue.ToEntero = 3 Then
|
||||
Dim TipoCambio As Double
|
||||
LiEspecifico.Visible = True
|
||||
TipoCambio = GlobalTipoCambio(Now)
|
||||
TxtEspecifico.Text = TipoCambio.ToString
|
||||
Else
|
||||
LiEspecifico.Visible = False
|
||||
End If
|
||||
UpBodyTipoCambio.Update()
|
||||
End Sub
|
||||
|
||||
Private Function FiltrosUsados() As String
|
||||
Dim filtro As String = "<b>Filtros:</b> "
|
||||
Dim ListaFiltros As New List(Of String)
|
||||
Dim Contador As Integer = 0
|
||||
|
||||
|
||||
If txtFechaI.Text.Length > 0 Then
|
||||
|
||||
ListaFiltros.Add("FechaI: " & txtFechaI.Text)
|
||||
End If
|
||||
|
||||
If txtFechaF.Text.Length > 0 Then
|
||||
|
||||
ListaFiltros.Add("FechaF: " & txtFechaF.Text)
|
||||
End If
|
||||
|
||||
If DdlPersonal.SelectedIndex > 0 Then
|
||||
|
||||
ListaFiltros.Add("Personal: " & DdlPersonal.SelectedItem.Text)
|
||||
End If
|
||||
|
||||
|
||||
|
||||
If DdlMonedas.SelectedIndex > 0 Then
|
||||
ListaFiltros.Add("Moneda: " & DdlMonedas.SelectedItem.Text)
|
||||
End If
|
||||
|
||||
If DdlProyecto.SelectedIndex > 0 Then
|
||||
ListaFiltros.Add("Proyecto: " & DdlProyecto.SelectedItem.Text)
|
||||
End If
|
||||
|
||||
If DdlSubProyecto.SelectedIndex > 0 Then
|
||||
ListaFiltros.Add("SubProyecto: " & DdlSubProyecto.SelectedItem.Text)
|
||||
End If
|
||||
|
||||
If DdlProveedores.SelectedIndex > 0 Then
|
||||
ListaFiltros.Add("Proveedor: " & DdlProveedores.SelectedItem.Text)
|
||||
End If
|
||||
|
||||
If DdlPS.txtValue.Value.ToEntero > 0 Then
|
||||
ListaFiltros.Add("Producto: " & DdlPS.txtText.Value)
|
||||
End If
|
||||
|
||||
If DdlClasificacion.SelectedIndex > 0 Then
|
||||
ListaFiltros.Add("Clasificación: " & DdlClasificacion.SelectedItem.Text)
|
||||
End If
|
||||
|
||||
For Each s As String In ListaFiltros
|
||||
|
||||
If Contador > 0 Then
|
||||
filtro = filtro & ", " & s
|
||||
Else
|
||||
filtro = filtro & " " & s
|
||||
End If
|
||||
|
||||
Contador = Contador + 1
|
||||
|
||||
Next
|
||||
|
||||
Return filtro
|
||||
End Function
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "GRAFICA"
|
||||
|
||||
Protected Sub LnkVerGrafica_Click(sender As Object, e As EventArgs)
|
||||
If Not DTDatos IsNot Nothing AndAlso DTDatos.Rows.Count > 0 Then
|
||||
Alert("No hay datos disponibles", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
LblTituloGrafica.Text = $"Agrupado por: {Agrupador}"
|
||||
RegistraScript("$('#DivModalGrafica').modal('show')")
|
||||
CambioGrafica()
|
||||
End Sub
|
||||
Private Sub CreaDataTableColor()
|
||||
DtColor = New DataTable
|
||||
DtColor.Columns.Add("Color")
|
||||
Dim RowColor As DataRow = Nothing
|
||||
RowColor = DtColor.NewRow()
|
||||
RowColor("Color") = "#FF0F00"
|
||||
DtColor.Rows.Add(RowColor)
|
||||
RowColor = Nothing
|
||||
RowColor = DtColor.NewRow()
|
||||
RowColor("Color") = "#FF6600"
|
||||
DtColor.Rows.Add(RowColor)
|
||||
RowColor = Nothing
|
||||
RowColor = DtColor.NewRow()
|
||||
RowColor("Color") = "#FF9E01"
|
||||
DtColor.Rows.Add(RowColor)
|
||||
RowColor = Nothing
|
||||
RowColor = DtColor.NewRow()
|
||||
RowColor("Color") = "#FCD202"
|
||||
DtColor.Rows.Add(RowColor)
|
||||
RowColor = Nothing
|
||||
RowColor = DtColor.NewRow()
|
||||
RowColor("Color") = "#F8FF01"
|
||||
DtColor.Rows.Add(RowColor)
|
||||
RowColor = Nothing
|
||||
RowColor = DtColor.NewRow()
|
||||
RowColor("Color") = "#B0DE09"
|
||||
DtColor.Rows.Add(RowColor)
|
||||
RowColor = Nothing
|
||||
RowColor = DtColor.NewRow()
|
||||
RowColor("Color") = "#04D215"
|
||||
DtColor.Rows.Add(RowColor)
|
||||
RowColor = Nothing
|
||||
RowColor = DtColor.NewRow()
|
||||
RowColor("Color") = "#0D8ECF"
|
||||
DtColor.Rows.Add(RowColor)
|
||||
RowColor = Nothing
|
||||
RowColor = DtColor.NewRow()
|
||||
RowColor("Color") = "#0D52D1"
|
||||
DtColor.Rows.Add(RowColor)
|
||||
RowColor = Nothing
|
||||
RowColor = DtColor.NewRow()
|
||||
RowColor("Color") = "#2A0CD0"
|
||||
DtColor.Rows.Add(RowColor)
|
||||
RowColor = Nothing
|
||||
RowColor = DtColor.NewRow()
|
||||
RowColor("Color") = "#8A0CCF"
|
||||
DtColor.Rows.Add(RowColor)
|
||||
RowColor = Nothing
|
||||
RowColor = DtColor.NewRow()
|
||||
RowColor("Color") = "#CD0D74"
|
||||
DtColor.Rows.Add(RowColor)
|
||||
RowColor = Nothing
|
||||
RowColor = DtColor.NewRow()
|
||||
RowColor("Color") = "#754DEB"
|
||||
DtColor.Rows.Add(RowColor)
|
||||
RowColor = Nothing
|
||||
RowColor = DtColor.NewRow()
|
||||
RowColor("Color") = "#DDDDDD"
|
||||
DtColor.Rows.Add(RowColor)
|
||||
RowColor = Nothing
|
||||
RowColor = DtColor.NewRow()
|
||||
RowColor("Color") = "#999999"
|
||||
DtColor.Rows.Add(RowColor)
|
||||
RowColor = Nothing
|
||||
RowColor = DtColor.NewRow()
|
||||
RowColor("Color") = "#333333"
|
||||
DtColor.Rows.Add(RowColor)
|
||||
RowColor = Nothing
|
||||
RowColor = DtColor.NewRow()
|
||||
RowColor("Color") = "#000000"
|
||||
DtColor.Rows.Add(RowColor)
|
||||
End Sub
|
||||
|
||||
Private Sub CambioGrafica()
|
||||
Dim Dt As New DataTable()
|
||||
Dt.Columns.Add("Texto")
|
||||
Dt.Columns.Add("Valor")
|
||||
Dt.Columns.Add("Color")
|
||||
Dt.Columns.Add("Moneda")
|
||||
Dim RowColorIndex As Integer = 0
|
||||
For Each Dr As DataRow In DTDatos.Rows
|
||||
If Dr("Orden").ToString = "1" Then
|
||||
Dim Row As DataRow = Nothing
|
||||
Row = Dt.NewRow()
|
||||
Row("Texto") = $"{Dr("GPO").ToString} {GlobalDTMonedas().FiltraParametros($"CveMoneda = {Dr("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}"
|
||||
Select Case DdlVer.SelectedValue.ToEntero
|
||||
Case 1
|
||||
Row("Valor") = Dr("Total").ToString.FormatoNumero
|
||||
Case 2
|
||||
Row("Valor") = Dr("Cantidad").ToString.FormatoNumero
|
||||
End Select
|
||||
Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString
|
||||
Row("Moneda") = Dr("Moneda").ToString
|
||||
Dt.Rows.Add(Row)
|
||||
RowColorIndex += 1
|
||||
If RowColorIndex = 17 Then
|
||||
RowColorIndex = 0
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
Dim query = From s In Dt.AsEnumerable() Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Moneda = s("Moneda").ToString()}
|
||||
Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(query)
|
||||
Select Case DdlGrafica.SelectedValue.ToEntero
|
||||
Case 1
|
||||
RegistraScript($"CargaGraficaBarras({json})", "22")
|
||||
Case 2
|
||||
RegistraScript($"CargaGraficaPastel({json})", "22")
|
||||
End Select
|
||||
UPModalProd.Update()
|
||||
End Sub
|
||||
Protected Sub DdlGrafica_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||
CambioGrafica()
|
||||
End Sub
|
||||
|
||||
Protected Sub DdlVer_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||
CambioGrafica()
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
End Class
|
||||
Reference in New Issue
Block a user