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