Option Explicit On Option Strict On Imports System.Data Imports Extensiones Imports Microsoft.Reporting.WebForms Partial Class RH_CatPersonal Inherits ClsPaginas 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 Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then ViewState("Orden") = "" CargaEscolaridad() CargaEstadoCivil() CargaDepartamento() CargaPuestos() CargaEstatusPersonal() CargaGenero() CargaMotivoBaja() CargaRuta() CargaTiposContrato() CargaTipoPeriodo() CargaTurno() CargaProyecto() CargaSupervisores() CargaMetodosPago() CargaDatos() End If End Sub Public Sub CargaDatos() Dim ObjPersonal As New ClsRH 'Dim Codigo As String 'Dim Nombre As String 'Dim NSS As String 'Dim RFC As String Dim CveTurno As Integer = DdlTurno.SelectedValue.ToEntero Dim CvePuesto As Integer = DdlPuesto.SelectedValue.ToEntero Dim CveDepartamento As Integer = DdlDepartamento.SelectedValue.ToEntero Dim CveRuta As Integer = DdlRuta.SelectedValue.ToEntero Dim CveEscolaridad As Integer = DdlEscolaridad.SelectedValue.ToEntero Dim CveEstadoCivil As Integer = DdlEstadoCivil.SelectedValue.ToEntero Dim CveGenero As Integer = DdlGenero.SelectedValue.ToEntero Dim CveEstatusPersonal As Integer = DdlEstatusPersonal.SelectedValue.ToEntero Dim CveSubProyecto As Integer = DdlSubProyectoAsignado.SelectedValue.ToEntero Dim CveClienteAsignado As Integer = -1 '----- Dim HorarioTrabajo As String = "-1" '----- Dim CveSupervisor As Integer = DdlSupervisor.SelectedValue.ToEntero Dim CveTipoPeriodo As Integer = DdlTipoPeriodo.SelectedValue.ToEntero Dim CveMetodoPago As Integer = DdlMetodoPago.SelectedValue.ToEntero Dim CveTipoContrato As Integer = DdlTipoContrato.SelectedValue.ToEntero Dim CveMotivoBaja As Integer = DdlMotivoBaja.SelectedValue.ToEntero Dim CveProyecto As Integer = DdlProyectoAsignado.SelectedValue.ToEntero Dim FechaIFinContrato As String = TxtFechaIFinContrato.Text.Trim Dim FechaFFinContrato As String = TxtFechaFFinContrato.Text.Trim Dim FechaIIngreso As String = TxtFechaIIngreso.Text.Trim Dim FechaFIngreso As String = TxtFechaFIngreso.Text.Trim If FechaIFinContrato = Nothing Then FechaIFinContrato = "-1" End If If FechaFFinContrato = Nothing Then FechaFFinContrato = "-1" End If If FechaIIngreso = Nothing Then FechaIIngreso = "-1" End If If FechaFIngreso = Nothing Then FechaFIngreso = "-1" End If If ObjPersonal.GetPersonal(-1, "-1", "-1", "-1", "-1", CveTurno, CvePuesto, CveDepartamento, CveRuta, CveEscolaridad, CveEstadoCivil, CveGenero, CveEstatusPersonal, CveSubProyecto, CveClienteAsignado, HorarioTrabajo, CveSupervisor, CveTipoPeriodo, CveMetodoPago, CveTipoContrato, CveMotivoBaja, CveProyecto, FechaIFinContrato, FechaFFinContrato, FechaIIngreso, FechaFIngreso, UsuarioActual.CveEmpresa) Then DTDatos = ObjPersonal.DtResultados 'filtro por usuario subproyecto/sucursal vsh If UsuarioActual.CveEmpresa = 7 Then If UsuarioActual.TienePermisoProceso(197) Then GvDatos.DataSource = ObjPersonal.DtResultados Else GvDatos.DataSource = ObjPersonal.DtResultados.FiltraParametros($"CveSubProyecto = { UsuarioActual.CveSubProyecto }") End If Else GvDatos.DataSource = ObjPersonal.DtResultados End If Else DTDatos = Nothing GvDatos.DataSource = Nothing End If ObjPersonal.Dispose() GvDatos.DataBind() 'If (GvDatos.Rows.Count > 0) Then ' GvDatos.UseAccessibleHeader = True ' GvDatos.HeaderRow.TableSection = TableRowSection.TableHeader ' RegistraScript("OrdenarGV();") 'End If UPDatos.Update() 'If ViewState("Orden").ToString() <> String.Empty Then ' CargaGrid(ViewState("Orden").ToString()) 'Else ' CargaGrid("") 'End If End Sub Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click CargaDatos() UPDatos.Update() End Sub #Region " C O M B O S " Private Sub CargaEscolaridad() DdlEscolaridad.DataSource = GlobalDTEscolaridad DdlEscolaridad.DataBind() End Sub Private Sub CargaGenero() DdlGenero.DataSource = GlobalDTGenero DdlGenero.DataBind() End Sub Private Sub CargaEstadoCivil() DdlEstadoCivil.DataSource = GlobalDTEstadoCivil DdlEstadoCivil.DataBind() End Sub Private Sub CargaTipoPeriodo() DdlTipoPeriodo.DataSource = GlobalDTTipoPeriodo DdlTipoPeriodo.DataBind() End Sub Private Sub CargaTiposContrato() DdlTipoContrato.DataSource = GlobalDTTiposContrato DdlTipoContrato.DataBind() End Sub Private Sub CargaTurno() DdlTurno.DataSource = GlobalDTTurno.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) DdlTurno.DataBind() End Sub Private Sub CargaDepartamento() DdlDepartamento.DataSource = GlobalDTDepartamentos.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) DdlDepartamento.DataBind() End Sub Private Sub CargaPuestos() DdlPuesto.DataSource = GlobalDTRHPuestos(UsuarioActual.CveEmpresa) DdlPuesto.DataBind() End Sub Private Sub CargaRuta() DdlRuta.DataSource = GlobalDTRutas.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) DdlRuta.DataBind() End Sub Private Sub CargaMotivoBaja() DdlMotivoBaja.DataSource = GlobalDTMotivoBaja.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) DdlMotivoBaja.DataBind() End Sub Private Sub CargaEstatusPersonal() DdlEstatusPersonal.DataSource = GlobalDTEstatusPersonal DdlEstatusPersonal.DataBind() End Sub Private Sub CargaProyecto() 'DdlProyectoAsignado.DataSource = GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1) 'DdlProyectoAsignado.DataBind() CargaTipoCentroCosto() 'If DivProyecto.Visible Then ' CargaSubProyectos() 'End If End Sub Private Sub CargaSubProyectos() DdlSubProyectoAsignado.Items.Clear() If DdlProyectoAsignado.SelectedValue <> "-1" Then DdlSubProyectoAsignado.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlProyectoAsignado.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1) DdlSubProyectoAsignado.DataBind() End If DdlSubProyectoAsignado.Items.Insert(0, New ListItem("Todos", "-1")) 'filtro por usuario subproyecto/sucursal vsh 'If UsuarioActual.CveEmpresa = 7 Then ' DdlSubProyectoAsignado.DataSource = GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa, 1).FiltraParametros($"CveSubProyecto = { UsuarioActual.CveSubProyecto }") 'End If UpSubProyecto.Update() End Sub Private Sub CargaTipoCentroCosto() CargarCentrosDeCosto(DdlProyectoAsignado, DdlSubProyectoAsignado, LblProyecto, LblSubProyecto) DivProyecto.Visible = LblProyecto.Visible ChkSubProyecto.Text = LblSubProyecto.Text GvDatos.Columns(12).HeaderText = LblSubProyecto.Text End Sub Private Sub CargaSupervisores() DdlSupervisor.DataSource = GlobalDTUsuarios.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa & " AND EsSupervisorRH = 1 ") DdlSupervisor.DataBind() End Sub Private Sub CargaMetodosPago() DdlMetodoPago.DataSource = GlobalDTMetodosPago DdlMetodoPago.DataBind() End Sub #End Region #Region "P E R Z O N A L I Z A R" Protected Sub BtnPersonalizar_Click(sender As Object, e As System.EventArgs) Handles BtnPersonalizar.Click If ChkCodigo.Checked Then GvDatos.Columns(0).Visible = True Else GvDatos.Columns(0).Visible = False End If If ChkNombre.Checked Then GvDatos.Columns(1).Visible = True Else GvDatos.Columns(1).Visible = False End If If ChkNSS.Checked Then GvDatos.Columns(2).Visible = True Else GvDatos.Columns(2).Visible = False End If If ChlRFC.Checked Then GvDatos.Columns(3).Visible = True Else GvDatos.Columns(3).Visible = False End If If ChkTurno.Checked Then GvDatos.Columns(4).Visible = True Else GvDatos.Columns(4).Visible = False End If If ChkPuesto.Checked Then GvDatos.Columns(5).Visible = True Else GvDatos.Columns(5).Visible = False End If If ChkDepartamento.Checked Then GvDatos.Columns(6).Visible = True Else GvDatos.Columns(6).Visible = False End If If ChkRuta.Checked Then GvDatos.Columns(7).Visible = True Else GvDatos.Columns(7).Visible = False End If If ChkEscolaridad.Checked Then GvDatos.Columns(8).Visible = True Else GvDatos.Columns(8).Visible = False End If If ChkEstadoCivil.Checked Then GvDatos.Columns(9).Visible = True Else GvDatos.Columns(9).Visible = False End If If ChkGenero.Checked Then GvDatos.Columns(10).Visible = True Else GvDatos.Columns(10).Visible = False End If If ChkEstatusPersonal.Checked Then GvDatos.Columns(11).Visible = True Else GvDatos.Columns(11).Visible = False End If If ChkSubProyecto.Checked Then GvDatos.Columns(12).Visible = True Else GvDatos.Columns(12).Visible = False End If If ChkSupervisor.Checked Then GvDatos.Columns(13).Visible = True Else GvDatos.Columns(13).Visible = False End If If ChkTipoPeriodo.Checked Then GvDatos.Columns(14).Visible = True Else GvDatos.Columns(14).Visible = False End If If ChkMetodoPago.Checked Then GvDatos.Columns(15).Visible = True Else GvDatos.Columns(15).Visible = False End If If ChkTipoContrato.Checked Then GvDatos.Columns(16).Visible = True Else GvDatos.Columns(16).Visible = False End If If ChkMotivoBaja.Checked Then GvDatos.Columns(17).Visible = True Else GvDatos.Columns(17).Visible = False End If If ChkProyecto.Checked Then GvDatos.Columns(18).Visible = True Else GvDatos.Columns(18).Visible = False End If If ChkFechaIngreso.Checked Then GvDatos.Columns(19).Visible = True Else GvDatos.Columns(19).Visible = False End If If ChkSeInscribioSS.Checked Then GvDatos.Columns(20).Visible = True Else GvDatos.Columns(20).Visible = False End If If ChkSalarioDiarioPago.Checked Then GvDatos.Columns(21).Visible = True Else GvDatos.Columns(21).Visible = False End If If ChkSalarioDiario.Checked Then GvDatos.Columns(22).Visible = True Else GvDatos.Columns(22).Visible = False End If If ChkSDI.Checked Then GvDatos.Columns(23).Visible = True Else GvDatos.Columns(23).Visible = False End If If ChkSalarioDiarioSS.Checked Then GvDatos.Columns(24).Visible = True Else GvDatos.Columns(24).Visible = False End If If ChkBono.Checked Then GvDatos.Columns(25).Visible = True Else GvDatos.Columns(25).Visible = False End If If ChkNumDiasAguinaldo.Checked Then GvDatos.Columns(26).Visible = True Else GvDatos.Columns(26).Visible = False End If If ChkPorPrimaVacacional.Checked Then GvDatos.Columns(27).Visible = True Else GvDatos.Columns(27).Visible = False End If If ChkUbicacion.Checked Then GvDatos.Columns(28).Visible = True Else GvDatos.Columns(28).Visible = False End If If ChkFechaNacimiento.Checked Then GvDatos.Columns(29).Visible = True Else GvDatos.Columns(29).Visible = False End If If ChkLugarNacimiento.Checked Then GvDatos.Columns(30).Visible = True Else GvDatos.Columns(30).Visible = False End If If ChkDireccion.Checked Then GvDatos.Columns(31).Visible = True Else GvDatos.Columns(31).Visible = False End If If ChkCP.Checked Then GvDatos.Columns(32).Visible = True Else GvDatos.Columns(32).Visible = False End If If ChkCiudad.Checked Then GvDatos.Columns(33).Visible = True Else GvDatos.Columns(33).Visible = False End If If ChkEstado.Checked Then GvDatos.Columns(34).Visible = True Else GvDatos.Columns(34).Visible = False End If If ChkTelefono.Checked Then GvDatos.Columns(35).Visible = True Else GvDatos.Columns(35).Visible = False End If If ChkCelular.Checked Then GvDatos.Columns(36).Visible = True Else GvDatos.Columns(36).Visible = False End If If ChkCURP.Checked Then GvDatos.Columns(37).Visible = True Else GvDatos.Columns(37).Visible = False End If If ChkNombrePadre.Checked Then GvDatos.Columns(38).Visible = True Else GvDatos.Columns(38).Visible = False End If If ChkNombreMadre.Checked Then GvDatos.Columns(39).Visible = True Else GvDatos.Columns(39).Visible = False End If If ChkClienteAsignado.Checked Then GvDatos.Columns(40).Visible = True Else GvDatos.Columns(40).Visible = False End If If ChkUsuario.Checked Then GvDatos.Columns(42).Visible = True Else GvDatos.Columns(42).Visible = False End If If (GvDatos.Rows.Count > 0) Then GvDatos.UseAccessibleHeader = True GvDatos.HeaderRow.TableSection = TableRowSection.TableHeader RegistraScript("OrdenarGV();") End If RegistraScript("SavePersonalizar();") liLnkDescarPersonalizado.Visible = True UpPersonalizado.Update() UPDatos.Update() End Sub #End Region #Region "G V D A T O S" Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.RowIndex = 0 Then e.Row.Cells(0).Width = Unit.Pixel(60) e.Row.Cells(1).Width = Unit.Pixel(250) e.Row.Cells(2).Width = Unit.Pixel(80) e.Row.Cells(3).Width = Unit.Pixel(80) e.Row.Cells(4).Width = Unit.Pixel(100) e.Row.Cells(5).Width = Unit.Pixel(100) e.Row.Cells(6).Width = Unit.Pixel(60) e.Row.Cells(7).Width = Unit.Pixel(110) e.Row.Cells(8).Width = Unit.Pixel(90) End If 'If UsuarioActual.Empresa.CveEmpresa = 4 Or UsuarioActual.Empresa.CveEmpresa = 11 Or UsuarioActual.Empresa.CveEmpresa = 7 Or UsuarioActual.Empresa.CveEmpresa = 12 Or UsuarioActual.Empresa.CveEmpresa = 2 Then ' e.Row.FCLiteral("LtlNombre").Text = "" & e.Row.FCLiteral("LtlNombre").Text & "" 'Else ' e.Row.FCLiteral("LtlNombre").Text = "" & e.Row.FCLiteral("LtlNombre").Text & "" 'End If 'e.Row.FCLiteral("LtlCodigo").Text = "" & e.Row.FCLiteral("LtlCodigo").Text & "" End If End Sub #End Region #Region "I M P R I M I R P D F/Excel" 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) ' params.Add(New ReportParameter("AgrupadoPor", Filtros)) 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\RepPersonal.rdlc", DTDatos, params, "ReporteTareas", Formato:=Formato) End Sub #End Region Protected Sub DdlProyectoAsignado_SelectedIndexChanged(sender As Object, e As EventArgs) CargaSubProyectos() End Sub Protected Sub LnkDescarPersonalizados_Click(sender As Object, e As EventArgs) Dim htmlFuente As String = txtDatos.Text Dim RutaLogo As String = $"{Server.MapPath("~")}\Empresas\{UsuarioActual.CveEmpresa}\logo.png" 'Dim Logo As String = "" 'If IO.File.Exists(RutaLogo) Then ' Dim fs = New IO.MemoryStream(IO.File.ReadAllBytes(RutaLogo)) ' Dim br As New System.IO.BinaryReader(fs) ' Dim bytes As Byte() = br.ReadBytes(CType(fs.Length, Integer)) ' Logo = Convert.ToBase64String(bytes, 0, bytes.Length) ' fs.Dispose() 'End If ' Dim Cabera = $"
Logo

{UsuarioActual.Empresa.Empresa}

Reporte Personal
" htmlFuente = htmlFuente.Replace(" 0 Then contador = contador + 1 RFCs.AppendLine(String.Format("{0}|{1}", contador, rfc)) End If Next End If End Using Response.Clear() Response.ContentType = "text/plain" Response.AppendHeader("content-disposition", "attachment;filename=RFCs_Validacion_Masiva.txt") 'Response.Write(contador.ToString()) Response.Write(RFCs.ToString()) Response.End() End Sub Protected Sub LnkCargarValidacion_Click(sender As Object, e As EventArgs) Dim fileurl As String Dim archivos As Files = TxtValidacionMasivaRFC.getfiles() If archivos.Archivos.Count > 0 Then fileurl = archivos.Archivos(0).FileUrl Dim linestxt As String() = IO.File.ReadAllLines(fileurl, Encoding.GetEncoding("iso-8859-1")) Dim contadorok As Integer = 0 Dim contadorfail As Integer = 0 Using ObjPersonal As ClsRH = New ClsRH() For Each item As String In linestxt Dim splitstr As String() = item.Split("|"c) Dim Cve As String = "" Dim rfc As String = "" Dim msg As String = "" If splitstr.Length > 0 Then Cve = splitstr(0) End If If splitstr.Length > 1 Then rfc = splitstr(1) End If If splitstr.Length > 2 Then msg = splitstr(2) End If If msg = txtStringValido.Text Then contadorok = contadorok + 1 Else contadorfail = contadorfail + 1 End If If ObjPersonal.UpdateRFCValidado(rfc.ToUpper(), UsuarioActual.CveEmpresa, (msg = txtStringValido.Text)) Then End If Next End Using Alert(String.Format("Se encontraron {0} rfc correctos y {1} rfc incorrectos", contadorok, contadorfail)) Else Alert("Favor de agregar un archivo", TipoMensaje.MsgAdvertencia) End If End Sub End Class