Files
SIG/RH/RepAsistencias.aspx.vb
2023-10-09 11:55:07 -07:00

200 lines
7.3 KiB
VB.net

Imports System.Data
Imports Extensiones
Partial Class RH_RepAsistencias
Inherits ClsPaginas
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
'CargaClientes()
'DdlCliente.Attributes.Add("onclick", "CargaClientes();")
CargaSuperioresOrganigrama()
CargaClientes()
CargaProyecto()
CargaTurnos()
CargaTiposPeriodo()
TxtFechaAsistenciaFin.Text = NowADS().ToShortDateString
TxtFechaAsistencia.Text = $"01/{NowADS().ToString("MM")}/{NowADS().Year}"
If UsuarioActual.Empresa.Funcionalidad(267) = "1" Then ' emp citricola
divCliente.Visible = False
LblCliente.Visible = False
GV.Columns(2).Visible = False
GV.Columns(3).Visible = True
End If
End If
End Sub
#Region "CargaCombos"
Private Sub CargaSuperioresOrganigrama()
'Dim ObjRH As New ClsRH
'If ObjRH.GetPersonal(-1, UsuarioActual.CveEmpresa) Then
' DdlSupervisorOrganigrama.DataSource = ObjRH.DtResultados
'Else
' DdlSupervisorOrganigrama.DataSource = Nothing
' Alert("Ocurrió un error al cargar el catálogo de Jefes Inmediatos")
'End If
'ObjRH.Dispose()
Using objbase As New ClsRH()
If (objbase.SupervisorOrganigramaGet(UsuarioActual.CveEmpresa)) Then
DdlSupervisorOrganigrama.DataSource = objbase.DtResultados
DdlSupervisorOrganigrama.DataBind()
End If
End Using
End Sub
Private Sub CargaClientes()
'Dim ObjClientes As New ClsClientes
'If ObjClientes.GetClientes(-1, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, -1) Then
' DdlCliente.DataSource = ObjClientes.DtResultados
'Else
' DdlCliente.DataSource = Nothing
'End If
'ObjClientes.Dispose()
'DdlCliente.DataBind()
End Sub
Private Sub CargaProyecto()
'DdlProyecto.DataSource = GlobalDTProyectos(UsuarioActual.Empresa.CveEmpresa).FiltraParametros("", DistinctColumns:={"CveProyecto", "Proyecto"})
'DdlProyecto.DataBind()
CargarCentrosDeCosto(Nothing, Nothing, Nothing, LblSubProyectoAsignado)
'DivProyectosAsignado.Visible = LblProyectoAsignado.Visible
DdlSubProyecto.DataSource = If(Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa, 1))
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Private Sub CargaSubProyecto()
DdlSubProyecto.Items.Clear()
DdlSubProyecto.DataSource = GlobalDTSubProyectos(-1)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Private Sub CargaTurnos()
DdlTurno.DataSource = GlobalDTTurno(UsuarioActual.CveEmpresa)
DdlTurno.DataBind()
DdlPuesto.DataSource = GlobalDTRHPuestos(UsuarioActual.CveEmpresa)
DdlPuesto.databind
End Sub
Private Sub CargaTiposPeriodo()
DdlTipoPeriodo.DataSource = GlobalDTTipoPeriodo
DdlTipoPeriodo.DataBind()
End Sub
#End Region
'Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlProyecto.SelectedIndexChanged
' CargaSubProyecto()
'End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click
LnkExportar.Visible = False
GvOcultarColumnas()
If TxtFechaAsistencia.Text.Trim.ToDate.Year.Contiene(NowADS().Year - 1, NowADS().Year, NowADS().Year + 1) Then
Dim objpersonal As New ClsRH
Dim dtTemp As New DataTable
Dim CveClienteAsignado As Integer = If(DdlCliente.SelectedValue.ToEntero > 0, DdlCliente.SelectedValue.ToEntero, -1)
If objpersonal.RepGetAsistencias(DdlGrupo.SelectedValue.ToEntero, CveClienteAsignado, DdlSubProyecto.SelectedValue.ToEntero, DdlTurno.SelectedValue.ToEntero, 1, TxtFechaAsistencia.Text.Trim.ToDate,
TxtFechaAsistenciaFin.Text.Trim.ToDate, UsuarioActual.CveEmpresa, DdlSupervisorOrganigrama.SelectedValue.ToEntero(), DdlTipoPeriodo.SelectedValue.ToEntero, DdlPuesto.SelectedValue.ToEntero) Then
dtTemp = objpersonal.DtResultados
GvMostrarColumnas(dtTemp)
GV.DataSource = dtTemp
If dtTemp.Rows.Count > 0 Then
LnkExportar.Visible = True
End If
Else
GV.DataSource = Nothing
End If
objpersonal.Dispose()
GV.DataBind()
UpDatos.Update()
UpAcciones.Update()
Else
Alert("La Fecha está fuera de los parámetros establecidos, por favor revise. Fecha: " & TxtFechaAsistencia.Text, TipoMensaje.MsgAdvertencia)
End If
End Sub
Private Sub GvOcultarColumnas()
Dim index = 1
For index = 1 To GV.Columns.Count - 1
CType(GV.Columns(index), BoundField).DataField = Nothing
GV.Columns(index).Visible = False
Next
UpDatos.Update()
End Sub
Private Sub GvMostrarColumnas(dt As DataTable)
Dim index = 1
For index = 1 To dt.Columns.Count - 5
CType(GV.Columns(index + 4), BoundField).DataField = dt.Columns(index + 4).ColumnName
GV.Columns(index + 4).Visible = True
Dim tmpDate As Date
If (Date.TryParse(dt.Columns(index + 4).ColumnName, tmpDate)) Then
CType(GV.Columns(index + 4), BoundField).HeaderText = tmpDate.ToString("dd-MMM").Replace(".", "")
Else
CType(GV.Columns(index + 4), BoundField).HeaderText = dt.Columns(index + 4).ColumnName
End If
Next
UpDatos.Update()
End Sub
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.DataKey("Ordenador") = "0" Then
e.Row.CssClass = "SubTotales"
End If
End If
End Sub
Private Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click
Dim SubProyecto As String = ""
If DdlSubProyecto.SelectedValue.ToEntero > 0 Then
SubProyecto = DdlSubProyecto.SelectedItem.Text
End If
Dim SbFiltros As New StringBuilder()
SbFiltros.Append($"Fecha Inicio: {TxtFechaAsistencia.Text} Fecha Fin: {TxtFechaAsistenciaFin.Text} ")
SbFiltros.Append($"SubProyecto: {SubProyecto}")
GV.ExportToExcelGembox("ReporteIncidencias", UsuarioActual, "Reporte Incidencias", "", DatosFiltros:=SbFiltros.ToString())
'GvAnual.ExportToExcelGembox("AnexoCatálogoAnual", UsuarioActual, $"01/01/{DdlEjercicio.SelectedValue}", $"31/12/{DdlEjercicio2.SelectedValue}", "Anexo del Catálogo - Anual", SubProyecto, DdlDivisor.SelectedValue.ToEntero, DatoTituloExtra:=$"Periodo {DdlPeriodo.SelectedItem.Text}")
End Sub
Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)
End Sub
End Class