From 1e7651bec902a1b2fc25f42b375d3772a8613372 Mon Sep 17 00:00:00 2001 From: rrene Date: Fri, 17 May 2024 16:13:25 -0700 Subject: [PATCH] -- mejoras en presupuesto EMD --- Contratos/RepPresupuestos.aspx | 12 ++-- Contratos/RepPresupuestos.aspx.vb | 102 +++++++++++++++++++----------- 2 files changed, 70 insertions(+), 44 deletions(-) diff --git a/Contratos/RepPresupuestos.aspx b/Contratos/RepPresupuestos.aspx index 62963dcf3..97e5c3c95 100644 --- a/Contratos/RepPresupuestos.aspx +++ b/Contratos/RepPresupuestos.aspx @@ -330,9 +330,9 @@ Agrupador Autorizado - Comprometido - Ejercido - Por Ejercer + En proceso de compra + + Por Ejercer Pagado @@ -343,11 +343,11 @@ <%-- - + - + - + diff --git a/Contratos/RepPresupuestos.aspx.vb b/Contratos/RepPresupuestos.aspx.vb index 50555e6cb..b7a05c96d 100644 --- a/Contratos/RepPresupuestos.aspx.vb +++ b/Contratos/RepPresupuestos.aspx.vb @@ -2,7 +2,6 @@ Option Strict On Imports System.Data -Imports Newtonsoft.Json Imports Newtonsoft.Json.Linq Imports Extensiones Imports Microsoft.Reporting.WebForms @@ -20,6 +19,15 @@ Partial Class Contratos_RepPresupuestos End Set End Property + Public Property UsaComprometido() As Boolean + Get + Return DirectCast(ViewState("UsaComprometido"), Boolean) + End Get + Set(ByVal value As Boolean) + ViewState("UsaComprometido") = 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 @@ -29,7 +37,7 @@ Partial Class Contratos_RepPresupuestos #Region " INICIALIZA VALORES " Private Sub InicializaValores() - + UsaComprometido = False If UsuarioActual.Empresa.Funcionalidad(267) = "1" Then 'emp citrícola TxtFiltrosFechaInicio.Text = $"01/08/{NowADS().Year - 1}" TxtFiltrosFechaFin.Text = $"31/07/{NowADS().Year}" @@ -54,6 +62,8 @@ Partial Class Contratos_RepPresupuestos DdlProyecto.Items.Insert(0, New ListItem("Todos", "-1")) DdlProyecto.DataBind() + If UsuarioActual.CveEmpresa.Contiene(13, 83) Then UsaComprometido = True + CargaSubProyecto() UpFiltros.Update() End Sub @@ -78,7 +88,13 @@ Partial Class Contratos_RepPresupuestos Dim Agrupador = DdlAgrupador.SelectedValue.ToEntero Dim FechaInicio = If(IsDate(TxtFiltrosFechaInicio.Text), TxtFiltrosFechaInicio.Text.ToDate, MinFecha) Dim FechaFin = If(IsDate(TxtFiltrosFechaFin.Text), TxtFiltrosFechaFin.Text.ToDate, MaxFecha) - Dim EsMensual = ChkMensual.Checked + Dim EsMensual = ChkMensual.Checked + + If UsaComprometido Then + thComprometido.Visible = True + GvDatos.Columns(2).Visible = True + LtlthEjercido.Text = "Facturado" + End If If Not EsMensual Then Dim ObjPresupuestos As New ClsContratos @@ -127,7 +143,6 @@ Partial Class Contratos_RepPresupuestos If EsMensual Then RegistraScript($"CargaChartMensual({HdnJsonProyecto.Value},{HdnJsonGraficos.Value});", "2") Else - RegistraScript($"CargaChartProyecto({HdnJsonProyecto.Value});", "2") End If @@ -286,27 +301,35 @@ Partial Class Contratos_RepPresupuestos Else Dim DrPresupuesto = DtPresupuestos.FiltroPrimero("Tipo = 0 AND CveAgrupador IS NULL") - Dim Autorizado = DrPresupuesto("Autorizado").ToString.ToDecimal - Dim Ejercido = DrPresupuesto("Ejercido").ToString.ToDecimal - Dim PorEjercer = DrPresupuesto("PorEjercer").ToString.ToDecimal - - Dim EjercidoPorcentaje = DrPresupuesto("EjercidoPorcentaje").ToString.ToDecimal - Dim PorEjercerPorcentaje = DrPresupuesto("PorEjercerPorcentaje").ToString.ToDecimal - - LtlAutorizado.Text = Autorizado.FormatoNumero - LtlEjercido.Text = Ejercido.FormatoNumero - LtlPorEjercer.Text = PorEjercer.FormatoNumero - - PBEjercido.Style.Remove("width") - PBEjercido.Style.Add("width", $"{EjercidoPorcentaje.ToString}%") - - PBPorEjercer.Style.Remove("width") - PBPorEjercer.Style.Add("width", $"{PorEjercerPorcentaje.ToString}%") - - LtlPorcentajeEjercido.Text = EjercidoPorcentaje.FormatoNumero + " %" - LtlPorcentajePorEjercer.Text = PorEjercerPorcentaje.FormatoNumero + " %" - - Dim json = New JArray( + Dim Autorizado As Decimal = DrPresupuesto("Autorizado").ToString.ToDecimal + Dim Ejercido As Decimal = DrPresupuesto("Ejercido").ToString.ToDecimal + Dim PorEjercer As Decimal = DrPresupuesto("PorEjercer").ToString.ToDecimal + Dim EjercidoPorcentaje = DrPresupuesto("EjercidoPorcentaje").ToString.ToDecimal + Dim PorEjercerPorcentaje = DrPresupuesto("PorEjercerPorcentaje").ToString.ToDecimal + + If UsaComprometido Then + Ejercido = DrPresupuesto("Comprometido").ToString.ToDecimal + PorEjercer = Autorizado - Ejercido + EjercidoPorcentaje = Ejercido / Autorizado * 100 + PorEjercerPorcentaje = PorEjercer / Autorizado * 100 + thComprometido.Visible = True + GvDatos.Columns(2).Visible = True + End If + + LtlAutorizado.Text = Autorizado.FormatoNumero + LtlEjercido.Text = Ejercido.FormatoNumero + LtlPorEjercer.Text = PorEjercer.FormatoNumero + + PBEjercido.Style.Remove("width") + PBEjercido.Style.Add("width", $"{EjercidoPorcentaje.ToString}%") + + PBPorEjercer.Style.Remove("width") + PBPorEjercer.Style.Add("width", $"{PorEjercerPorcentaje.ToString}%") + + LtlPorcentajeEjercido.Text = EjercidoPorcentaje.FormatoNumero + " %" + LtlPorcentajePorEjercer.Text = PorEjercerPorcentaje.FormatoNumero + " %" + + Dim json = New JArray( From dr In DtDatos Select New JObject( New JProperty("Agrupador", dr("Agrupador").ToString()), @@ -316,13 +339,13 @@ Partial Class Contratos_RepPresupuestos New JProperty("AutorizadoProporcion", 100), New JProperty("EjercidoProporcion", dr("EjercidoPorcentaje").ToString().ToDecimal()), New JProperty("PorEjercerProporcion", dr("PorEjercerPorcentaje").ToString().ToDecimal())) - ) - - HdnJsonProyecto.Value = json.ToString - End If - - - Else + ) + + HdnJsonProyecto.Value = json.ToString + End If + + + Else LtlAutorizado.Text = "" LtlEjercido.Text = "" LtlPorEjercer.Text = "" @@ -342,21 +365,24 @@ Partial Class Contratos_RepPresupuestos If e.Row.DBCampo("Autorizado").ToDecimal = 0 Then e.Row.Cells(1).Text = "-" End If - If e.Row.DBCampo("Ejercido").ToDecimal = 0 Then - e.Row.Cells(2).Text = "-" + If e.Row.DBCampo("Comprometido").ToDecimal = 0 Then + e.Row.Cells(1).Text = "-" End If - If e.Row.DBCampo("EjercidoPorcentaje").ToDecimal = 0 Then + If e.Row.DBCampo("Ejercido").ToDecimal = 0 Then e.Row.Cells(3).Text = "-" End If - If e.Row.DBCampo("PorEjercer").ToDecimal = 0 Then + If e.Row.DBCampo("EjercidoPorcentaje").ToDecimal = 0 Then e.Row.Cells(4).Text = "-" End If - If e.Row.DBCampo("PorEjercerPorcentaje").ToDecimal = 0 Then + If e.Row.DBCampo("PorEjercer").ToDecimal = 0 Then e.Row.Cells(5).Text = "-" End If - If e.Row.DBCampo("Pagado").ToDecimal = 0 Then + If e.Row.DBCampo("PorEjercerPorcentaje").ToDecimal = 0 Then e.Row.Cells(6).Text = "-" End If + If e.Row.DBCampo("Pagado").ToDecimal = 0 Then + e.Row.Cells(7).Text = "-" + End If If e.Row.RowIndex > 0 Then Dim CveAgrupador = e.Row.DBCampo("CveAgrupador").ToEntero