294 lines
13 KiB
VB.net
294 lines
13 KiB
VB.net
Imports System.Data
|
|
Imports Extensiones
|
|
Imports Microsoft.Reporting.WebForms
|
|
|
|
Partial Class RH_Asistencias
|
|
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()
|
|
CargaProyecto()
|
|
CargaTurnos()
|
|
TxtFechaAsistencia.Text = Now.ToShortDateString
|
|
If UsuarioActual.CveRol = 1 OrElse UsuarioActual.CveUsuario = 2343 Then
|
|
PnlMasivo.Visible = True
|
|
CargaTiposPeriodo()
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
#Region "CargaCombos"
|
|
|
|
#Region " ORGANIGRAMA "
|
|
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
|
|
#End Region
|
|
'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()
|
|
' 'Application("GlobalDTResponsable")
|
|
|
|
' DdlCliente.DataBind()
|
|
'End Sub
|
|
|
|
'Protected Sub BtnCargarClientes_Click(sender As Object, e As System.EventArgs) Handles BtnCargarClientes.Click
|
|
' 'CargaClientes()
|
|
' 'DdlCliente.Attributes.Remove("onclick")
|
|
'End Sub
|
|
|
|
Private Sub CargaProyecto()
|
|
'DdlProyecto.DataSource = GlobalDTProyectos(UsuarioActual.Empresa.CveEmpresa).FiltraParametros("", DistinctColumns:={"CveProyecto", "Proyecto"})
|
|
'DdlProyecto.DataBind()
|
|
|
|
CargarCentrosDeCosto(DdlProyecto, DdlProyecto, LblProyectoAsignado, 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(DdlProyecto.SelectedValue.ToEntero)
|
|
DdlSubProyecto.DataBind()
|
|
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
End Sub
|
|
|
|
Private Sub CargaTurnos()
|
|
DdlTurno.DataSource = GlobalDTTurno(UsuarioActual.CveEmpresa)
|
|
DdlTurno.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
|
|
If TxtFechaAsistencia.Text.Trim.ToDate.Year.Contiene(Now.Year - 1, Now.Year, Now.Year + 1) Then
|
|
Dim objpersonal As New ClsRH
|
|
If objpersonal.GetAsistencias(-1, DdlCliente.SelectedValue.ToEntero, DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlTurno.SelectedValue.ToEntero, 1, TxtFechaAsistencia.Text.Trim.ToDate, TxtFechaAsistencia.Text.Trim.ToDate, UsuarioActual.CveEmpresa) Then
|
|
Dim dt As DataTable = objpersonal.DtResultados
|
|
If DdlSupervisorOrganigrama.SelectedValue.ToEntero() > 0 Then
|
|
dt = dt.FiltraParametros(String.Format("CvePersonalPadre = {0}", DdlSupervisorOrganigrama.SelectedValue.ToEntero()))
|
|
ElseIf DdlSupervisorOrganigrama.SelectedValue.ToEntero() = -2 Then
|
|
dt = dt.FiltraParametros("CvePersonalPadre IS NULL")
|
|
|
|
Else
|
|
|
|
End If
|
|
GV.DataSource = dt
|
|
Else
|
|
GV.DataSource = Nothing
|
|
End If
|
|
|
|
objpersonal.Dispose()
|
|
GV.DataBind()
|
|
BtnGuardar.Visible = (GV.Rows.Count > 0)
|
|
UpDatos.Update()
|
|
Else
|
|
Alert("La Fecha está fuera de los parámetros establecidos, por favor revise. Fecha: " & TxtFechaAsistencia.Text, TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
End Sub
|
|
|
|
Protected Sub LnkImprimir_Click(sender As Object, e As EventArgs)
|
|
Dim Fecha As String = TxtFechaAsistencia.Text
|
|
|
|
|
|
Dim tablaReporte As New DataTable
|
|
|
|
Dim objpersonal As New ClsRH
|
|
If objpersonal.GetAsistencias(-1, DdlCliente.SelectedValue.ToEntero, DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlTurno.SelectedValue.ToEntero, 1, TxtFechaAsistencia.Text.Trim.ToDate, TxtFechaAsistencia.Text.Trim.ToDate, UsuarioActual.CveEmpresa) Then
|
|
tablaReporte = objpersonal.DtResultados
|
|
If DdlSupervisorOrganigrama.SelectedValue.ToEntero() > 0 Then
|
|
tablaReporte = tablaReporte.FiltraParametros(String.Format("CvePersonalPadre = {0}", DdlSupervisorOrganigrama.SelectedValue.ToEntero()))
|
|
ElseIf DdlSupervisorOrganigrama.SelectedValue.ToEntero() = -2 Then
|
|
tablaReporte = tablaReporte.FiltraParametros("CvePersonalPadre IS NULL")
|
|
|
|
Else
|
|
|
|
End If
|
|
Else
|
|
End If
|
|
|
|
objpersonal.Dispose()
|
|
|
|
Dim Filtros As String = ""
|
|
If Not IsNothing(DdlCliente.SelectedValue) AndAlso DdlCliente.SelectedValue.ToEntero() > 0 Then
|
|
Filtros = String.Format("{0}{2}Cliente :{1}", Filtros, DdlCliente.SelectedText, vbNewLine)
|
|
End If
|
|
If DdlSubProyecto.SelectedValue.ToEntero() > 0 Then
|
|
Filtros = String.Format("{0}{2}{3} :{1}", Filtros, DdlSubProyecto.SelectedItem.Text, vbNewLine, LblSubProyectoAsignado.Text)
|
|
End If
|
|
If DdlTurno.SelectedValue.ToEntero() > 0 Then
|
|
Filtros = String.Format("{0}{2}Turno :{1}", Filtros, DdlTurno.SelectedItem.Text, vbNewLine)
|
|
End If
|
|
If DdlSupervisorOrganigrama.SelectedValue.ToEntero() > 0 Then
|
|
Filtros = String.Format("{0}{2}Supervisor :{1}", Filtros, DdlSupervisorOrganigrama.SelectedItem.Text, vbNewLine)
|
|
End If
|
|
|
|
Dim params As New List(Of ReportParameter)
|
|
params.Add(New ReportParameter("Fecha", Fecha))
|
|
params.Add(New ReportParameter("FechaImpresion", DateTime.Now.ToString("dd/MM/yyyy HH:mm")))
|
|
params.Add(New ReportParameter("Filtros", Filtros))
|
|
|
|
Dim lrds As New List(Of ReportDataSource)
|
|
Dim rds As New ReportDataSource With {.Name = "DataSet1", .Value = tablaReporte}
|
|
lrds.Add(rds)
|
|
'"Empresas/Grales/Formatos/EquiposGPS.rdlc"
|
|
'"D:\\ADSistemas\\Proyectos\\SIG\\SIGIT\\GPS\\PalletEtiqueta.rdlc"
|
|
Dim rutardlc = "GPS/Asistencia.rdlc"
|
|
ImprimirPDF(rutardlc, lrds, params, "Lista de asistencia")
|
|
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.RowIndex = 0 Then
|
|
e.Row.Cells(0).Width = Unit.Pixel(60)
|
|
e.Row.Cells(1).Width = Unit.Pixel(300)
|
|
e.Row.Cells(2).Width = Unit.Pixel(100)
|
|
e.Row.Cells(3).Width = Unit.Pixel(80)
|
|
e.Row.Cells(4).Width = Unit.Pixel(85)
|
|
e.Row.Cells(5).Width = Unit.Pixel(85)
|
|
e.Row.Cells(6).Width = Unit.Pixel(150)
|
|
e.Row.Cells(7).Width = Unit.Pixel(90)
|
|
End If
|
|
|
|
e.Row.FCLiteral("LtlCodigo").Text = "<a class=""Texto"" href=""/RH/Personal.aspx?CvePersonal=" & e.Row.DBCampo("CvePersonal") & "&Opt=4"">" & e.Row.DBCampo("Codigo") & "</a>"
|
|
e.Row.FCLiteral("LtlPersonal").Text = "<a class=""Texto"" href=""/RH/Personal.aspx?CvePersonal=" & e.Row.DBCampo("CvePersonal") & "&Opt=4"">" & e.Row.DBCampo("Nombre") & "</a>"
|
|
e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Left
|
|
|
|
e.Row.FCTextBox("TxtPorPago").Text = e.Row.DBCampo("PorcentajePago")
|
|
e.Row.FCTextBox("TxtHorasDobles").Text = e.Row.DBCampo("HorasDobles")
|
|
e.Row.FCTextBox("TxtHorasTriples").Text = e.Row.DBCampo("HorasTriples")
|
|
|
|
'Carga Tipos de Asistencia
|
|
e.Row.FCDropDownList("DdlTipoAsistencias").DataSource = GlobalDTAsistenciasInasistencias.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
|
|
e.Row.FCDropDownList("DdlTipoAsistencias").DataBind()
|
|
If e.Row.DBCampo("CveAsistenciasInasistencias") <> "-1" Then e.Row.FCDropDownList("DdlTipoAsistencias").SelectedValue = e.Row.DBCampo("CveAsistenciasInasistencias")
|
|
|
|
'Carga Motivos Horas Extras
|
|
e.Row.FCDropDownList("DdlMotivoHoraExtra").DataSource = GlobalDTMotivosHorasExtras(UsuarioActual.CveEmpresa)
|
|
e.Row.FCDropDownList("DdlMotivoHoraExtra").DataBind()
|
|
If e.Row.DBCampo("CveMotivoHoraExtra") <> "-1" Then e.Row.FCDropDownList("DdlMotivoHoraExtra").SelectedValue = e.Row.DBCampo("CveMotivoHoraExtra")
|
|
|
|
e.Row.FCTextBox("TxtObservaciones").Text = e.Row.DBCampo("Observacion")
|
|
|
|
If e.Row.DBCampo("SeModifico") = "0" Then
|
|
e.Row.Cells(0).BackColor = Drawing.Color.LightBlue
|
|
e.Row.Cells(1).BackColor = Drawing.Color.LightBlue
|
|
ElseIf e.Row.DBCampo("SeModifico") = "1" Then
|
|
e.Row.Cells(0).BackColor = Drawing.Color.FromArgb(242, 222, 222) '"#f2dede" 'Drawing.Color.Red
|
|
e.Row.Cells(1).BackColor = Drawing.Color.FromArgb(242, 222, 222) 'Drawing.Color.Red
|
|
End If
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Protected Sub BtnGuardar_Click(sender As Object, e As System.EventArgs) Handles BtnGuardar.Click
|
|
Dim ObjPersonal As New ClsRH()
|
|
ObjPersonal.IniciaTransacSQL()
|
|
Dim OcurrioError As Boolean = False
|
|
|
|
For Each Row As GridViewRow In GV.Rows
|
|
If Not ObjPersonal.AddAsistencia(Row.DataKey("CvePersonal").ToEntero, DdlCliente.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, TxtFechaAsistencia.Text.Trim.ToDate,
|
|
Row.FCDropDownList("DdlTipoAsistencias").SelectedValue.ToEntero, Row.FCTextBox("TxtPorPago").Text.Trim.ToDouble, Row.FCTextBox("TxtHorasDobles").Text.Trim.ToDouble,
|
|
Row.FCTextBox("TxtHorasTriples").Text.Trim.ToDouble, Row.FCDropDownList("DdlMotivoHoraExtra").SelectedValue.ToEntero, Row.FCTextBox("TxtObservaciones").Text.Trim,
|
|
UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
|
OcurrioError = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
If OcurrioError Then
|
|
ObjPersonal.RollBack()
|
|
Alert("Ocurrió un error al guardar las Asistencias.", TipoMensaje.MsgError)
|
|
Else
|
|
ObjPersonal.Commit()
|
|
Alert("Las Asistencias se guardaron correctamente.", TipoMensaje.MsgInformacion)
|
|
End If
|
|
|
|
ObjPersonal.Dispose()
|
|
|
|
BtnConsultar_Click(sender, e)
|
|
End Sub
|
|
|
|
|
|
Protected Sub BtnCargaMasiva_Click(sender As Object, e As EventArgs)
|
|
Dim ObjPersonal As New ClsRH()
|
|
ObjPersonal.IniciaTransacSQL()
|
|
Dim OcurrioError As Boolean = False
|
|
|
|
If Not ObjPersonal.AddAsistenciaMasiva(DdlPeriodo.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
|
|
|
OcurrioError = True
|
|
|
|
End If
|
|
|
|
If OcurrioError Then
|
|
ObjPersonal.RollBack()
|
|
Alert("Ocurrió un error al guardar las Asistencias.", TipoMensaje.MsgError)
|
|
Else
|
|
ObjPersonal.Commit()
|
|
Alert("Las Asistencias se guardaron correctamente.", TipoMensaje.MsgInformacion)
|
|
End If
|
|
|
|
ObjPersonal.Dispose()
|
|
End Sub
|
|
|
|
Protected Sub DdlTipoPeriodo_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlTipoPeriodo.SelectedIndexChanged
|
|
CargaPeriodos()
|
|
End Sub
|
|
|
|
Private Sub CargaTiposPeriodo()
|
|
DdlTipoPeriodo.DataSource = GlobalDTTipoPeriodo
|
|
DdlTipoPeriodo.DataBind()
|
|
End Sub
|
|
|
|
Private Sub CargaPeriodos()
|
|
Dim ObjPeriodos As New ClsNominas
|
|
If ObjPeriodos.GetPeriodos(DdlTipoPeriodo.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1, -1, -1) Then
|
|
|
|
DdlPeriodo.DataSource = ObjPeriodos.DtResultados
|
|
Else
|
|
DdlPeriodo.DataSource = Nothing
|
|
End If
|
|
ObjPeriodos.Dispose()
|
|
DdlPeriodo.DataBind()
|
|
|
|
DdlPeriodo.Items.Clear()
|
|
DdlPeriodo.DataBind()
|
|
DdlPeriodo.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
|
End Sub
|
|
|
|
End Class
|