Option Explicit On Option Strict On Imports System.Data Imports System.Data.SqlClient Imports Extensiones Imports Microsoft.Reporting.WebForms Partial Class RH_RepPersonalInconsistencias Inherits ClsPaginas Private Property Gvi As Integer Get Return ViewState("Gvi").ToString.ToEntero End Get Set(value As Integer) ViewState("Gvi") = value End Set End Property Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then ViewState("Gvi") = -1 ViewState("Orden0") = "" ViewState("Orden1") = "" ViewState("Orden2") = "" DT1 = New DataTable DT2 = New DataTable DT3 = New DataTable CargaDatos() End If End Sub Private Property DT1 As DataTable Get Return DirectCast(ViewState("DT1"), DataTable) End Get Set(value As DataTable) ViewState("DT1") = value End Set End Property Private Property DT2 As DataTable Get Return DirectCast(ViewState("DT2"), DataTable) End Get Set(value As DataTable) ViewState("DT2") = value End Set End Property Private Property DT3 As DataTable Get Return DirectCast(ViewState("DT3"), DataTable) End Get Set(value As DataTable) ViewState("DT3") = value End Set End Property Protected Sub CargaGrid(Orden As String, gvi As Integer) Dim DV As DataView = Nothing If gvi = 0 Then ViewState("Orden0") = Orden DV = New DataView(CType(ViewState("DTContenido0"), DataTable), "", Orden, DataViewRowState.CurrentRows) If Orden <> String.Empty Then GV.DataSource = DV.ToTable() GV.DataBind() Else GV.DataSource = CType(ViewState("DTContenido0"), DataTable) End If ElseIf gvi = 1 Then ViewState("Orden1") = Orden DV = New DataView(CType(ViewState("DTContenido1"), DataTable), "", Orden, DataViewRowState.CurrentRows) If Orden <> String.Empty Then GV1.DataSource = DV.ToTable() GV1.DataBind() Else GV1.DataSource = CType(ViewState("DTContenido1"), DataTable) End If ElseIf gvi = 2 Then ViewState("Orden2") = Orden DV = New DataView(CType(ViewState("DTContenido2"), DataTable), "", Orden, DataViewRowState.CurrentRows) If Orden <> String.Empty Then GV2.DataSource = DV.ToTable() GV2.DataBind() Else GV2.DataSource = CType(ViewState("DTContenido2"), DataTable) End If End If DV.Dispose() UpDatos.Update() End Sub Protected Sub CargaGrid(orden As String) Dim DV As New DataView(CType(ViewState("DTContenido0"), DataTable), "", orden, DataViewRowState.CurrentRows) If Orden <> String.Empty Then GV.DataSource = DV.ToTable() Else GV.DataSource = CType(ViewState("DTContenido0"), DataTable) End If GV.DataBind() DV = New DataView(CType(ViewState("DTContenido1"), DataTable), "", orden, DataViewRowState.CurrentRows) If orden <> String.Empty Then GV1.DataSource = DV.ToTable() Else GV1.DataSource = CType(ViewState("DTContenido1"), DataTable) End If GV1.DataBind() DV = New DataView(CType(ViewState("DTContenido2"), DataTable), "", orden, DataViewRowState.CurrentRows) If orden <> String.Empty Then GV2.DataSource = DV.ToTable() Else GV2.DataSource = CType(ViewState("DTContenido2"), DataTable) End If GV2.DataBind() UpDatos.Update() DV.Dispose() End Sub Protected Sub GV_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GV.RowDataBound, GV1.RowDataBound, GV2.RowDataBound If e.Row.RowIndex > 0 Then e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left End If End Sub Protected Sub CargaDatos() Dim ObjAnomalias As New ClsRH If ObjAnomalias.GetRepPersonalInconsistencias(UsuarioActual.CveEmpresa.ToEntero) Then 'DSContratosProximosAVencer = ObjAnomalias.DtResultados 'DSContratosProximosAVencer.Tables.Add(ObjAnomalias.DSResultados().Tables(0)) 'DSContratosProximosAVencer.Tables.Add(ObjAnomalias.DSResultados().Tables(1)) 'DSContratosProximosAVencer.Tables.Add(ObjAnomalias.DSResultados().Tables(2)) ViewState("DTContenido0") = ObjAnomalias.DSResultados().Tables(0) ViewState("DTContenido1") = ObjAnomalias.DSResultados().Tables(1) ViewState("DTContenido2") = ObjAnomalias.DSResultados().Tables(2) DT1 = ObjAnomalias.DSResultados().Tables(0) DT2 = ObjAnomalias.DSResultados().Tables(1) DT3 = ObjAnomalias.DSResultados().Tables(2) If DT1.Rows.Count > 0 Then ImgExcel0.Visible = True ImgImprimir0.Visible = True Else ImgExcel0.Visible = False ImgImprimir0.Visible = False End If If DT2.Rows.Count > 0 Then ImgExcel1.Visible = True ImgImprimir1.Visible = True Else ImgExcel1.Visible = False ImgImprimir1.Visible = False End If If DT3.Rows.Count > 0 Then ImgExcel2.Visible = True ImgImprimir2.Visible = True Else ImgExcel2.Visible = False ImgImprimir2.Visible = False End If UpAcciones.Update() LbTotalContratos.Text = "Total de Contratos: " + ObjAnomalias.DSResultados().Tables(0).Rows.Count.ToString LbTotalAnomalias.Text = "Total de Anomalías: " + ObjAnomalias.DSResultados().Tables(1).Rows.Count.ToString LbTotalCumpleañeros.Text = "Total de Cumpleañeros: " + ObjAnomalias.DSResultados().Tables(2).Rows.Count.ToString End If CargaGrid("") ObjAnomalias.Dispose() Dim ObjAF As New ClsAF() If ObjAF.GetLicenciasVencidas(-1, -1, UsuarioActual.CveEmpresa, Estatus:=1) Then GvLicencias.DataSource = ObjAF.DtResultados Else GvLicencias.DataSource = Nothing End If ObjAF.Dispose() UpLicenciasVencidas.Update() GvLicencias.DataBind() End Sub Protected Sub ImgImprimir0_Click(sender As Object, e As EventArgs) Handles ImgImprimir0.Click GenerarPDF(0) End Sub Protected Sub ImgImprimir1_Click(sender As Object, e As EventArgs) Handles ImgImprimir1.Click GenerarPDF(1) End Sub Protected Sub ImgImprimir2_Click(sender As Object, e As EventArgs) Handles ImgImprimir2.Click GenerarPDF(2) End Sub Protected Sub ImgExcel0_Click(sender As Object, e As EventArgs) Handles ImgExcel0.Click 'GvDatos.ExportToExcel("ReporteVentas" & Now.ToShortDateString) GenerarPDF(0, "Excel") End Sub Protected Sub ImgExcel1_Click(sender As Object, e As EventArgs) Handles ImgExcel1.Click 'GvDatos.ExportToExcel("ReporteVentas" & Now.ToShortDateString) GenerarPDF(1, "Excel") End Sub Protected Sub ImgExcel2_Click(sender As Object, e As EventArgs) Handles ImgExcel2.Click 'GvDatos.ExportToExcel("ReporteVentas" & Now.ToShortDateString) GenerarPDF(2, "Excel") End Sub Private Sub GenerarPDF(OP As Integer, Optional Formato As String = "PDF") Dim DT As New DataTable Dim rdlc As String = "" Dim NombreReporte As String = "" Select Case OP Case 0 DT = DT1 rdlc = "RepPersonalInconsistenciasCV.rdlc" NombreReporte = "ContratosVencidosProximosVencer" Exit Select Case 1 DT = DT2 rdlc = "RepPersonalInconsistenciasAS.rdlc" NombreReporte = "AnomaliasSeguroSocial" Exit Select Case 2 DT = DT3 rdlc = "RepPersonalInconsistenciasCU.rdlc" NombreReporte = "CumpleañosVencidosActuales" Exit Select End Select If DT IsNot Nothing Then Dim StrFiltro As New StringBuilder ' StrFiltro.AppendFormat("Agrupado por: {0}", DdlGrupo.SelectedItem.Text) 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) If txtFechaI.Text <> "" And rdlc = "RepPersonalInconsistenciasCU.rdlc" Then StrFiltro.AppendFormat(" Fecha Inicio: {0}", txtFechaI.Text) If txtFechaF.Text <> "" And rdlc = "RepPersonalInconsistenciasCU.rdlc" Then StrFiltro.AppendFormat(" Fecha Fin: {0}", txtFechaF.Text) Dim params As New List(Of ReportParameter) params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString)) params.Add(New ReportParameter("Filtros", StrFiltro.ToString)) If Imagen.Exists Then params.Add(New ReportParameter("LogoPath", logouri)) Else params.Add(New ReportParameter("LogoPath", "")) End If ImprimirPDF($"Empresas/Grales/Formatos/{rdlc}", DT, params, String.Format("{0}-{1}", NombreReporte, Now.ToDateTime.ToShortDateString), Formato:=Formato) Else Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia) End If End Sub #Region "ORDENAMIENTO" Protected Sub LbOrden_Click(ByVal sender As Object, ByVal e As EventArgs) Dim Orden As String = "" Dim Campo As String = "" Dim gvi As Integer = 0 Dim Literal As Literal = Nothing Const OrdenInicial As String = "" Dim Arg(2) As String Arg = CType(sender, LinkButton).CommandArgument().ToString.Split(";"c) Campo = Arg(0) gvi = Arg(1).ToEntero Literal = CType(CType(sender, LinkButton).NamingContainer.FindControl("Img" & Campo.Replace(",", "_")), Literal) Campo = Campo.Substring(0, Campo.Length - 1) If ViewState(String.Format("O{0}", Campo, gvi)) IsNot Nothing AndAlso ViewState(String.Format("O{0}", Campo, gvi)).ToString = String.Format("{0} DESC", Campo) Then ViewState(String.Format("O{0}", Campo)) = String.Format("{0} ASC", Campo) Literal.Text = String.Format("") Else ViewState(String.Format("O{0}", Campo, gvi)) = String.Format("{0} DESC", Campo) Literal.Text = String.Format("") End If Orden = OrdenInicial & ViewState(String.Format("O{0}", Campo, gvi)).ToString ViewState("Orden") = Orden CargaGrid(Orden, gvi) End Sub #End Region Protected Sub BtnConsultarCumpleanios_Click(sender As Object, e As EventArgs) Dim FechaInicio As Date = Now Dim FechaFin As Date = Now Dim MesajeError As String = "" Try If txtFechaI.Text.Length = 5 Then FechaInicio = Date.Parse($"{txtFechaI.Text}/{Now.Year}") Else MesajeError = "Fecha inicio formato incorrecto. " End If Catch ex As Exception MesajeError = "Fecha inicio formato incorrecto. " End Try Try If txtFechaF.Text.Length = 5 Then FechaFin = Date.Parse($"{txtFechaF.Text}/{Now.Year}") Else MesajeError = $"{MesajeError }Fecha fin formato incorrecto" End If Catch ex As Exception MesajeError = $"{MesajeError }Fecha fin formato incorrecto" End Try If MesajeError.Length > 0 Then Alert(MesajeError, TipoMensaje.MsgAdvertencia) Exit Sub End If If FechaInicio > FechaFin Then FechaFin = FechaFin.AddYears(1) End If Dim ObjAnomalias As New ClsRH If ObjAnomalias.GetRepPersonalInconsistencias(UsuarioActual.CveEmpresa.ToEntero, txtFechaI.Text.ToDate, txtFechaF.Text.ToDate) Then ViewState("DTContenido2") = ObjAnomalias.DSResultados().Tables(2) DT3 = ObjAnomalias.DSResultados().Tables(2) If DT3.Rows.Count > 0 Then ImgExcel2.Visible = True ImgImprimir2.Visible = True Else ImgExcel2.Visible = False ImgImprimir2.Visible = False End If UpAcciones.Update() LbTotalCumpleañeros.Text = "Total de Cumpleañeros: " + ObjAnomalias.DSResultados().Tables(2).Rows.Count.ToString End If CargaGrid("") ObjAnomalias.Dispose() End Sub End Class