417 lines
18 KiB
VB.net
417 lines
18 KiB
VB.net
|
|
Option Explicit On
|
|
Option Strict On
|
|
Imports Extensiones
|
|
Imports System.Data
|
|
|
|
Partial Class RH_PopUpBuscarPersonal
|
|
Inherits ClsPaginas
|
|
|
|
|
|
#Region "Propiedades"
|
|
Private ReadOnly Property OpcionBusqueda As String
|
|
Get
|
|
Return ViewState("Opt").ToString
|
|
End Get
|
|
End Property
|
|
|
|
Private Property DTCaracteristicasOpciones As DataTable
|
|
Get
|
|
If ViewState("DTCaracteristicasOpciones") Is Nothing Then
|
|
Return New DataTable
|
|
Else
|
|
Return DirectCast(ViewState("DTCaracteristicasOpciones"), DataTable)
|
|
End If
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DTCaracteristicasOpciones") = 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
|
|
CType(Me.Master, Site).EsPopup = True
|
|
CType(Me.Master, Site).PopupWidth = 970
|
|
RegistraScript("$get('tdContenido').style.height='520px'")
|
|
ViewState("Opt") = ""
|
|
If Request("Opt") = "OI/OE" Then
|
|
ViewState("Opt") = "OI/OE"
|
|
End If
|
|
|
|
If Not Request("EsThickbox") Is Nothing Then
|
|
hdnEsThickbox.Value = Request("EsThickbox")
|
|
Else
|
|
hdnEsThickbox.Value = "N"
|
|
End If
|
|
|
|
'Carga Combos
|
|
CargaTurno()
|
|
CargaProyecto()
|
|
CargaTipoPeriodo()
|
|
CargaDepartamento()
|
|
CargaPuesto()
|
|
CargaTiposContrato()
|
|
CargaGenero()
|
|
CargaEstadoCivil()
|
|
CargaEscolaridad()
|
|
CargaRuta()
|
|
CargaEstatusPersonal()
|
|
DdlClienteAsignado.Attributes.Add("onclick", "CargaClientes();")
|
|
CargaCaracteristicas()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub CargaTurno()
|
|
DdlTurnos.DataSource = GlobalDTTurno.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
|
|
DdlTurnos.DataBind()
|
|
End Sub
|
|
|
|
Private Sub CargaProyecto()
|
|
DdlProyecto.DataSource = GlobalDTProyectos(UsuarioActual.CveEmpresa)
|
|
DdlProyecto.DataBind()
|
|
End Sub
|
|
|
|
Private Sub CargaSubProyecto()
|
|
DdlSubProyecto.Items.Clear()
|
|
DdlSubProyecto.DataSource = GlobalDTSubProyectos(DdlProyecto.SelectedValue.ToEntero)
|
|
DdlSubProyecto.DataBind()
|
|
|
|
DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
|
End Sub
|
|
|
|
Private Sub CargaClientes()
|
|
Dim ObjClientes As New ClsClientes
|
|
If ObjClientes.GetClientes(-1, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa) Then
|
|
DdlClienteAsignado.DataSource = ObjClientes.DtResultados
|
|
Else
|
|
DdlClienteAsignado.DataSource = Nothing
|
|
End If
|
|
ObjClientes.Dispose()
|
|
DdlClienteAsignado.DataBind()
|
|
End Sub
|
|
|
|
Private Sub CargaTipoPeriodo()
|
|
DdlTipoPeriodo.DataSource = GlobalDTTipoPeriodo
|
|
DdlTipoPeriodo.DataBind()
|
|
End Sub
|
|
|
|
Private Sub CargaDepartamento()
|
|
DdlDepartamentos.DataSource = GlobalDTDepartamentos.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
|
|
DdlDepartamentos.DataBind()
|
|
End Sub
|
|
|
|
Private Sub CargaPuesto()
|
|
DdlPuestos.DataSource = GlobalDTRHPuestos(UsuarioActual.CveEmpresa)
|
|
DdlPuestos.DataBind()
|
|
End Sub
|
|
|
|
Private Sub CargaTiposContrato()
|
|
DdlTipoContrato.DataSource = GlobalDTTiposContrato
|
|
DdlTipoContrato.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 CargaEscolaridad()
|
|
DdlEscolaridad.DataSource = GlobalDTEscolaridad
|
|
DdlEscolaridad.DataBind()
|
|
End Sub
|
|
|
|
Private Sub CargaRuta()
|
|
DdlRuta.DataSource = GlobalDTRutas.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
|
|
DdlRuta.DataBind()
|
|
End Sub
|
|
|
|
Private Sub CargaEstatusPersonal()
|
|
DdlEstatus.DataSource = GlobalDTEstatusPersonal
|
|
DdlEstatus.DataBind()
|
|
End Sub
|
|
|
|
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlProyecto.SelectedIndexChanged
|
|
CargaSubProyecto()
|
|
End Sub
|
|
|
|
Protected Sub BtnBuscar_Click(sender As Object, e As System.EventArgs) Handles BtnBuscar.Click
|
|
|
|
Dim Codigo As String = "-1"
|
|
Dim Nombre As String = "-1"
|
|
Dim NSS As String = "-1"
|
|
Dim RFC As String = "-1"
|
|
Dim Horario As String = "-1"
|
|
|
|
'Definir estructura de supervisores.
|
|
Dim CveSupervisor As Integer = -1
|
|
|
|
If TxtCodigo.Text.Trim <> String.Empty Then Codigo = TxtCodigo.Text.Trim
|
|
If TxtNombre.Text.Trim <> String.Empty Then Nombre = TxtNombre.Text.Trim
|
|
If TxtNSS.Text.Trim <> String.Empty Then NSS = TxtNSS.Text.Trim
|
|
If TxtRFC.Text.Trim <> String.Empty Then RFC = TxtRFC.Text.Trim
|
|
If TxtHorarioDe.Text.Trim <> String.Empty Then Horario = TxtHorarioDe.Text.Trim
|
|
|
|
Dim StrFiltroCaracteristica As String = GeneraFiltroCaracteristicas()
|
|
|
|
If ValidarFiltrosSeleccionado() Then
|
|
|
|
Dim ObjPersonal As New ClsRH()
|
|
If ObjPersonal.GetPersonal2(-1, Codigo, Nombre, NSS, RFC, DdlTurnos.SelectedValue.ToEntero, DdlPuestos.SelectedValue.ToEntero, DdlDepartamentos.SelectedValue.ToEntero,
|
|
DdlRuta.SelectedValue.ToEntero, DdlEscolaridad.SelectedValue.ToEntero, DdlEstadoCivil.SelectedValue.ToEntero, DdlGenero.SelectedValue.ToEntero,
|
|
DdlEstatus.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlClienteAsignado.SelectedValue.ToEntero, Horario, CveSupervisor,
|
|
-1, -1, -1, -1, -1, "-1", "-1", "-1", "-1", StrFiltroCaracteristica, 1, UsuarioActual.CveEmpresa) Then
|
|
If ObjPersonal.DtResultados.Rows.Count > 0 Then
|
|
LtlTotalRegistros.Text = ObjPersonal.DtResultados.Rows.Count.ToString.FormatoNumero(0)
|
|
GV.DataSource = ObjPersonal.DtResultados
|
|
Else
|
|
LtlTotalRegistros.Text = "0"
|
|
GV.DataSource = Nothing
|
|
Alert("No se encontraron registros con los parámetros solicitados.", Extensiones.TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
End If
|
|
|
|
ObjPersonal.Dispose()
|
|
GV.DataBind()
|
|
|
|
UPDatos.Update()
|
|
|
|
TblBusqueda.Visible = True
|
|
Else
|
|
Alert("Asigne un valor a cualquiera de los filtros", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
End Sub
|
|
|
|
Private Function GeneraFiltroCaracteristicas() As String
|
|
Dim sqlStr As New StringBuilder
|
|
Dim NCaracteristicas As Integer = 0
|
|
Dim CampoUno As Boolean = True
|
|
Dim Retorno As New StringBuilder
|
|
|
|
For Each dRow As GridViewRow In GvCrt1.Rows
|
|
|
|
Dim DdlValor As DropDownList = dRow.FCDropDownList("DdlValor")
|
|
Dim TxtValor As TextBox = dRow.FCTextBox("TxtValor")
|
|
Dim Caracteristica As String = dRow.DataKey("Caracteristica")
|
|
Dim CveCaracteristica As Integer = dRow.DataKey("CveCaracteristica").ToString.ToEntero
|
|
|
|
If DdlValor.SelectedIndex > 0 Then
|
|
NCaracteristicas = NCaracteristicas + 1
|
|
If sqlStr.ToString <> "" Then sqlStr.Append(" OR ")
|
|
sqlStr.AppendFormat(" CveCaracteristica ={0} AND CveCaracteristicaOpcion ={1} AND CvePersonal <> NULL", CveCaracteristica, DdlValor.SelectedValue)
|
|
CampoUno = False
|
|
|
|
ElseIf (TxtValor.Text.Trim.Length > 0) Then
|
|
NCaracteristicas = NCaracteristicas + 1
|
|
If sqlStr.ToString <> "" Then sqlStr.Append(" OR ")
|
|
sqlStr.AppendFormat(" CveCaracteristica = {0} AND CveCaracteristicaOpcion LIKE '%{1}%' AND CvePersonal <> NULL", CveCaracteristica, TxtValor.Text.Trim)
|
|
CampoUno = False
|
|
|
|
End If
|
|
Next
|
|
|
|
For Each dRow As GridViewRow In GvCrt2.Rows
|
|
|
|
Dim DdlValor As DropDownList = dRow.FCDropDownList("DdlValor")
|
|
Dim TxtValor As TextBox = dRow.FCTextBox("TxtValor")
|
|
Dim Caracteristica As String = dRow.DataKey("Caracteristica")
|
|
Dim CveCaracteristica As Integer = dRow.DataKey("CveCaracteristica").ToString.ToEntero
|
|
|
|
If DdlValor.SelectedIndex > 0 Then
|
|
NCaracteristicas = NCaracteristicas + 1
|
|
If sqlStr.ToString <> "" Then sqlStr.Append(" OR ")
|
|
sqlStr.AppendFormat(" CveCaracteristica ={0} AND CveCaracteristicaOpcion ={1} AND CvePersonal <> NULL", CveCaracteristica, DdlValor.SelectedValue)
|
|
CampoUno = False
|
|
|
|
ElseIf (TxtValor.Text.Trim.Length > 0) Then
|
|
NCaracteristicas = NCaracteristicas + 1
|
|
If sqlStr.ToString <> "" Then sqlStr.Append(" OR ")
|
|
sqlStr.AppendFormat(" CveCaracteristica = {0} AND CveCaracteristicaOpcion LIKE '%{1}%' AND CvePersonal <> NULL", CveCaracteristica, TxtValor.Text.Trim)
|
|
CampoUno = False
|
|
|
|
End If
|
|
Next
|
|
|
|
For Each dRow As GridViewRow In GvCrt3.Rows
|
|
|
|
Dim DdlValor As DropDownList = dRow.FCDropDownList("DdlValor")
|
|
Dim TxtValor As TextBox = dRow.FCTextBox("TxtValor")
|
|
Dim Caracteristica As String = dRow.DataKey("Caracteristica")
|
|
Dim CveCaracteristica As Integer = dRow.DataKey("CveCaracteristica").ToString.ToEntero
|
|
|
|
If DdlValor.SelectedIndex > 0 Then
|
|
NCaracteristicas = NCaracteristicas + 1
|
|
If sqlStr.ToString <> "" Then sqlStr.Append(" OR ")
|
|
sqlStr.AppendFormat(" CveCaracteristica ={0} AND CveCaracteristicaOpcion ={1} AND CvePersonal <> NULL ", CveCaracteristica, DdlValor.SelectedValue)
|
|
CampoUno = False
|
|
|
|
ElseIf (TxtValor.Text.Trim.Length > 0) Then
|
|
NCaracteristicas = NCaracteristicas + 1
|
|
If sqlStr.ToString <> "" Then sqlStr.Append(" OR ")
|
|
sqlStr.AppendFormat(" CveCaracteristica = {0} AND CveCaracteristicaOpcion LIKE '%{1}%' AND CvePersonal <> NULL ", CveCaracteristica, TxtValor.Text.Trim)
|
|
CampoUno = False
|
|
|
|
End If
|
|
Next
|
|
|
|
If NCaracteristicas > 0 Then
|
|
Retorno.Append(" SELECT CvePersonal as CvePersonal, SUM(1) AS Contador FROM Gral_CaracteristicasValores WHERE ")
|
|
Retorno.Append(sqlStr.ToString)
|
|
Retorno.Append(" GROUP BY CvePersonal ")
|
|
End If
|
|
|
|
Return Retorno.ToString
|
|
End Function
|
|
|
|
|
|
|
|
Protected Sub GV_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GV.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
If e.Row.RowIndex = 0 Then
|
|
'e.Row.Cells(0).Width = Unit.Pixel(70)
|
|
'e.Row.Cells(1).Width = Unit.Pixel(300)
|
|
'e.Row.Cells(2).Width = Unit.Pixel(80)
|
|
'e.Row.Cells(3).Width = Unit.Pixel(90)
|
|
'e.Row.Cells(4).Width = Unit.Pixel(90)
|
|
'e.Row.Cells(5).Width = Unit.Pixel(120)
|
|
'e.Row.Cells(6).Width = Unit.Pixel(120)
|
|
'e.Row.Cells(7).Width = Unit.Pixel(80)
|
|
End If
|
|
e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left
|
|
e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Left
|
|
e.Row.Cells(3).HorizontalAlign = HorizontalAlign.Left
|
|
e.Row.Cells(4).HorizontalAlign = HorizontalAlign.Left
|
|
e.Row.Cells(5).HorizontalAlign = HorizontalAlign.Left
|
|
e.Row.Cells(6).HorizontalAlign = HorizontalAlign.Left
|
|
|
|
Dim Liga As String = String.Empty
|
|
|
|
Select Case OpcionBusqueda
|
|
Case "OI/OE"
|
|
Liga = String.Format("<a class='Texto' href='javascript:IrOI({0});'>", e.Row.DBCampo("CvePersonal"))
|
|
Case Else
|
|
If hdnEsThickbox.Value = "S" Then
|
|
Liga = String.Format("<a class='Texto' href='javascript:Ir2(""{0}"");'>", e.Row.DBCampo("CvePersonal"))
|
|
Else
|
|
If e.Row.DBCampo("CveEstatusPersonal") = "3" Then
|
|
Liga = String.Format("<a class='Texto' href='javascript:Ir3(""{0}"");'>", e.Row.DBCampo("CvePersonal"))
|
|
Else
|
|
Liga = String.Format("<a class='Texto' href='javascript:Ir(""{0}"");'>", e.Row.DBCampo("CvePersonal"))
|
|
End If
|
|
|
|
End If
|
|
End Select
|
|
|
|
e.Row.FCLiteral("LtlCodigo").Text = String.Format("<div class='truncate' style='width:54px;'>{0}{1}</a></div>", Liga, e.Row.DBCampo("Codigo"))
|
|
e.Row.FCLiteral("LtlNombre").Text = String.Format("<div class='truncate' style='width:155px;'>{0}{1}</a></div>", Liga, e.Row.DBCampo("Nombre"))
|
|
e.Row.FCLiteral("LtlFechaIng").Text = String.Format("<div class='truncate' style='width:64px;'>{0}{1}</a></div>", Liga, e.Row.DBCampo("FechaIng").ToDate.ToShortDateString)
|
|
e.Row.FCLiteral("LtlTipoPeriodo").Text = String.Format("<div class='truncate' style='width:60px;'>{0}{1}</a></div>", Liga, e.Row.DBCampo("TipoPeriodo"))
|
|
e.Row.FCLiteral("LtlTurno").Text = String.Format("<div class='truncate' style='width:60px;'>{0}{1}</a></div>", Liga, e.Row.DBCampo("Turno"))
|
|
e.Row.FCLiteral("LtlDepartamento").Text = String.Format("<div class='truncate' style='width:84px;'>{0}{1}</a></div>", Liga, e.Row.DBCampo("Departamento"))
|
|
e.Row.FCLiteral("LtlPuesto").Text = String.Format("<div class='truncate' style='width:62px;'>{0}{1}</a></div>", Liga, e.Row.DBCampo("Puesto"))
|
|
e.Row.FCLiteral("LtlEstatus").Text = String.Format("<div class='truncate' style='width:44px;'>{0}{1}</a></div>", Liga, e.Row.DBCampo("EstatusPersonal"))
|
|
End If
|
|
End Sub
|
|
|
|
Protected Sub BtnCargarClientes_Click(sender As Object, e As System.EventArgs) Handles BtnCargarClientes.Click
|
|
CargaClientes()
|
|
DdlClienteAsignado.Attributes.Remove("onclick")
|
|
End Sub
|
|
|
|
#Region "C A R A C T E R I S T I C A S "
|
|
|
|
Private Sub CargaCaracteristicas()
|
|
|
|
Dim objCaract As New ClsGenerales
|
|
|
|
If objCaract.GetCaracteristicas(-1, -1, UsuarioActual.Empresa.CveEmpresa) Then
|
|
Dim dtt As DataTable = objCaract.DtResultados
|
|
Dim column As DataColumn = New DataColumn
|
|
column.DataType = System.Type.GetType("System.Int32") : column.ColumnName = "Cve" : dtt.Columns.Add(column)
|
|
Dim i As Integer = 1
|
|
For Each dr As DataRow In dtt.Rows
|
|
dr("Cve") = i
|
|
i += 1
|
|
If i > 3 Then i = 1
|
|
Next
|
|
'With column
|
|
' .AutoIncrement = True : .AutoIncrementSeed = 1 : .AutoIncrementStep = 1
|
|
'End With
|
|
|
|
|
|
GvCrt1.DataSource = dtt.FiltraParametros("Cve = 1")
|
|
GvCrt2.DataSource = dtt.FiltraParametros("Cve = 2")
|
|
GvCrt3.DataSource = dtt.FiltraParametros("Cve = 3")
|
|
End If
|
|
|
|
If objCaract.GetCaracteriscasOpciones(-1, UsuarioActual.Empresa.CveEmpresa) Then
|
|
DTCaracteristicasOpciones = objCaract.DtResultados
|
|
End If
|
|
objCaract.Dispose()
|
|
|
|
GvCrt1.DataBind() : GvCrt2.DataBind() : GvCrt3.DataBind()
|
|
|
|
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
Protected Sub GvCaracteristicas_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvCrt1.RowDataBound, GvCrt2.RowDataBound, GvCrt3.RowDataBound
|
|
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
|
|
Dim DdlValor As DropDownList = e.Row.FCDropDownList("DdlValor")
|
|
Dim TxtValor As TextBox = e.Row.FCTextBox("TxtValor")
|
|
Dim CveCaracteristica As Integer = e.Row.DBCampo("CveCaracteristica").ToString.ToEntero
|
|
Dim DtTempResultado As DataTable = DTCaracteristicasOpciones.FiltraParametros(String.Format("CveCaracteristica ={0} ", CveCaracteristica))
|
|
|
|
If DtTempResultado.Rows.Count <> 0 Then
|
|
DdlValor.DataSource = DtTempResultado
|
|
DdlValor.DataBind()
|
|
DdlValor.Items.Insert(0, New ListItem("-", "-1"))
|
|
DdlValor.Visible = True
|
|
DdlValor.Visible = True
|
|
TxtValor.Visible = False
|
|
|
|
Else
|
|
DdlValor.Visible = False
|
|
TxtValor.Visible = True
|
|
End If
|
|
|
|
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Function ValidarFiltrosSeleccionado() As Boolean
|
|
If TxtCodigo.Text.Trim <> String.Empty Then Return True
|
|
If TxtNombre.Text.Trim <> String.Empty Then Return True
|
|
If TxtNSS.Text.Trim <> String.Empty Then Return True
|
|
If TxtRFC.Text.Trim <> String.Empty Then Return True
|
|
If TxtHorarioDe.Text.Trim <> String.Empty Then Return True
|
|
|
|
If DdlTipoPeriodo.SelectedValue.ToEntero > 0 Then Return True
|
|
If DdlTipoContrato.SelectedValue.ToEntero > 0 Then Return True
|
|
If DdlDepartamentos.SelectedValue.ToEntero > 0 Then Return True
|
|
If DdlGenero.SelectedValue.ToEntero > 0 Then Return True
|
|
If DdlEstadoCivil.SelectedValue.ToEntero > 0 Then Return True
|
|
If DdlEscolaridad.SelectedValue.ToEntero > 0 Then Return True
|
|
If DdlTurnos.SelectedValue.ToEntero > 0 Then Return True
|
|
If DdlClienteAsignado.SelectedValue.ToEntero > 0 Then Return True
|
|
If DdlProyecto.SelectedValue.ToEntero > 0 Then Return True
|
|
If DdlPuestos.SelectedValue.ToEntero > 0 Then Return True
|
|
If DdlSubProyecto.SelectedValue.ToEntero > 0 Then Return True
|
|
If DdlRuta.SelectedValue.ToEntero > 0 Then Return True
|
|
If DdlEstatus.SelectedValue.ToEntero > 0 Then Return True
|
|
|
|
Return False
|
|
End Function
|
|
|
|
End Class
|