diff --git a/RH/Personal.aspx b/RH/Personal.aspx
index f8d6304bd..75acc3645 100644
--- a/RH/Personal.aspx
+++ b/RH/Personal.aspx
@@ -3067,8 +3067,10 @@
-
Periodo
-
+
Periodo
+
+
<%--
Ejercicio--%>
diff --git a/RH/Personal.aspx.vb b/RH/Personal.aspx.vb
index 033c16e7b..59eeb2731 100644
--- a/RH/Personal.aspx.vb
+++ b/RH/Personal.aspx.vb
@@ -4840,13 +4840,16 @@ Partial Class RH_Personal
Dim dtosvac As DataTable
Private Sub CargaVacacionesResumenPeriodoActual()
Using objnom As New ClsNominas
+
If objnom.GETPersonalVacResumen(UsuarioActual.Empresa.CveEmpresa, CvePersonal) Then
RPTVacacionesResumen.DataSource = objnom.DtResultados
- DdlVacPeriodo.DataSource = objnom.DtResultados
+ DdlVacPeriodo.DataSource = objnom.DtResultados.FiltraParametros("DiasDisponibles > 0", "Ejercicio")
DdlVacPeriodo.DataBind()
+ DTVacResumen = objnom.DtResultados
Dim drow As DataRow = objnom.DtResultados.FiltroPrimero("Selected =1")
If Not IsNothing(drow) Then
DdlVacPeriodo.SelectedValueExist(drow("Ejercicio"))
+ DdlVacPeriodo_SelectedIndexChanged(Nothing, Nothing)
End If
End If
If objnom.GETPersonalVacaciones(UsuarioActual.Empresa.CveEmpresa, CvePersonal) Then
@@ -7323,6 +7326,33 @@ Partial Class RH_Personal
End Set
End Property
+ Public Property DTVacResumen As DataTable
+ Get
+ If ViewState("DTVacResumen") Is Nothing Then
+ ViewState("DTVacResumen") = New DataTable
+ End If
+
+ Return DirectCast(ViewState("DTVacResumen"), DataTable)
+ End Get
+ Set(value As DataTable)
+ ViewState("DTVacResumen") = value
+ End Set
+ End Property
+
+ Public Property DiasDisponibles As Integer
+ Get
+ If ViewState("DiasDisponibles") Is Nothing Then
+ ViewState("DiasDisponibles") = 0
+ End If
+
+ Return ViewState("DiasDisponibles").ToString.ToEntero
+ End Get
+ Set(value As Integer)
+ ViewState("DiasDisponibles") = value
+ End Set
+ End Property
+
+
Protected Sub CargaPersonalIncapacidad()
LimpiaPersonalIncapacidad()
LnkAgregarIncapacidad.Visible = False
@@ -7820,12 +7850,12 @@ Partial Class RH_Personal
Protected Sub LnkSolicitarVacaciones_Click(sender As Object, e As EventArgs)
- TxtVacDiasPago.Text = VacDiasDisponibles.ToString
+ TxtVacDiasPago.Text = DiasDisponibles.ToString
Dim diaDescanso As Integer = GlobalDTTurno(UsuarioActual.CveEmpresa).FiltroPrimeroValor("DiaDescanso", $" CveTurno = {DdlTurno.SelectedValue.ToEntero}").ToEntero
diaDescanso = If(diaDescanso <= 0, 1, diaDescanso)
- LblModalAddVacacionesTitulo.Text = $"Agregar Vacaciones - días disponibles
{VacDiasDisponibles}"
+ LblModalAddVacacionesTitulo.Text = $"Agregar Vacaciones - días disponibles
{DiasDisponibles}"
UpModalAddVacacionesTitulo.Update()
@@ -7848,7 +7878,7 @@ Partial Class RH_Personal
If fechaInicioParametro > fechaFinParametro Then
Alert("La fecha fin no puede ser mayor a la fecha inicial", TipoMensaje.MsgAdvertencia)
fechaFinParametro = Nothing
- TxtVacDiasPago.Text = VacDiasDisponibles.ToString
+ TxtVacDiasPago.Text = DiasDisponibles.ToString
End If
End If
@@ -7877,8 +7907,8 @@ Partial Class RH_Personal
Next x
- If (DiferenciaEntreFechas - DiasNolavorales) >= VacDiasDisponibles Then
- diasVacaciones = VacDiasDisponibles
+ If (DiferenciaEntreFechas - DiasNolavorales) >= DiasDisponibles Then
+ diasVacaciones = DiasDisponibles
Else
diasVacaciones = DiferenciaEntreFechas - DiasNolavorales
End If
@@ -7887,9 +7917,9 @@ Partial Class RH_Personal
End If
- If TxtVacDiasPago.Text.ToEntero > VacDiasDisponibles Then
- TxtVacDiasPago.Text = VacDiasDisponibles.ToString
- diasVacaciones = VacDiasDisponibles
+ If TxtVacDiasPago.Text.ToEntero > DiasDisponibles Then
+ TxtVacDiasPago.Text = DiasDisponibles.ToString
+ diasVacaciones = DiasDisponibles
End If
@@ -7913,6 +7943,15 @@ Partial Class RH_Personal
Contador = Contador + 1
Next
+
+
+ Dim UltimoDiamasUno As Integer = CType(FechaFin.AddDays(1).DayOfWeek, Integer) + 1
+
+ If UltimoDiamasUno = diaDescanso Then
+ FechaFin = FechaFin.AddDays(1)
+ DiasAgregados = DiasAgregados + 1
+ End If
+
TxtFechaFinVac.Text = FechaFin.ToString
Txtdiasinabiles.Text = DiasAgregados.ToString
@@ -7951,5 +7990,25 @@ Partial Class RH_Personal
Return True
End Function
+
+ Protected Sub DdlVacPeriodo_SelectedIndexChanged(sender As Object, e As EventArgs)
+
+ Dim Ejercicio As Integer = DdlVacPeriodo.SelectedValue.ToEntero
+
+ If Ejercicio > 0 Then
+ DiasDisponibles = DTVacResumen.FiltroPrimeroValor("DiasDisponibles", $"Ejercicio = {Ejercicio}").ToEntero
+
+ TxtVacDiasPago.Text = DiasDisponibles.ToString
+ LblModalAddVacacionesTitulo.Text = $"Agregar Vacaciones - días disponibles
{DiasDisponibles}"
+
+ CalculaDiasVacaciones(TxtFechaInicioVac.Text.ToDate, TxtVacDiasPago.Text.ToEntero)
+ UpModalAddVacacionesTitulo.Update()
+ UpSolicitarVacaciones.Update()
+ End If
+
+
+
+
+ End Sub
End Class