166 lines
6.2 KiB
VB.net
166 lines
6.2 KiB
VB.net
Option Strict On
|
|
|
|
Imports Extensiones
|
|
Imports System.Data
|
|
|
|
Partial Class RH_ListaAsistenciaRH
|
|
Inherits ClsPaginas
|
|
|
|
|
|
Property CveSupervisor As Integer
|
|
Get
|
|
If ViewState("CveSupervisor") Is Nothing Then
|
|
Return -1
|
|
Else
|
|
Return DirectCast(ViewState("CveSupervisor"), Integer)
|
|
End If
|
|
End Get
|
|
Set(value As Integer)
|
|
ViewState("CveSupervisor") = value
|
|
End Set
|
|
End Property
|
|
|
|
Private Sub RH_ListaAsistencia_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
|
|
If Not Page.IsPostBack Then
|
|
txtFecha.Text = Now.ToShortDateString
|
|
CveSupervisor = UsuarioActual.CvePersonal
|
|
CargaCombos()
|
|
CargaDatos()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub CargaCombos()
|
|
|
|
DdlSubProyecto.DataSource = GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa, 1)
|
|
DdlSubProyecto.DataBind()
|
|
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
DdlClientes.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa)
|
|
DdlClientes.DataBind()
|
|
DdlClientes.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
DdlDepartamento.DataSource = GlobalDTDepartamentos(UsuarioActual.CveEmpresa)
|
|
DdlDepartamento.DataBind()
|
|
DdlDepartamento.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
End Sub
|
|
Private Sub CargaDatos()
|
|
Dim ObjRH As New ClsRH
|
|
|
|
If ObjRH.GetListaAsistencia(txtFecha.Text.ToDate, DdlSubProyecto.SelectedValue.ToEntero, DdlDepartamento.SelectedValue.ToEntero, CveSupervisor, DdlClientes.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
|
|
GvDatos.DataSource = ObjRH.DtResultados
|
|
Else
|
|
GvDatos.DataSource = Nothing
|
|
End If
|
|
|
|
ObjRH.Dispose()
|
|
GvDatos.DataBind()
|
|
|
|
UPDatos.Update()
|
|
End Sub
|
|
|
|
Private Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound
|
|
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
'CvePersonal,CveAsistencia,CveAsistenciasInasistencias
|
|
'DdlAsistenciaInasistencia
|
|
Dim DTAsistenciasInasistencias As DataTable = GlobalDTAsistenciasInasistencias(UsuarioActual.CveEmpresa)
|
|
|
|
'If DTAsistenciasInasistencias.Rows.Count = 0 Then
|
|
' DTAsistenciasInasistencias = GlobalDTAsistenciasInasistencias().FiltraParametros($"CveEmpresa = 2 ")
|
|
'End If
|
|
|
|
e.Row.FCDropDownList("DdlAsistenciaInasistencia").DataSource = DTAsistenciasInasistencias
|
|
e.Row.FCDropDownList("DdlAsistenciaInasistencia").DataBind()
|
|
|
|
e.Row.FCDropDownList("DdlAsistenciaInasistencia").Items.Insert(0, New ListItem("Seleccione uno", "-1"))
|
|
e.Row.FCDropDownList("DdlAsistenciaInasistencia").SelectedValueExist(e.Row.DataKey("CveAsistenciasInasistencias").ToString)
|
|
|
|
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub BtnProcesaLista_Click(sender As Object, e As EventArgs) Handles BtnProcesaLista.Click
|
|
|
|
Dim TieneError As Boolean = False
|
|
Dim DTAsistenciasInasistencias As DataTable = GlobalDTAsistenciasInasistencias(UsuarioActual.CveEmpresa)
|
|
|
|
If DTAsistenciasInasistencias.Rows.Count > 0 Then
|
|
|
|
Dim ObjRH As New ClsRH
|
|
ObjRH.IniciaTransacSQL()
|
|
|
|
For Each gvRow As GridViewRow In GvDatos.Rows
|
|
|
|
Dim DdlAsistenciaInasistencia As DropDownList = gvRow.FCDropDownList("DdlAsistenciaInasistencia")
|
|
|
|
If DdlAsistenciaInasistencia.SelectedIndex > 0 Then
|
|
Try
|
|
Dim dtTemp As DataTable = DTAsistenciasInasistencias
|
|
|
|
Dim Falta As Boolean = If(DTAsistenciasInasistencias.FiltraParametros($"CveAsistenciasInasistencias = {DdlAsistenciaInasistencia.SelectedValue.ToEntero }")(0)("AplicaAsistencia").ToString = "Aplica", False, True)
|
|
Dim Porcentaje As Decimal
|
|
Dim CveAsistencia As Integer = gvRow.DataKey("CveAsistencia").ToEntero
|
|
Dim CvePersonal As Integer = gvRow.DataKey("CvePersonal").ToEntero
|
|
Dim CveSubProyecto As Integer = gvRow.DataKey("CveSubProyecto").ToEntero
|
|
Dim CveTurno As Integer = gvRow.DataKey("CveTurno").ToEntero
|
|
Dim SalarioDiario As Decimal = gvRow.DataKey("SalarioDiario").ToDecimal
|
|
|
|
If Falta Then
|
|
Porcentaje = 0
|
|
Else
|
|
Porcentaje = 100
|
|
End If
|
|
|
|
If CveAsistencia > 0 Then
|
|
|
|
If Not ObjRH.UpdateListaAsistencia(CveAsistencia, CvePersonal, CveSubProyecto, CveTurno, txtFecha.Text.ToDate, DdlAsistenciaInasistencia.SelectedValue.ToEntero, Porcentaje, 0, 0, -1, "-1", SalarioDiario, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
|
TieneError = True
|
|
Exit For
|
|
End If
|
|
Else
|
|
|
|
If Not ObjRH.AddListaAsistencia(CvePersonal, CveSubProyecto, CveTurno, txtFecha.Text.ToDate, DdlAsistenciaInasistencia.SelectedValue.ToEntero, Porcentaje, 0, 0, -1, "-1", SalarioDiario, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
|
TieneError = True
|
|
Exit For
|
|
End If
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
TieneError = True
|
|
Exit For
|
|
End Try
|
|
End If
|
|
|
|
Next
|
|
|
|
|
|
If TieneError = False Then
|
|
ObjRH.Commit()
|
|
Alert("Asistencias procesadas correctamente", TipoMensaje.MsgInformacion)
|
|
Else
|
|
ObjRH.RollBack()
|
|
Alert("Se preento un error al procesar la lista de asistencia", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
|
|
ObjRH.Dispose()
|
|
|
|
Else
|
|
Alert("No existen datos de asistencias inasistencias", TipoMensaje.MsgInformacion)
|
|
End If
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click
|
|
CargaDatos()
|
|
End Sub
|
|
End Class
|