From c592ef20253f22a7c41322916893ab30877bf4f2 Mon Sep 17 00:00:00 2001 From: Oscar Irigoyen Date: Fri, 21 Jul 2023 22:49:00 -0700 Subject: [PATCH 1/4] =?UTF-8?q?RH=20Personal=20ajuste=20solicitud=20vacion?= =?UTF-8?q?es,=20timbrado=20else=20al=20no=20generar=20xml=20pac=204,=20ro?= =?UTF-8?q?les=20detalle=20=20lista=20de=20usuarios=20cambio=20orden=20de?= =?UTF-8?q?=20epsta=C3=B1as?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App_Code/Timbrado.vb | 2 + RH/Personal.aspx | 66 +++++++++++--------- RH/Personal.aspx.vb | 85 ++++++++++++++++++++++---- Sistemas/RolesDetalle.aspx | 121 +++++++++++++++++++------------------ 4 files changed, 177 insertions(+), 97 deletions(-) diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index 7162b74a7..fd0e8afac 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -3261,6 +3261,8 @@ Public Class Timbrado If cfdi.Xml <> "" Then cfdi.EscribirXml(RutaArchivo & NombreArchivoXML & ".xml") End If + Else + Retorno = "XML No generado " End If #End Region diff --git a/RH/Personal.aspx b/RH/Personal.aspx index bb779887d..7a8037475 100644 --- a/RH/Personal.aspx +++ b/RH/Personal.aspx @@ -3035,7 +3035,14 @@ +
- + @@ -3083,22 +3091,22 @@
- +
- - Días pago + + Días pago
- -
-
+ +
+
- - - + + + @@ -3109,15 +3117,17 @@
-
+
- - Días feriados + + Días feriados
+ +
@@ -3142,10 +3152,7 @@
- - - - +
@@ -3164,6 +3171,7 @@ +
@@ -5796,15 +5804,15 @@ }); - $("#TxtFechaFinVac").prop("readonly", true); - $("#TxtFechaFinVac").on("paste", function (event) { - event.preventDefault(); - }); - $("#TxtFechaFinVac").on("contextmenu", function (event) { - if (event.which === 3) { - event.preventDefault(); - } - }); + //$("#TxtFechaFinVac").prop("readonly", true); + //$("#TxtFechaFinVac").on("paste", function (event) { + // event.preventDefault(); + //}); + //$("#TxtFechaFinVac").on("contextmenu", function (event) { + // if (event.which === 3) { + // event.preventDefault(); + // } + //}); }); } @@ -7326,5 +7334,9 @@ $('#LnkCalculaFechasVacaciones').click(); } + function calculaFechasVacacionesFechaFin() { + $('#LnkCalculaFechasVacacionesFechaFin').click(); + } + diff --git a/RH/Personal.aspx.vb b/RH/Personal.aspx.vb index ab70b76b3..5bf96f3ea 100644 --- a/RH/Personal.aspx.vb +++ b/RH/Personal.aspx.vb @@ -5458,7 +5458,7 @@ Partial Class RH_Personal Protected Sub DdlFormapagovacaciones_SelectedIndexChanged(sender As Object, e As EventArgs) PnlVacfechas.Visible = False PnlVacDias.Visible = False - PnlVacFechapago.Visible = False + 'PnlVacFechapago.Visible = False PnlVacDiasPago.Visible = False PnlVacChecks.Visible = False TxtVacDiasPago.Text = "0" @@ -5467,7 +5467,7 @@ Partial Class RH_Personal Case 1 PnlVacfechas.Visible = True PnlVacDias.Visible = True - PnlVacFechapago.Visible = True + 'PnlVacFechapago.Visible = True PnlVacDiasPago.Visible = True PnlVacChecks.Visible = True Case 2 @@ -5478,15 +5478,15 @@ Partial Class RH_Personal PnlVacfechas.Visible = True PnlVacDias.Visible = True PnlVacDiasPago.Visible = False - PnlVacFechapago.Visible = True + 'PnlVacFechapago.Visible = True Case 4 - PnlVacFechapago.Visible = True + ' PnlVacFechapago.Visible = True PnlVacDiasPago.Visible = True PnlVacChecks.Visible = True Case 5 PnlVacfechas.Visible = True Case 6 - PnlVacFechapago.Visible = True + 'PnlVacFechapago.Visible = True PnlVacDiasPago.Visible = True End Select End Sub @@ -7825,7 +7825,11 @@ Partial Class RH_Personal Dim diaDescanso As Integer = GlobalDTTurno(UsuarioActual.CveEmpresa).FiltroPrimeroValor("DiaDescanso", $" CveTurno = {DdlTurno.SelectedValue.ToEntero}").ToEntero diaDescanso = If(diaDescanso <= 0, 1, diaDescanso) - ContarDiasDeLaSemana(TxtFechaInicioVac.Text.ToDate, TxtVacDiasPago.Text.ToEntero) + LblModalAddVacacionesTitulo.Text = $"Agregar Vacaciones - días disponibles {diaDescanso}" + + UpModalAddVacacionesTitulo.Update() + + CalculaDiasVacaciones(TxtFechaInicioVac.Text.ToDate, TxtVacDiasPago.Text.ToEntero) If Not diaDescanso > 0 Then Alert("El turno no tiene día de descanso, provisionalmente se tomara el domingo.", TipoMensaje.MsgAdvertencia) @@ -7835,18 +7839,51 @@ Partial Class RH_Personal End Sub - Private Sub ContarDiasDeLaSemana(fechaInicio As Date, diasVacaciones As Integer) + Private Sub CalculaDiasVacaciones(fechaInicioParametro As Date, diasVacaciones As Integer, Optional fechaFinParametro As Date = Nothing) + Dim diaDescanso As Integer = GlobalDTTurno(UsuarioActual.CveEmpresa).FiltroPrimeroValor("DiaDescanso", $" CveTurno = {DdlTurno.SelectedValue.ToEntero}").ToEntero + diaDescanso = If(diaDescanso <= 0, 1, diaDescanso) + + + If fechaFinParametro <> Nothing Then + + Dim DiferenciaEntreFechas As Integer = (fechaFinParametro - fechaInicioParametro).Days + 1 + Dim DiasNolavorales As Integer = 0 + Dim FechaTemp As Date = fechaInicioParametro + + For x = 1 To DiferenciaEntreFechas + Dim day_of_week = CType(FechaTemp.DayOfWeek, Integer) + 1 + + If day_of_week = diaDescanso Then + DiasNolavorales = DiasNolavorales + 1 + End If + + FechaTemp = FechaTemp.AddDays(1) + + If 1 = DiferenciaEntreFechas Then + If day_of_week = diaDescanso Then + DiasNolavorales = DiasNolavorales + 1 + End If + End If + Next x + + + If diasVacaciones >= (DiferenciaEntreFechas - DiasNolavorales) Then + diasVacaciones = DiferenciaEntreFechas - DiasNolavorales + TxtVacDiasPago.Text = diasVacaciones.ToString + End If + + + + End If If TxtVacDiasPago.Text.ToEntero > VacDiasDisponibles Then TxtVacDiasPago.Text = VacDiasDisponibles.ToString End If - Dim diaDescanso As Integer = GlobalDTTurno(UsuarioActual.CveEmpresa).FiltroPrimeroValor("DiaDescanso", $" CveTurno = {DdlTurno.SelectedValue.ToEntero}").ToEntero - diaDescanso = If(diaDescanso <= 0, 1, diaDescanso) Dim DiasAgregados As Integer = 0 - Dim FechaFin As Date = fechaInicio + Dim FechaFin As Date = fechaInicioParametro Dim Contador As Integer = 0 For x = 2 To diasVacaciones Dim day_of_week = CType(FechaFin.DayOfWeek, Integer) + 1 @@ -7874,8 +7911,34 @@ Partial Class RH_Personal Protected Sub LnkCalculaFechasVacaciones_Click(sender As Object, e As EventArgs) - ContarDiasDeLaSemana(TxtFechaInicioVac.Text.ToDate, TxtVacDiasPago.Text.ToEntero) + CalculaDiasVacaciones(TxtFechaInicioVac.Text.ToDate, TxtVacDiasPago.Text.ToEntero) End Sub + + Protected Sub LnkCalculaFechasVacacionesFechaFin_Click(sender As Object, e As EventArgs) + + If Not validaFehcasVaciones() Then + Exit Sub + End If + + CalculaDiasVacaciones(TxtFechaInicioVac.Text.ToDate, TxtVacDiasPago.Text.ToEntero, TxtFechaFinVac.Text.ToDate) + + End Sub + + Private Function validaFehcasVaciones() As Boolean + + If Not IsDate(TxtFechaFinVac.Text) Then + Alert("Fecha fin invalida", TipoMensaje.MsgAdvertencia) + Return False + End If + + If Not IsDate(TxtFechaInicioVac.Text) Then + Alert("Fecha de inicio invalida", TipoMensaje.MsgAdvertencia) + Return False + End If + + Return True + End Function + End Class diff --git a/Sistemas/RolesDetalle.aspx b/Sistemas/RolesDetalle.aspx index 97f60dcdf..933b3aefa 100644 --- a/Sistemas/RolesDetalle.aspx +++ b/Sistemas/RolesDetalle.aspx @@ -69,6 +69,67 @@ + + + + +
+
+
+
+
+ + Módulos +
+
+
+
+
+
+ +
+
+
+
+ " style="display: inline-block; margin-right: -20px; width: 150px;" /> + " class="btn btn-circle btn-sm label-info"> +
+
+
+
+ + + + + + + + + + + + P + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+ + @@ -130,65 +191,7 @@ - - - - -
-
-
-
-
- - Módulos -
-
-
-
-
-
- -
-
-
-
- " style="display: inline-block; margin-right: -20px; width: 150px;" /> - " class="btn btn-circle btn-sm label-info"> -
-
-
-
- - - - - - - - - - - - P - - - - - - - - - -
-
-
-
-
-
-
-
-
-
+ From 25b6a93303099193577806c69d469240fe1153d2 Mon Sep 17 00:00:00 2001 From: Oscar Irigoyen Date: Sat, 22 Jul 2023 13:31:40 -0700 Subject: [PATCH 2/4] Correcion personal vacaiones, reacomodo rolesDetalle --- RH/Personal.aspx | 7 ++ RH/Personal.aspx.vb | 13 ++-- Sistemas/RolesDetalle.aspx | 141 +++++++++++++++++-------------------- 3 files changed, 77 insertions(+), 84 deletions(-) diff --git a/RH/Personal.aspx b/RH/Personal.aspx index 7a8037475..c1efffc23 100644 --- a/RH/Personal.aspx +++ b/RH/Personal.aspx @@ -3030,6 +3030,8 @@

+ + + + + + +
diff --git a/RH/Personal.aspx.vb b/RH/Personal.aspx.vb index 5bf96f3ea..85023349d 100644 --- a/RH/Personal.aspx.vb +++ b/RH/Personal.aspx.vb @@ -7825,7 +7825,7 @@ Partial Class RH_Personal 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 {diaDescanso}" + LblModalAddVacacionesTitulo.Text = $"Agregar Vacaciones - días disponibles {VacDiasDisponibles}" UpModalAddVacacionesTitulo.Update() @@ -7868,12 +7868,13 @@ Partial Class RH_Personal Next x - If diasVacaciones >= (DiferenciaEntreFechas - DiasNolavorales) Then + If (DiferenciaEntreFechas - DiasNolavorales) >= VacDiasDisponibles Then + diasVacaciones = VacDiasDisponibles + Else diasVacaciones = DiferenciaEntreFechas - DiasNolavorales - TxtVacDiasPago.Text = diasVacaciones.ToString End If - + TxtVacDiasPago.Text = diasVacaciones.ToString End If @@ -7917,7 +7918,7 @@ Partial Class RH_Personal Protected Sub LnkCalculaFechasVacacionesFechaFin_Click(sender As Object, e As EventArgs) - If Not validaFehcasVaciones() Then + If Not validaFechasVaciones() Then Exit Sub End If @@ -7925,7 +7926,7 @@ Partial Class RH_Personal End Sub - Private Function validaFehcasVaciones() As Boolean + Private Function validaFechasVaciones() As Boolean If Not IsDate(TxtFechaFinVac.Text) Then Alert("Fecha fin invalida", TipoMensaje.MsgAdvertencia) diff --git a/Sistemas/RolesDetalle.aspx b/Sistemas/RolesDetalle.aspx index 933b3aefa..4ea8a87c9 100644 --- a/Sistemas/RolesDetalle.aspx +++ b/Sistemas/RolesDetalle.aspx @@ -26,7 +26,7 @@
-
+
@@ -73,55 +73,41 @@ -
-
-
-
-
- - Módulos -
-
-
-
-
-
- -
-
-
-
+ +
" style="display: inline-block; margin-right: -20px; width: 150px;" /> " class="btn btn-circle btn-sm label-info">
-
-
-
- - - - - - - - - - - - P - - - - - - - - - -
-
-
-
+ +
+
+ + + + + + + + + + + + + P + + + + + + + + + + + + + +
@@ -134,31 +120,17 @@ -
-
-
-
-
- - Procesos -
-
-
-
-
-
- -
-
-
-
+ + +
" style="display: inline-block; margin-right: -20px; width: 150px;" /> " class="btn btn-circle btn-sm label-info">
-
-
-
- + +
+
+ + @@ -179,10 +151,8 @@ -
-
-
-
+ +
@@ -200,7 +170,7 @@
-
+
@@ -208,10 +178,16 @@
+
+
+ " style="display: inline-block; margin-right: -20px; width: 150px;" /> + " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> +
+ +
-
- +
@@ -243,7 +219,8 @@
-
+ +
@@ -251,10 +228,18 @@
+
+
+ " style="display: inline-block; margin-right: -20px; width: 150px;" /> + " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> +
+ +
+
- +
From 0c250761ccd2502d7d2386319862c8aa91c4627b Mon Sep 17 00:00:00 2001 From: Oscar Irigoyen Date: Mon, 24 Jul 2023 11:13:00 -0700 Subject: [PATCH 3/4] Correciones solicitud de vacaciones, clic en calendario --- RH/Personal.aspx | 20 +++++++++++++++----- RH/Personal.aspx.vb | 10 ++++++++++ 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/RH/Personal.aspx b/RH/Personal.aspx index c1efffc23..f8d6304bd 100644 --- a/RH/Personal.aspx +++ b/RH/Personal.aspx @@ -3081,12 +3081,12 @@
- + - +
@@ -3098,6 +3098,7 @@
+ Días pago
@@ -3111,7 +3112,7 @@ - +

@@ -5810,6 +5811,8 @@ } }); + + //$("#TxtFechaFinVac").prop("readonly", true); //$("#TxtFechaFinVac").on("paste", function (event) { @@ -7337,13 +7340,20 @@ } - function calculaFechasVacaciones(){ + function calculaFechasVacaciones(sender, e){ $('#LnkCalculaFechasVacaciones').click(); } - function calculaFechasVacacionesFechaFin() { + + + + function calculaFechasVacacionesFechaFin(sender, e) { $('#LnkCalculaFechasVacacionesFechaFin').click(); } + + + + diff --git a/RH/Personal.aspx.vb b/RH/Personal.aspx.vb index 85023349d..033c16e7b 100644 --- a/RH/Personal.aspx.vb +++ b/RH/Personal.aspx.vb @@ -7844,6 +7844,15 @@ Partial Class RH_Personal Dim diaDescanso As Integer = GlobalDTTurno(UsuarioActual.CveEmpresa).FiltroPrimeroValor("DiaDescanso", $" CveTurno = {DdlTurno.SelectedValue.ToEntero}").ToEntero diaDescanso = If(diaDescanso <= 0, 1, diaDescanso) + If fechaFinParametro <> Nothing Then + If fechaInicioParametro > fechaFinParametro Then + Alert("La fecha fin no puede ser mayor a la fecha inicial", TipoMensaje.MsgAdvertencia) + fechaFinParametro = Nothing + TxtVacDiasPago.Text = VacDiasDisponibles.ToString + End If + End If + + If fechaFinParametro <> Nothing Then @@ -7880,6 +7889,7 @@ Partial Class RH_Personal If TxtVacDiasPago.Text.ToEntero > VacDiasDisponibles Then TxtVacDiasPago.Text = VacDiasDisponibles.ToString + diasVacaciones = VacDiasDisponibles End If From 369a806ef088eea33e020a8f37ee4853b6e00667 Mon Sep 17 00:00:00 2001 From: Oscar Irigoyen Date: Tue, 25 Jul 2023 11:49:33 -0700 Subject: [PATCH 4/4] Personal solicitud vacaciones correciones, se cambia campo por columna nueva DiasDisponibles --- RH/Personal.aspx | 6 ++-- RH/Personal.aspx.vb | 77 +++++++++++++++++++++++++++++++++++++++------ 2 files changed, 72 insertions(+), 11 deletions(-) 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