Files
SIG/Contratos/RepPresupuestosDetalleCompras.aspx.vb
rrene 1c14bceea9 -- cambio de GlobalDTSubProyectos
- cambio en GlobalDTUsuarios
2024-08-01 05:46:28 -07:00

174 lines
7.2 KiB
VB.net

Option Explicit On
Option Strict On
Imports System.Data
Imports Extensiones
Imports Org.BouncyCastle.Asn1.Ocsp
Partial Class Contratos_RepPresupuestosDetalleCompras
Inherits ClsPaginas
#Region "P R O P I E D A D E S"
Public Property Gpo() As Integer
Get
Return DirectCast(ViewState("Gpo"), Integer)
End Get
Set(ByVal value As Integer)
ViewState("Gpo") = value
End Set
End Property
Public Property Comprometido As Boolean
Get
If ViewState("Comprometido") Is Nothing Then
ViewState("Comprometido") = False
End If
Return Boolean.Parse(ViewState("Comprometido").ToString)
End Get
Set(value As Boolean)
ViewState("Comprometido") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
InicializaValores()
CargaUrlParametros()
CargaDatos()
End If
End Sub
#Region " INICIALIZA VALORES "
Private Sub InicializaValores()
TxtFiltrosFechaInicio.Text = $"01/09/{NowADS().Year - 1}"
TxtFiltrosFechaFin.Text = $"31/08/{NowADS().Year}"
Dim dtAgrupador = (From dr In GlobalDTClasificaciones(UsuarioActual.CveEmpresa)
Select New With {.CveAgrupador = dr("CveClasificacion").ToString().ToEntero(), .Agrupador = dr("Clasificacion").ToString()}
).Union(From dr In GlobalDTContaConceptosContables(-1)
Select New With {.CveAgrupador = dr("CveConceptoContable").ToString().ToEntero(), .Agrupador = dr("ConceptoContable").ToString()}).QueryToDataTable(True)
DdlClasificacion.DataSource = dtAgrupador
DdlClasificacion.DataBind()
DdlClasificacion.Items.Insert(0, New ListItem("Todas", "-1"))
DdlTipoGasto.DataSource = GlobalDTTiposGastos(UsuarioActual.CveEmpresa)
DdlTipoGasto.DataBind()
DdlProyecto.DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1).FiltraParametros("", "", {"CveProyecto", "Proyecto"}), GlobalDTProyectos(UsuarioActual.CveEmpresa, -1).FiltraParametros("", "", {"CveProyecto", "Proyecto"}))
DdlProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
DdlProyecto.DataBind()
CargaSubProyecto()
UpFiltros.Update()
End Sub
Private Sub CargaSubProyecto()
DdlSubProyecto.Items.Clear()
If DdlProyecto.SelectedValue.ToEntero > 0 Or UsuarioActual.Empresa.Tipo_CentroCosto = 1 Then
DdlSubProyecto.DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(DdlProyecto.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa, 1))
End If
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
DdlSubProyecto.DataBind()
End Sub
Private Sub CargaUrlParametros()
Dim CveClasificacion = IfNull(Request("CveClasificacion"), -1).ToString.ToEntero
Dim FechaInicio = IfNull(Request("FechaInicio"), $"01/09/{NowADS().Year}").ToString
Dim FechaFin = IfNull(Request("FechaFin"), $"31/08/{NowADS().Year + 1}").ToString
Dim CveProyecto = IfNull(Request("CveProyecto"), -1).ToString.ToEntero
Dim CveSubProyecto = IfNull(Request("CveSubProyecto"), -1).ToString.ToEntero
Dim CveTipoGasto = IfNull(Request("CveTipoGasto"), -1).ToString.ToEntero
Dim Agrupador = IfNull(Request("Agrupador"), -1).ToString.ToEntero
Comprometido = If(Request("Comprometido") IsNot Nothing AndAlso Request("Comprometido").ToEntero = 1, True, False)
Gpo = IfNull(Request("CveAgrupador"), -1).ToString.ToEntero
Dim EsProyecto = CBool(IfNull(Request("EsProyecto"), False))
If Agrupador = 1 Then Agrupador = 2 Else Agrupador = 1
DdlClasificacion.SelectedValueExist(CveClasificacion)
If Agrupador = 2 Then
DdlClasificacion.SelectedValueExist(Gpo)
DdlProyecto.SelectedValueExist(CveProyecto)
CargaSubProyecto()
DdlSubProyecto.SelectedValueExist(CveSubProyecto)
ElseIf Agrupador = 1 Then
If Not EsProyecto Then
Dim Dr As DataRow = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, Gpo)(0)
DdlProyecto.SelectedValueExist(Dr("CveProyecto"))
CargaSubProyecto()
DdlSubProyecto.SelectedValueExist(Gpo)
Else
DdlProyecto.SelectedValueExist(Gpo)
CargaSubProyecto()
DdlSubProyecto.SelectedValueExist(CveSubProyecto)
End If
End If
DdlTipoGasto.SelectedValueExist(CveTipoGasto)
TxtFiltrosFechaInicio.Text = FechaInicio
TxtFiltrosFechaFin.Text = FechaFin
End Sub
#End Region
#Region " CARGA DATOS "
Protected Sub BtnConsultarFiltros_Click(sender As Object, e As EventArgs)
CargaDatos()
End Sub
Private Sub CargaDatos()
Dim ObjPresupuestos As New ClsContratos
If ObjPresupuestos.GetPresupuestosRepDetalleCompras(DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlClasificacion.SelectedValue.ToEntero, DdlTipoGasto.SelectedValue.ToEntero, TxtFiltrosFechaInicio.Text.ToDate,
TxtFiltrosFechaFin.Text.ToDate, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, Comprometido:=Comprometido) Then
GvDatos.DataSource = ObjPresupuestos.DtResultados
End If
ObjPresupuestos.Dispose()
GvDatos.DataBind()
UpDatos.Update()
End Sub
#End Region
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs)
CargaSubProyecto()
End Sub
Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.RowIndex = 0 Then
e.Row.CssClass = "Totales"
End If
If e.Row.RowIndex > 0 Then
Dim Liga = ""
Dim Css = "Texto"
If Comprometido Then
Liga = $"/OC/OC.aspx?OC={e.Row.DBCampo("CveOrdenCompra")}"
Else
Dim TipoAgrupador As Integer = e.Row.DBCampo("TipoAgrupador").ToEntero()
Select Case TipoAgrupador
Case 1
Liga = $"/Compras/Compras.aspx?&CveCompra={e.Row.DBCampo("CveCompra")}"
Case 2
Liga = $"/Contabilidad/RegPrepolizaS.aspx?&CvePrePoliza={e.Row.DBCampo("CveCompra")}"
Case Else
End Select
End If
e.Row.Cells(0).Text = "<a target=""_blank"" class=" + "" + Css + "" + " href=" + "" + Liga + "" + ">" + e.Row.Cells(0).Text + "</a>"
End If
End If
End Sub
End Class