This commit is contained in:
Antonio Gonzalez
2020-08-17 10:49:08 -07:00
11 changed files with 1206 additions and 193 deletions

View File

@@ -1,4 +1,4 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RegistroRevision.aspx.vb" Inherits="AF_RegistroRevision" %>
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RegistroRevision.aspx.vb" Inherits="AF_RegistroRevision" EnableEventValidation = "false" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
@@ -40,33 +40,25 @@
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
<%-- <asp:UpdatePanel runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
<%-- <asp:UpdatePanel runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkAgregarAF" runat="server" PostBackUrl="~/AF/AF.aspx">
<i class="fa fa-plus"></i> Nuevo Activo Fijo
</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LinkPDF" 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>
<asp:LinkButton ID="LnkDescargaReporte" runat="server" OnClick="LnkDescargaReporte_Click"> <i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> PDF</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkExportar" />
<asp:PostBackTrigger ControlID="LinkPDF" />
<asp:PostBackTrigger ControlID="LnkDescargaReporte" />
</Triggers>
</asp:UpdatePanel>--%>
</asp:UpdatePanel> --%>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Catálogo de Activos Fijos
Registro Revisión
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
@@ -75,12 +67,70 @@
<asp:UpdatePanel ID="UpFiltro" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter" style="">
<div class="col-md-4 ">
<div class="portlet light bordered xspadding">
<div class="portlet-title">
<div class="caption font-green">
<i class="fa fa-table font-green"></i>
<span class="caption-subject bold uppercase"><asp:Label runat="server" ID="LblSubProyecto2"></asp:Label></span>
</div>
<div class="actions">
<div class="btn-group">
<%--<asp:Button ID="BtnCargarClientes" runat="server" ClientIDMode="Static" Text="CargarClientes" Style="display: none;" class="btn btn-success" />--%>
</div>
</div>
</div>
<div class="portlet-body form">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlSubProyecto" CssClass="form-control input-sm select2me" Width="100%" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto" AutoPostBack="true" OnSelectedIndexChanged="DdlSubProyecto_SelectedIndexChanged"></asp:DropDownList>
<label for="<%= DdlSubProyecto.ClientID.ToString()%>">
<asp:Label runat="server" ID="LblSubProyecto"></asp:Label>
</label>
<i></i>
<asp:RequiredFieldValidator ID="RFVDdlSubProyecto" runat="server" InitialValue="-1" ControlToValidate="DdlSubProyecto" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio Contrato''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
</div>
<div class="form-group form-md-line-input input-iconright">
<label for="<%= TxtFecha.ClientID.ToString()%>">Fecha Inicio Contrato: </label>
<div class="input-group input-sm date date-picker" data-date-format="dd/mm/yyyy" style="padding: 5px 0px;">
<asp:TextBox ID="TxtFecha" runat="server" CausesValidation="True" CssClass="form-control input-sm"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgFechaInicioContrato" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaInicioContrato" runat="server" TargetControlID="TxtFecha" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left" BehaviorID="_content_MEEFechaInicioContrato" Century="2000" CultureAMPMPlaceholder="" CultureCurrencySymbolPlaceholder="" CultureDateFormat="" CultureDatePlaceholder="" CultureDecimalPlaceholder="" CultureThousandsPlaceholder="" CultureTimePlaceholder=""></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaInicioContrato" TargetControlID="TxtFecha" PopupButtonID="ImgFechaInicioContrato" PopupPosition="BottomRight" BehaviorID="_content_CEFechaInicioContrato"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFechaInicioContrato" runat="server" ControlToValidate="TxtFecha" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio Contrato''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CVFechaInicioContrato" runat="server" ControlToValidate="TxtFecha" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio Contrato''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar"></asp:CompareValidator>
</div>
</div>
</div>
</div>
<%-- <div class="portlet solid grey-cascade portlet-filter" style="">
<div class="portlet-title portlet-filterT portletfiltrostitlee">
<div class="tools">
<asp:UpdatePanel runat="server" style="display: inline-block;">
<ContentTemplate>
<asp:Button ID="BtnFiltrar" runat="server" Text="Filtrar" class="btn btn-primary" OnClick="BtnFiltrar_Click" />
<asp:Button ID="BtnFiltrar" runat="server" Text="Consultar" class="btn btn-primary" OnClick="BtnFiltrar_Click" />
</ContentTemplate>
</asp:UpdatePanel>
<a href="javascript:;" class="expand" data-original-title="" title=""></a>
@@ -90,26 +140,16 @@
<div class="row">
<div class="col-md-1"><asp:Label runat="server" ID="LblSubProyecto"></asp:Label></div>
<div class="col-md-1"></div>
<div class="col-md-2">
<asp:DropDownList ID="DdlSubProyecto" CssClass="form-control input-sm select2me" Width="100%" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto"></asp:DropDownList>
</div>
<div class="col-md-1">Fecha:</div>
<div class="col-md-2">
<div class="form-group form-md-line-input input-iconright">
<asp:Label AssociatedControlID="TxtFecha" runat="server" Text="Fecha de Nacimiento:"></asp:Label>
<div class="input-group input-sm date date-picker" data-date-format="dd/mm/yyyy" style="padding: 5px 0px;">
<asp:TextBox ID="TxtFecha" runat="server" CausesValidation="true" CssClass="form-control input-sm"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgFechaNacimiento" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFecha" runat="server" TargetControlID="TxtFecha" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaNacimiento" TargetControlID="TxtFecha" PopupButtonID="ImgFechaNacimiento" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<%--<asp:RequiredFieldValidator ID="RFVFechaNacimiento" runat="server" ControlToValidate="TxtFecha" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''FechaNacimiento''</b> es necesario, por favor ingréselo." ValidationGroup="GrpCosulta"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CVFechaNacimiento" runat="server" ControlToValidate="TxtFecha" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''FechaNacimiento''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpCosulta"></asp:CompareValidator>--%>
</div>
</div>
</div>
@@ -121,86 +161,218 @@
</div>
</div>
</div>--%>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpGV" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" EmptyDataText="No se Encontró Activo Fijo Registrado" ToolTip="Listado de Activos Fijos" CssClass="table table-smallpadding Widthall" GridLines="None">
<Columns>
<asp:TemplateField HeaderText="Código">
<ItemStyle Width="70px" />
<ItemTemplate>
<asp:HyperLink ID="Hpl" runat="server" Text='<%# Eval("Codigo") %>' NavigateUrl='<%# Eval("CveActivoFijo", "/AF/AF.aspx?CveActivoFijo={0}")%>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Descripción">
<ItemStyle Width="140px" />
<ItemTemplate>
<asp:Literal ID="LtlDescripcion" runat="server" Text='<%# Eval("Descripcion")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Tipo Act. Fijo">
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:Literal ID="LtlTipoActivoFijo" runat="server" Text='<%# Eval("TipoActivoFijo")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Sub Tipo Act. Fijo">
<ItemStyle Width="110px" />
<ItemTemplate>
<asp:Literal ID="LtlSubTIpoActivoFijo" runat="server" Text='<%# Eval("SubTIpoActivoFijo")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Responsable">
<ItemStyle Width="105px" />
<ItemTemplate>
<asp:Literal ID="LtlResponsable" runat="server" Text='<%# Eval("Responsable")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="No. Serie">
<ItemStyle Width="50px" />
<ItemTemplate>
<asp:Literal ID="LtlNoSerie" runat="server" Text='<%# Eval("NoSerie")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Año" ItemStyle-HorizontalAlign="Right">
<ItemStyle Width="50px" />
<ItemTemplate>
<asp:Literal ID="LtlAño" runat="server" Text='<%# Eval("Año")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SubProyecto">
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:Literal ID="LtlSubProyecto" runat="server" Text='<%# Eval("SubProyecto")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Estatus" ItemStyle-HorizontalAlign="Center">
<ItemStyle Width="50px" />
<ItemTemplate>
<asp:Literal ID="LtlEstadoActivoFijo" runat="server" Text='<%# Eval("EstadoActivoFijo")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha Ing." ItemStyle-HorizontalAlign="Center">
<ItemStyle Width="75px" />
<ItemTemplate>
<asp:Literal ID="LtlFechaIng" runat="server" Text='<%# Eval("FechaIng", "{0:d}")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Usuario">
<ItemStyle Width="80px" />
<ItemTemplate>
<asp:Literal ID="LtlUsuario" runat="server" Text='<%# Eval("Usuario")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron datos" ToolTip="Listado de metricas" CssClass="table table-smallpadding Widthall"
DataKeyNames="CveActivoFijo,Unidad,CvePersonaResponsable"
GridLines="None">
<Columns>
<%--<asp:TemplateField HeaderText="SubProyecto" >
<ItemStyle Width="140px" />
<ItemTemplate>
<asp:Literal ID="LtlSubProyecto" runat="server" Text='<%# Eval("SubProyecto")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>--%>
<asp:TemplateField HeaderText="Unidad">
<ItemStyle Width="350px" />
<ItemTemplate>
<asp:Literal ID="LtlDescripcion" runat="server" Text='<%# Eval("Unidad")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica1" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica2" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica3" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica4" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica5" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica6" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica7" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica8" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica9" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica10" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica11" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica12" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica13" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica14" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica15" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Operador">
<ItemStyle Width="350px" />
<ItemTemplate>
<asp:DropDownList ID="DDLPersonal" CssClass="form-control input-sm select2me" runat="server" Width="100%" DataTextField="Nombre" DataValueField="CvePersonal"></asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Left" ItemStyle-Width="40px" HeaderText="Opciones" Visible="false">
<ItemTemplate>
<asp:LinkButton ID="LnkEliminarMetricaValor" OnClick="LnkEliminarMetricaValor_Click" runat="server" AlternateText="Eliminar" CausesValidation="False" CssClass="btn btn-circle btn-xs red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="confirmar" data-btn-ok-label="si" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<div id="ModalDescargaReporte" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:UpdatePanel ID="UpModalTitleModalDescargaReporte" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Literal ID="LtlModalTitleModalDescargaReporte" runat="server">Descarga reporte </asp:Literal>
</ContentTemplate>
</asp:UpdatePanel>
</h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpModalCuerpoModalDescargaReporte" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-md-12">
<p>Metricas guardadas correctamente.</p>
<asp:LinkButton ID="LnkDescargaReporte" runat="server" OnClick="LnkDescargaReporte_Click">
<i class="fa fa-arrow-down" style="font-weight:bold;"></i> Descarga Reporte Excel</asp:LinkButton>
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkDescargaReporte" />
</Triggers>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
<ContentTemplate>
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12" style="text-align:center">
<asp:UpdatePanel ID="UpGuardar" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Button ID="BtnGuardar" runat="server" Text="Guardar" ValidationGroup="GrpGuardar" CssClass="btn btn-primary" OnClick="BtnGuardar_Click" Visible="false" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">

View File

@@ -1,58 +1,166 @@
Option Explicit On
Option Strict On
Imports System.Data
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Partial Class AF_RegistroRevision
Option Explicit On
Option Strict On
Imports System.Data
Imports System.IO
Imports Extensiones
Imports GemBox.Spreadsheet
Imports Microsoft.Reporting.WebForms
Partial Class AF_RegistroRevision
Inherits ClsPaginas
#Region " PROPIEDADES"
#Region " PROPIEDADES"
#End Region
Property DT_Cabeceras As DataTable
Get
If ViewState("DT_Cabeceras") Is Nothing Then
Return New DataTable
Else
Return DirectCast(ViewState("DT_Cabeceras"), DataTable)
End If
End Get
Set(value As DataTable)
ViewState("DT_Cabeceras") = value
End Set
End Property
Property DT_Datos As DataTable
Get
If ViewState("DT_Datos") Is Nothing Then
Return New DataTable
Else
Return DirectCast(ViewState("DT_Datos"), DataTable)
End If
End Get
Set(value As DataTable)
ViewState("DT_Datos") = value
End Set
End Property
Property ReporteBytes As Byte()
Get
If ViewState("ReporteBytes") Is Nothing Then
Return Nothing
Else
Return DirectCast(ViewState("ReporteBytes"), Byte())
End If
End Get
Set(value As Byte())
ViewState("ReporteBytes") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
CargaCombos()
'CargaDatos()
CargaDatos()
End If
TxtFecha.Text = $"{Now.Day.ToString("00")}/{Now.Month.ToString("00")}/{Now.Year}"
End If
End Sub
#Region " CARGA PARAMETROS "
#Region " CARGA PARAMETROS "
#End Region
#End Region
#Region " CARGA COMBOS "
#Region " CARGA COMBOS "
Protected Sub CargaCombos()
CargarCentrosDeCosto(Nothing, DdlSubProyecto, Nothing, LblSubProyecto)
LblSubProyecto2.Text = LblSubProyecto.Text
End Sub
#End Region
#End Region
#Region " CARGA DATOS "
Protected Sub BtnFiltrar_Click(sender As Object, e As EventArgs)
CargaDatos()
End Sub
#Region " CARGA DATOS "
'Protected Sub BtnFiltrar_Click(sender As Object, e As EventArgs)
' CargaDatos()
'End Sub
#End Region
#End Region
#Region " GV DATOS "
#Region " GV DATOS "
Private Sub CargaDatos()
Dim ObjAF As New ClsAF
If ObjAF.GetMetricasRegistro(DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, TxtFecha.Text.ToDate) Then
DT_Cabeceras = ObjAF.DSResultados.Tables(0)
DT_Datos = ObjAF.DSResultados.Tables(1)
If DT_Cabeceras.Rows.Count > 0 AndAlso DT_Datos.Rows.Count > 0 Then
BtnGuardar.Visible = True
Else
BtnGuardar.Visible = False
GvDatos.DataSource = Nothing
GvDatos.DataBind()
End If
Else
GvDatos.DataSource = Nothing
GvDatos.DataBind()
BtnGuardar.Visible = False
End If
ObjAF.Dispose()
If DT_Datos.Rows.Count > 0 Then
CargaTablas()
End If
UpGuardar.Update()
UpDatos.Update()
End Sub
Private Sub CargaTablas()
Dim IDX_LIMPIAR As Integer = 1
For IDX_LIMPIAR = 1 To 15
GvDatos.Columns(IDX_LIMPIAR).HeaderText = ""
GvDatos.Columns(IDX_LIMPIAR).Visible = False
Next
Dim x As Integer = 0
Dim limite As Integer = DT_Cabeceras.Rows.Count - 1
For x = 0 To limite
GvDatos.Columns(x + 1).HeaderText = DT_Cabeceras.Rows(x)("Metrica").ToString
GvDatos.Columns(x + 1).Visible = True
Next x
GvDatos.DataSource = DT_Datos
GvDatos.DataBind()
End Sub
@@ -60,15 +168,270 @@ Partial Class AF_RegistroRevision
If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.FCDropDownList("DdlPersonal").DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa).FiltraParametros("CveEstatusPersonal = 1")
e.Row.FCDropDownList("DdlPersonal").DataBind()
e.Row.FCDropDownList("DdlPersonal").Items.Insert(0, New ListItem("Selecione uno", "-1"))
e.Row.FCDropDownList("DdlPersonal").SelectedValueExist(e.Row.DataKey("CvePersonaResponsable"))
End If
End If
End Sub
#End Region
#End Region
Protected Sub LnkEliminarMetricaValor_Click(sender As Object, e As EventArgs)
End Sub
Protected Sub DdlSubProyecto_SelectedIndexChanged(sender As Object, e As EventArgs)
If DdlSubProyecto.SelectedValue.ToEntero > 0 Then
CargaDatos()
Else
GvDatos.DataSource = Nothing
GvDatos.DataBind()
UpDatos.Update()
End If
End Sub
Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs)
Dim ObjAF As New ClsAF
Dim limite As Integer = DT_Cabeceras.Rows.Count - 1
ObjAF.IniciaTransacSQL()
Dim ErrorProceso As Boolean = False
For Each GvRow As GridViewRow In GvDatos.Rows
If GvRow.RowType = DataControlRowType.DataRow Then
Dim DdlPersonal As DropDownList = GvRow.FCDropDownList("DdlPersonal")
If DdlPersonal.SelectedValue.ToEntero <= 0 Then
Alert($"unidad: {GvRow.DataKey("Unidad")} require personal", TipoMensaje.MsgAdvertencia)
ErrorProceso = True
Exit For
End If
If ObjAF.AddMetricasValores(GvRow.DataKey("CveActivoFijo").ToEntero, DdlPersonal.SelectedValue.ToEntero, UsuarioActual.CveUsuario, DdlSubProyecto.SelectedValue.ToEntero, TxtFecha.Text.ToDate, UsuarioActual.CveEmpresa) Then
Dim CveMetricaValor As Integer = ObjAF.CveMetricaValor
Dim x As Integer = 0
For x = 0 To limite
Dim valor As String = GvRow.FCTextBox($"TxtMetrica{x + 1}").Text
valor = If(valor.Trim.Length = 0, "0", valor)
If ObjAF.AddMetricasValoresDetalle(CveMetricaValor, DT_Cabeceras(x)("CveMetrica").ToString.ToEntero, valor) Then
ErrorProceso = False
Else
ErrorProceso = True
Exit For
End If
Next x
If ErrorProceso Then
Exit For
End If
Else
ErrorProceso = True
Exit For
End If
End If
Next
If Not ErrorProceso Then
ObjAF.Commit()
ExportToExcelG(GvDatos, $"RegistroRevision{Now.ToString("yyyyMMddmmss")}", UsuarioActual, "ReporteRevision", 100, 100, filtros:=$"Filtros {LblSubProyecto.Text}: {DdlSubProyecto.SelectedItem.Text} Fecha: {TxtFecha.Text}")
RegistraScript("$('#ModalDescargaReporte').modal({ backdrop: 'static', keyboard: false });")
GvDatos.DataSource = Nothing
GvDatos.DataBind()
BtnGuardar.Visible = False
UpDatos.Update()
UpGuardar.Update()
Else
ObjAF.RollBack()
End If
ObjAF.Dispose()
End Sub
End Class
#Region "DESCARGA EXCEL"
Public Sub ExportToExcelG(Gv1 As GridView, NombreArchivoXLSx As String, Usuario As Usuario, Titulo As String, Optional AlturaImagen As Double = 100, Optional AnchoImagen As Double = 100, Optional filtros As String = "")
For Each GvRow As GridViewRow In Gv1.Rows
Dim IDX_LIMPIAR As Integer = 1
For IDX_LIMPIAR = 1 To 15
GvRow.Cells(IDX_LIMPIAR).Text = GvRow.FCTextBox($"TxtMetrica{IDX_LIMPIAR}").Text
Next
If GvRow.FCDropDownList("DDLPersonal").SelectedValue.ToEntero > 0 Then
GvRow.Cells(16).Text = GvRow.FCDropDownList("DDLPersonal").SelectedItem.Text
Else
GvRow.Cells(16).Text = ""
End If
Next
Dim sw1 As New StringWriter()
Dim htw1 As New HtmlTextWriter(sw1)
Gv1.RenderControl(htw1)
Dim options = GemBox.Spreadsheet.LoadOptions.HtmlDefault
Dim htmlStream1 = New MemoryStream(options.Encoding.GetBytes(sw1.ToString()))
htmlStream1.Position = 0
Dim sr1 As New StreamReader(htmlStream1)
Dim myStr1 = sr1.ReadToEnd()
sr1.Dispose()
htmlStream1.Dispose()
sw1.Dispose()
Dim HtmlCompleto As String = myStr1
HtmlCompleto = Regex.Replace(HtmlCompleto, "\<[\/]*a[^\>]*\>", "")
Dim asd As String = ""
Dim htmlStream5 = New MemoryStream(options.Encoding.GetBytes(HtmlCompleto))
GemBox.Spreadsheet.SpreadsheetInfo.SetLicense(SerialGemBoxSpreadsheet())
Dim excel As GemBox.Spreadsheet.ExcelFile
excel = GemBox.Spreadsheet.ExcelFile.Load(htmlStream5, options)
If Usuario IsNot Nothing Then
Dim TotalRowHeader As Integer = 8
Dim TotalRowFooter As Integer = 2
Dim worksheet = excel.Worksheets(0)
worksheet.Rows.InsertEmpty(0, TotalRowHeader)
Dim celdasConTexto = worksheet.GetUsedCellRange(True)
celdasConTexto.Style.Font.Name = "Calibri Light"
Dim RangoNombreEmpresa = worksheet.Cells.GetSubrangeAbsolute(1, celdasConTexto.FirstColumnIndex, 1, celdasConTexto.LastColumnIndex)
RangoNombreEmpresa.Merged = True
RangoNombreEmpresa.Value = Usuario.Empresa.Empresa
RangoNombreEmpresa.Style.Font.Size = 18 * 20
RangoNombreEmpresa.Style.Font.Name = "Calibri Light"
RangoNombreEmpresa.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
RangoNombreEmpresa.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
Dim RangoFiltros = worksheet.Cells.GetSubrangeAbsolute(6, celdasConTexto.FirstColumnIndex, 6, celdasConTexto.LastColumnIndex)
RangoFiltros.Merged = True
RangoFiltros.Value = filtros
RangoFiltros.Style.Font.Size = 15 * 20
RangoFiltros.Style.Font.Name = "Calibri Light"
RangoFiltros.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Left
RangoFiltros.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
Dim RangoTitulo = worksheet.Cells.GetSubrangeAbsolute(3, celdasConTexto.FirstColumnIndex, 3, celdasConTexto.LastColumnIndex)
RangoTitulo.Merged = True
RangoTitulo.Value = Titulo
RangoTitulo.Style.Font.Size = 20 * 20
RangoTitulo.Style.Font.Name = "Calibri Light"
RangoTitulo.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
RangoTitulo.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
For i = celdasConTexto.FirstColumnIndex To celdasConTexto.LastColumnIndex
worksheet.Rows(8).Cells(i).Style.Font.Size = 12 * 20
worksheet.Rows(8).Cells(i).Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
worksheet.Rows(8).Cells(i).Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
worksheet.Rows(8).Cells(i).Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(75, 119, 190), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255))
worksheet.Rows(8).Cells(i).Style.Font.Color = GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)
If i > 0 Then
Try
worksheet.Columns(i).AutoFit(1)
Catch ex As Exception
End Try
End If
Next
Dim IndexEndTable As Integer = Gv1.Rows.Count + 4 + TotalRowHeader + TotalRowFooter
worksheet.Rows(IndexEndTable).Cells(0).Value = "Usuario Imprimió"
worksheet.Rows(IndexEndTable + 1).Cells(0).Value = Usuario.Nombre
worksheet.Rows(IndexEndTable).Cells(2).Value = "Fecha Impresión"
worksheet.Rows(IndexEndTable + 1).Cells(2).Value = DateTime.Now.ToString("dd/MM/yyyy")
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", Usuario.Empresa.Ruta))
If Imagen.Exists Then
Dim Ruta As String = String.Format("{0}/Logo.png", Usuario.Empresa.Ruta)
Using sr As New StreamReader(Ruta)
Dim ms As New MemoryStream()
sr.BaseStream.CopyTo(ms)
worksheet.Pictures.Add(ms, ExcelPictureFormat.Png, "A1", AnchoImagen, AlturaImagen, LengthUnit.Pixel)
End Using
End If
End If
Dim memoryStream As New MemoryStream()
excel.Save(memoryStream, SaveOptions.XlsxDefault)
ReporteBytes = memoryStream.ToArray()
memoryStream.Dispose()
End Sub
Protected Sub LnkDescargaReporte_Click(sender As Object, e As EventArgs)
Response.ContentType = "application/force-download"
Response.AppendHeader("Content-Disposition", $"attachment;filename=RegistroRevision{Now.ToString("yyyyMMddmmss")}.xlsx")
Response.BinaryWrite(ReporteBytes)
Response.End()
End Sub
Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)
End Sub
#End Region
End Class

View File

@@ -100,11 +100,11 @@
<div class="titlefiltros caption text-size-12 ">
<div class="row">
<div class="col-md-1 ">Tipo:</div>
<div class="col-md-2">
<div class="col-md-1">
<asp:DropDownList ID="DdlTipoActivo" CssClass="form-control input-sm select2me Widthall" runat="server" DataTextField="TipoActivoFijo" DataValueField="CveTipoActivoFijo" OnSelectedIndexChanged="BtnFiltrar_Click1" AutoPostBack="True"></asp:DropDownList>
</div>
<div class="col-md-1 truncate">SubTipo:</div>
<div class="col-md-2">
<div class="col-md-1">
<asp:DropDownList ID="DdlSubTipoActivo" CssClass="form-control input-sm select2me Widthall" runat="server" DataTextField="SubTipoActivoFijo" DataValueField="CveSubTipoActivoFijo" OnSelectedIndexChanged="BtnFiltrar_Click1" AutoPostBack="True"></asp:DropDownList>
</div>
<div class="col-md-1 truncate">Agrupador:</div>

View File

@@ -38,16 +38,16 @@ Partial Class AF_RepAF
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
CargaFiltros()
'CargaDatos()
If UsuarioActual.Empresa.GralSoloProyecto Then
DivProyecto.Visible = False
CargaFiltros()
'CargaDatos()
' If UsuarioActual.Empresa.GralSoloProyecto Then
DivProyecto.Visible = False
LblSubProyecto.Text = "Proyecto: "
DdlSubProyecto.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
End If
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
' End If
End If
End Sub

250
AF/RepRevision.aspx Normal file
View File

@@ -0,0 +1,250 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepRevision.aspx.vb" Inherits="AF_RepRevision" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.Widthall {
width: 100% !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;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
<%-- <asp:UpdatePanel runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkAgregarAF" runat="server" PostBackUrl="~/AF/AF.aspx">
<i class="fa fa-plus"></i> Nuevo Activo Fijo
</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LinkPDF" 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>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkExportar" />
<asp:PostBackTrigger ControlID="LinkPDF" />
</Triggers>
</asp:UpdatePanel>--%>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Reporte Revisión
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UpFiltro" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter" style="">
<div class="portlet-title portlet-filterT smalltitle" style="min-height: 49px; position: relative;" >
<div class="tools" >
<asp:UpdatePanel runat="server" style="display: inline-block;">
<ContentTemplate>
<asp:Button ID="BtnFiltrar" runat="server" Text="Consultar" class="btn btn-primary" OnClick="BtnFiltrar_Click" />
</ContentTemplate>
</asp:UpdatePanel>
<a href="javascript:;" class="expand" data-original-title="" title=""></a>
</div>
<div class="titlefiltros caption magindate">
<div class="row" style="width:100%">
<div class="col-md-1"><asp:Label runat="server" ID="LblSubProyecto"></asp:Label></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlSubProyecto" CssClass="form-control input-sm select2me" Width="100%" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto"></asp:DropDownList>
</div>
<div class="col-md-1 ">Tipo:</div>
<div class="col-md-1">
<asp:DropDownList ID="DdlTipoActivo" CssClass="form-control input-sm select2me Widthall" runat="server" DataTextField="TipoActivoFijo" DataValueField="CveTipoActivoFijo" OnSelectedIndexChanged="DdlTipoActivo_SelectedIndexChanged" AutoPostBack="True"></asp:DropDownList>
</div>
<div class="col-md-1 truncate">SubTipo:</div>
<div class="col-md-1">
<asp:DropDownList ID="DdlSubTipoActivo" CssClass="form-control input-sm select2me Widthall" runat="server" DataTextField="SubTipoActivoFijo" DataValueField="CveSubTipoActivoFijo" >
<asp:ListItem Value="-1">Todos</asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Fecha I:</div>
<div class="col-md-1">
<div class="input-group input-sm date date-picker" data-date-format="dd/mm/yyyy" style="padding: 5px 0px;">
<asp:TextBox ID="TxtFechaI" runat="server" CausesValidation="true" CssClass="form-control input-sm" Width="80"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgFecha" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFecha" runat="server" TargetControlID="TxtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaI" TargetControlID="TxtFechaI" PopupButtonID="ImgFecha" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<%--<asp:RequiredFieldValidator ID="RFVFechaNacimiento" runat="server" ControlToValidate="TxtFecha" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''FechaNacimiento''</b> es necesario, por favor ingréselo." ValidationGroup="GrpCosulta"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CVFechaNacimiento" runat="server" ControlToValidate="TxtFecha" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''FechaNacimiento''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpCosulta"></asp:CompareValidator>--%>
</div>
<div class="col-md-1">Fecha F:</div>
<div class="col-md-1">
<div class="input-group input-sm date date-picker" data-date-format="dd/mm/yyyy" style="padding: 5px 0px;">
<asp:TextBox ID="TxtFechaF" runat="server" CausesValidation="true" CssClass="form-control input-sm" Width="80"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgFechaFin" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="TxtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaFinal" TargetControlID="TxtFechaF" PopupButtonID="ImgFechaFin" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<%--<asp:RequiredFieldValidator ID="RFVFechaNacimiento" runat="server" ControlToValidate="TxtFecha" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''FechaNacimiento''</b> es necesario, por favor ingréselo." ValidationGroup="GrpCosulta"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CVFechaNacimiento" runat="server" ControlToValidate="TxtFecha" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''FechaNacimiento''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpCosulta"></asp:CompareValidator>--%>
</div>
</div>
</div>
</div>
<div class="portlet-body" style="display: none;">
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron datos" ToolTip="Listado de metricas" CssClass="table table-smallpadding Widthall"
DataKeyNames="CveMetricaValor"
GridLines="None">
<Columns>
<asp:TemplateField HeaderText="SubProyecto">
<ItemStyle Width="140px" />
<ItemTemplate>
<asp:Literal ID="LtlSubProyecto" runat="server" Text='<%# Eval("SubProyecto")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Unidad">
<ItemStyle Width="350px" />
<ItemTemplate>
<asp:Literal ID="LtlDescripcion" runat="server" Text='<%# Eval("Unidad")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="100px" />
<asp:BoundField ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="100px" />
<asp:BoundField ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="100px" />
<asp:BoundField ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="100px" />
<asp:BoundField ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="100px" />
<asp:BoundField ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="100px" />
<asp:BoundField ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="100px" />
<asp:BoundField ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="100px" />
<asp:BoundField ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="100px" />
<asp:BoundField ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="100px" />
<asp:BoundField ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="100px" />
<asp:BoundField ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="100px" />
<asp:BoundField ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="100px" />
<asp:BoundField ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="100px" />
<asp:BoundField ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="100px" />
<asp:TemplateField HeaderText="Fecha" ItemStyle-HorizontalAlign="Center">
<ItemStyle Width="110px" />
<ItemTemplate>
<asp:Literal ID="LtlFecha" runat="server" Text='<%# Eval("Fecha", "{0:d}")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Operador">
<ItemStyle Width="350px" />
<ItemTemplate>
<asp:Literal ID="LtlOperador" runat="server" Text='<%# Eval("Operador")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Usuario">
<ItemStyle Width="110px" />
<ItemTemplate>
<asp:Literal ID="LtlUsuario" runat="server" Text='<%# Eval("usuario")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha Ing." ItemStyle-HorizontalAlign="Center">
<ItemStyle Width="110px" />
<ItemTemplate>
<asp:Literal ID="LtlFechaIng" runat="server" Text='<%# Eval("FechaIng", "{0:d}")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Left" ItemStyle-Width="40px" HeaderText="Opciones" Visible="false">
<ItemTemplate>
<asp:LinkButton ID="LnkEliminarMetricaValor" OnClick="LnkEliminarMetricaValor_Click" runat="server" AlternateText="Eliminar" CausesValidation="False" CssClass="btn btn-circle btn-xs red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="confirmar" data-btn-ok-label="si" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

183
AF/RepRevision.aspx.vb Normal file
View File

@@ -0,0 +1,183 @@
Option Explicit On
Option Strict On
Imports System.Data
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Partial Class AF_RepRevision
Inherits ClsPaginas
#Region " PROPIEDADES"
Property DT_Cabeceras As DataTable
Get
If ViewState("DT_Cabeceras") Is Nothing Then
Return New DataTable
Else
Return DirectCast(ViewState("DT_Cabeceras"), DataTable)
End If
End Get
Set(value As DataTable)
ViewState("DT_Cabeceras") = value
End Set
End Property
Property DT_Datos As DataTable
Get
If ViewState("DT_Datos") Is Nothing Then
Return New DataTable
Else
Return DirectCast(ViewState("DT_Datos"), DataTable)
End If
End Get
Set(value As DataTable)
ViewState("DT_Datos") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
CargaCombos()
CargaDatos()
Dim FechaActual As Date = Now
TxtFechaF.Text = $"{FechaActual.Day.ToString("00")}/{FechaActual.Month.ToString("00")}/{FechaActual.Year}"
FechaActual = FechaActual.AddDays(-30)
TxtFechaI.Text = $"{FechaActual.Day.ToString("00")}/{FechaActual.Month.ToString("00")}/{FechaActual.Year}"
End If
End Sub
#Region " CARGA PARAMETROS "
#End Region
#Region " CARGA COMBOS "
Protected Sub CargaCombos()
CargarCentrosDeCosto(Nothing, DdlSubProyecto, Nothing, LblSubProyecto)
DdlTipoActivo.DataSource = GlobalDTTipoActivoFijo(UsuarioActual.CveEmpresa).FiltraParametros("", "TipoActivoFijo")
DdlTipoActivo.DataBind()
DdlTipoActivo.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
#End Region
#Region " CARGA DATOS "
Protected Sub BtnFiltrar_Click(sender As Object, e As EventArgs)
CargaDatos()
End Sub
#End Region
#Region " GV DATOS "
Private Sub CargaDatos()
Dim ObjAF As New ClsAF
If ObjAF.GetMetricasValores(-1, -1, -1, -1, DdlSubProyecto.SelectedValue.ToEntero, DdlTipoActivo.SelectedValue.ToEntero, DdlSubTipoActivo.SelectedValue.ToEntero, TxtFechaI.Text.ToDate, TxtFechaF.Text.ToDate, UsuarioActual.CveEmpresa) Then
DT_Cabeceras = ObjAF.DSResultados.Tables(0)
DT_Datos = ObjAF.DSResultados.Tables(1)
'GvDatos.DataSource = ObjAF.DtResultados
Else
GvDatos.DataSource = Nothing
End If
ObjAF.Dispose()
'GvDatos.DataBind()
'UpDatos.Update()
If DT_Datos.Rows.Count > 0 Then
CargaTablas()
End If
End Sub
Private Sub CargaTablas()
Dim IDX_LIMPIAR As Integer = 1
'5
For IDX_LIMPIAR = 2 To 16
CType(GvDatos.Columns(IDX_LIMPIAR), BoundField).DataField = Nothing
CType(GvDatos.Columns(IDX_LIMPIAR), BoundField).HeaderText = ""
GvDatos.Columns(IDX_LIMPIAR).Visible = False
Next
Dim x As Integer = 0
Dim limite As Integer = DT_Cabeceras.Rows.Count - 1
For x = 0 To limite
CType(GvDatos.Columns(x + 2), BoundField).DataField = DT_Datos.Columns(5 + x).ColumnName
CType(GvDatos.Columns(x + 2), BoundField).HeaderText = DT_Cabeceras.Rows(x)("Metrica").ToString
GvDatos.Columns(x + 2).Visible = True
Next x
GvDatos.DataSource = DT_Datos
GvDatos.DataBind()
UpDatos.Update()
'For IDX_LIMPIAR = 2 To 17
'CType(GvDatos.Columns(IDX_LIMPIAR), BoundField).DataField = Nothing
'CType(GvDatos.Columns(IDX_LIMPIAR), BoundField).HeaderText = DT_Cabeceras.Rows()
'Next
End Sub
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
End If
End Sub
#End Region
Protected Sub LnkEliminarMetricaValor_Click(sender As Object, e As EventArgs)
End Sub
Protected Sub DdlTipoActivo_SelectedIndexChanged(sender As Object, e As EventArgs)
DdlSubTipoActivo.Items.Clear()
DdlSubTipoActivo.DataSource = GlobalDTSubTipoActivoFijo(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveTipoActivoFijo = {0}", DdlTipoActivo.SelectedValue), "SubTipoActivoFijo")
DdlSubTipoActivo.DataBind()
DdlSubTipoActivo.Items.Insert(0, New ListItem("Todos", "-1"))
UpFiltro.Update()
End Sub
End Class