This commit is contained in:
2023-07-26 15:37:03 -07:00
4 changed files with 293 additions and 139 deletions

View File

@@ -3261,6 +3261,8 @@ Public Class Timbrado
If cfdi.Xml <> "" Then cfdi.EscribirXml(RutaArchivo & NombreArchivoXML & ".xml") If cfdi.Xml <> "" Then cfdi.EscribirXml(RutaArchivo & NombreArchivoXML & ".xml")
End If End If
Else
Retorno = "XML No generado "
End If End If
#End Region #End Region

View File

@@ -3030,12 +3030,21 @@
<br /> <br />
</div> </div>
<br /> <br />
<div id="ModalAddVacaciones" class="modal ADS fade" role="dialog"> <div id="ModalAddVacaciones" class="modal ADS fade" role="dialog">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content" style="width: 700px;"> <div class="modal-content" style="width: 700px;">
<div class="modal-header "> <div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">&times;</button> <button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Agregar Vacaciones</h4> <h4 class="modal-title">
<asp:UpdatePanel runat="server" ID="UpModalAddVacacionesTitulo" UpdateMode="Conditional">
<ContentTemplate>
<asp:Label ID="LblModalAddVacacionesTitulo" runat="server" Text="Agregar Vacaciones"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
</h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@@ -3058,50 +3067,54 @@
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<div class=""> <div class="">
<asp:Label runat="server" AssociatedControlID="DdlVacPeriodo" Style="padding-bottom: 0px; margin-bottom: 0px; font-size: 12px; color: #888; font-weight: 400;">Periodo</asp:Label><br /> <asp:Label runat="server" AssociatedControlID="DdlVacPeriodo" Style="padding-bottom: 0px; margin-bottom: 0px; font-size: 12px; color: #888; font-weight: 400;" >Periodo</asp:Label><br />
<asp:DropDownList ID="DdlVacPeriodo" DataValueField="Ejercicio" DataTextField="PeriodoText" Width="100%" CssClass="form-control select2me " runat="server"></asp:DropDownList> <asp:DropDownList ID="DdlVacPeriodo" DataValueField="Ejercicio" DataTextField="PeriodoText" Width="100%" CssClass="form-control select2me " runat="server" AutoPostBack="true"
OnSelectedIndexChanged="DdlVacPeriodo_SelectedIndexChanged">
</asp:DropDownList>
<%-- <asp:TextBox ID="TxtVacEjercicio" CssClass="form-control input-sm form-small" Text="2021" runat="server"></asp:TextBox> <%-- <asp:TextBox ID="TxtVacEjercicio" CssClass="form-control input-sm form-small" Text="2021" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtVacEjercicio">Ejercicio</asp:Label>--%> <asp:Label runat="server" AssociatedControlID="TxtVacEjercicio">Ejercicio</asp:Label>--%>
</div> </div>
</div> </div>
</div> </div>
<asp:Panel runat="server" ID="PnlVacfechas" CssClass="row"> <asp:Panel runat="server" ID="PnlVacfechas" CssClass="row">
<div class="col-md-3"> <div class="col-md-3">
<div class="form-group form-md-line-input input-iconright calendarlinealinput" style="width: 100px !important"> <div class="form-group form-md-line-input input-iconright calendarlinealinput" style="width: 100px !important">
<div class="input-group input-sm date date-picker" data-date-format="dd/mm/yyyy" style="width: 160px;"> <div class="input-group input-sm date date-picker" data-date-format="dd/mm/yyyy" style="width: 160px;">
<asp:TextBox ID="TxtFechaInicioVac" runat="server" CausesValidation="true" CssClass="form-control input-sm" onblur="calculaFechasVacaciones();" ></asp:TextBox> <asp:TextBox ID="TxtFechaInicioVac" runat="server" CausesValidation="true" CssClass="form-control input-sm" onblur="calculaFechasVacaciones();"></asp:TextBox>
<span class="input-group-btn "> <span class="input-group-btn ">
<asp:LinkButton ID="ImgTxtFechaInicioVac" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton> <asp:LinkButton ID="ImgTxtFechaInicioVac" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span> </span>
<ajax:MaskedEditExtender ID="MEETxtFechaInicioVac" runat="server" TargetControlID="TxtFechaInicioVac" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender> <ajax:MaskedEditExtender ID="MEETxtFechaInicioVac" runat="server" TargetControlID="TxtFechaInicioVac" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CETxtFechaInicioVac" TargetControlID="TxtFechaInicioVac" PopupButtonID="ImgTxtFechaInicioVac" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender> <ajax:CalendarExtender runat="server" ID="CETxtFechaInicioVac" TargetControlID="TxtFechaInicioVac" PopupButtonID="ImgTxtFechaInicioVac" PopupPosition="BottomRight" Enabled="True" OnClientHidden="calculaFechasVacaciones"></ajax:CalendarExtender>
<label>Fecha Inicial</label> <label>Fecha Inicial</label>
</div> </div>
</div> </div>
</div> </div>
<asp:Panel runat="server" ID="PnlVacDiasPago" CssClass="col-md-3"> <asp:Panel runat="server" ID="PnlVacDiasPago" CssClass="col-md-3">
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtVacDiasPago" CssClass="form-control input-sm form-small" type="number" runat="server" style="margin-top:20px!important" onblur="calculaFechasVacaciones();" ></asp:TextBox> <asp:TextBox ID="TxtVacDiasPago" CssClass="form-control input-sm form-small" type="number" runat="server" Style="margin-top: 20px!important" onblur="calculaFechasVacaciones();"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtVacDiasPago" style="margin-top:10px!important">Días pago</asp:Label> <ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtVacDiasPago" ValidChars="0123456789" />
<asp:Label runat="server" AssociatedControlID="TxtVacDiasPago" Style="margin-top: 10px!important">Días pago</asp:Label>
</div> </div>
</asp:Panel> </asp:Panel>
<div class="col-md-3"> <div class="col-md-3" style="max-height:58px!important">
<div class="form-group form-md-line-input input-iconright " style="width: 100px !important"> <div class="form-group form-md-line-input input-iconright calendarlinealinput" style="width: 100px !important">
<div class="input-group input-sm date date-picker" data-date-format="dd/mm/yyyy" style="width: 160px;"> <div class="input-group input-sm date date-picker" data-date-format="dd/mm/yyyy" style="width: 160px;">
<asp:TextBox ID="TxtFechaFinVac" runat="server" CausesValidation="true" CssClass="form-control input-sm" ClientIDMode="Static"></asp:TextBox> <asp:TextBox ID="TxtFechaFinVac" runat="server" CausesValidation="true" CssClass="form-control input-sm" ClientIDMode="Static" onblur="calculaFechasVacacionesFechaFin()"></asp:TextBox>
<span class="input-group-btn " > <span class="input-group-btn ">
<asp:LinkButton ID="ImgTxtFechaFinVac" class="btn default " Text="<i class='fa fa-calendar'></i>" style="display:none!important" runat="server"></asp:LinkButton> <asp:LinkButton ID="ImgTxtFechaFinVac" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span> </span>
<ajax:MaskedEditExtender ID="MEETxtFechaFinVac" runat="server" TargetControlID="TxtFechaFinVac" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender> <ajax:MaskedEditExtender ID="MEETxtFechaFinVac" runat="server" TargetControlID="TxtFechaFinVac" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CETxtFechaFinVac" TargetControlID="TxtFechaFinVac" PopupButtonID="ImgTxtFechaFinVac" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender> <ajax:CalendarExtender runat="server" ID="CETxtFechaFinVac" TargetControlID="TxtFechaFinVac" PopupButtonID="ImgTxtFechaFinVac" PopupPosition="BottomRight" Enabled="True" OnClientHidden="calculaFechasVacacionesFechaFin" ></ajax:CalendarExtender>
<label>Fecha Final</label> <label>Fecha Final</label>
</div> </div>
<br /> <br />
@@ -3109,15 +3122,17 @@
</div> </div>
<div class="col-md-3"> <div class="col-md-3">
<div class="form-group form-md-line-input input-iconright calendarlinealinput form-small"> <div class="form-group form-md-line-input input-iconright calendarlinealinput form-small">
<asp:TextBox ID="Txtdiasinabiles" runat="server" TextMode="Number" CausesValidation="true" CssClass="form-control input-sm form-small" ClientIDMode="Static" style="margin-top:20px!important" ></asp:TextBox> <asp:TextBox ID="Txtdiasinabiles" runat="server" TextMode="Number" CausesValidation="true" CssClass="form-control input-sm form-small" ClientIDMode="Static" Style="margin-top: 20px!important"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="Txtdiasinabiles" style="margin-top:10px!important" >Días feriados</asp:Label> <asp:Label runat="server" AssociatedControlID="Txtdiasinabiles" Style="margin-top: 10px!important">Días feriados</asp:Label>
</div> </div>
</div> </div>
</asp:Panel> </asp:Panel>
<asp:Panel runat="server" ID="PnlVacDias" CssClass="row"> <asp:Panel runat="server" ID="PnlVacDias" CssClass="row">
<div class="col-md-6"> <div class="col-md-6">
@@ -3142,10 +3157,7 @@
</div> </div>
</div> </div>
</asp:Panel> </asp:Panel>
<asp:Panel runat="server" ID="PnlVacFechapago" CssClass="row">
</asp:Panel>
<asp:Panel runat="server" ID="PnlVacChecks" CssClass="row"> <asp:Panel runat="server" ID="PnlVacChecks" CssClass="row">
<div class="col-md-6"> <div class="col-md-6">
@@ -3164,6 +3176,7 @@
<asp:Button runat="server" ClientIDMode="Static" ID="LnkCalculaFechasVacaciones" OnClick="LnkCalculaFechasVacaciones_Click" style="display:none!important" ></asp:Button> <asp:Button runat="server" ClientIDMode="Static" ID="LnkCalculaFechasVacaciones" OnClick="LnkCalculaFechasVacaciones_Click" style="display:none!important" ></asp:Button>
<asp:Button runat="server" ClientIDMode="Static" ID="LnkCalculaFechasVacacionesFechaFin" OnClick="LnkCalculaFechasVacacionesFechaFin_Click" style="display:none!important" ></asp:Button>
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
</div> </div>
@@ -3180,6 +3193,11 @@
</div> </div>
</div> </div>
</div> </div>
<div id="DvPermisosMotivos2" runat="server" visible="false"> <div id="DvPermisosMotivos2" runat="server" visible="false">
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtPermisoMotivo" runat="server" MaxLength="200"></asp:TextBox> <asp:TextBox CssClass="form-control" ID="TxtPermisoMotivo" runat="server" MaxLength="200"></asp:TextBox>
@@ -5795,16 +5813,18 @@
} }
}); });
$("#TxtFechaFinVac").prop("readonly", true);
$("#TxtFechaFinVac").on("paste", function (event) { //$("#TxtFechaFinVac").prop("readonly", true);
event.preventDefault(); //$("#TxtFechaFinVac").on("paste", function (event) {
}); // event.preventDefault();
$("#TxtFechaFinVac").on("contextmenu", function (event) { //});
if (event.which === 3) { //$("#TxtFechaFinVac").on("contextmenu", function (event) {
event.preventDefault(); // if (event.which === 3) {
} // event.preventDefault();
}); // }
//});
}); });
} }
@@ -7322,9 +7342,20 @@
} }
function calculaFechasVacaciones(){ function calculaFechasVacaciones(sender, e){
$('#LnkCalculaFechasVacaciones').click(); $('#LnkCalculaFechasVacaciones').click();
} }
function calculaFechasVacacionesFechaFin(sender, e) {
$('#LnkCalculaFechasVacacionesFechaFin').click();
}
</script> </script>
</asp:Content> </asp:Content>

View File

@@ -4840,13 +4840,16 @@ Partial Class RH_Personal
Dim dtosvac As DataTable Dim dtosvac As DataTable
Private Sub CargaVacacionesResumenPeriodoActual() Private Sub CargaVacacionesResumenPeriodoActual()
Using objnom As New ClsNominas Using objnom As New ClsNominas
If objnom.GETPersonalVacResumen(UsuarioActual.Empresa.CveEmpresa, CvePersonal) Then If objnom.GETPersonalVacResumen(UsuarioActual.Empresa.CveEmpresa, CvePersonal) Then
RPTVacacionesResumen.DataSource = objnom.DtResultados RPTVacacionesResumen.DataSource = objnom.DtResultados
DdlVacPeriodo.DataSource = objnom.DtResultados DdlVacPeriodo.DataSource = objnom.DtResultados.FiltraParametros("DiasDisponibles > 0", "Ejercicio")
DdlVacPeriodo.DataBind() DdlVacPeriodo.DataBind()
DTVacResumen = objnom.DtResultados
Dim drow As DataRow = objnom.DtResultados.FiltroPrimero("Selected =1") Dim drow As DataRow = objnom.DtResultados.FiltroPrimero("Selected =1")
If Not IsNothing(drow) Then If Not IsNothing(drow) Then
DdlVacPeriodo.SelectedValueExist(drow("Ejercicio")) DdlVacPeriodo.SelectedValueExist(drow("Ejercicio"))
DdlVacPeriodo_SelectedIndexChanged(Nothing, Nothing)
End If End If
End If End If
If objnom.GETPersonalVacaciones(UsuarioActual.Empresa.CveEmpresa, CvePersonal) Then If objnom.GETPersonalVacaciones(UsuarioActual.Empresa.CveEmpresa, CvePersonal) Then
@@ -5458,7 +5461,7 @@ Partial Class RH_Personal
Protected Sub DdlFormapagovacaciones_SelectedIndexChanged(sender As Object, e As EventArgs) Protected Sub DdlFormapagovacaciones_SelectedIndexChanged(sender As Object, e As EventArgs)
PnlVacfechas.Visible = False PnlVacfechas.Visible = False
PnlVacDias.Visible = False PnlVacDias.Visible = False
PnlVacFechapago.Visible = False 'PnlVacFechapago.Visible = False
PnlVacDiasPago.Visible = False PnlVacDiasPago.Visible = False
PnlVacChecks.Visible = False PnlVacChecks.Visible = False
TxtVacDiasPago.Text = "0" TxtVacDiasPago.Text = "0"
@@ -5467,7 +5470,7 @@ Partial Class RH_Personal
Case 1 Case 1
PnlVacfechas.Visible = True PnlVacfechas.Visible = True
PnlVacDias.Visible = True PnlVacDias.Visible = True
PnlVacFechapago.Visible = True 'PnlVacFechapago.Visible = True
PnlVacDiasPago.Visible = True PnlVacDiasPago.Visible = True
PnlVacChecks.Visible = True PnlVacChecks.Visible = True
Case 2 Case 2
@@ -5478,15 +5481,15 @@ Partial Class RH_Personal
PnlVacfechas.Visible = True PnlVacfechas.Visible = True
PnlVacDias.Visible = True PnlVacDias.Visible = True
PnlVacDiasPago.Visible = False PnlVacDiasPago.Visible = False
PnlVacFechapago.Visible = True 'PnlVacFechapago.Visible = True
Case 4 Case 4
PnlVacFechapago.Visible = True ' PnlVacFechapago.Visible = True
PnlVacDiasPago.Visible = True PnlVacDiasPago.Visible = True
PnlVacChecks.Visible = True PnlVacChecks.Visible = True
Case 5 Case 5
PnlVacfechas.Visible = True PnlVacfechas.Visible = True
Case 6 Case 6
PnlVacFechapago.Visible = True 'PnlVacFechapago.Visible = True
PnlVacDiasPago.Visible = True PnlVacDiasPago.Visible = True
End Select End Select
End Sub End Sub
@@ -7323,6 +7326,33 @@ Partial Class RH_Personal
End Set End Set
End Property 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() Protected Sub CargaPersonalIncapacidad()
LimpiaPersonalIncapacidad() LimpiaPersonalIncapacidad()
LnkAgregarIncapacidad.Visible = False LnkAgregarIncapacidad.Visible = False
@@ -7820,12 +7850,16 @@ Partial Class RH_Personal
Protected Sub LnkSolicitarVacaciones_Click(sender As Object, e As EventArgs) 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 Dim diaDescanso As Integer = GlobalDTTurno(UsuarioActual.CveEmpresa).FiltroPrimeroValor("DiaDescanso", $" CveTurno = {DdlTurno.SelectedValue.ToEntero}").ToEntero
diaDescanso = If(diaDescanso <= 0, 1, diaDescanso) diaDescanso = If(diaDescanso <= 0, 1, diaDescanso)
ContarDiasDeLaSemana(TxtFechaInicioVac.Text.ToDate, TxtVacDiasPago.Text.ToEntero) LblModalAddVacacionesTitulo.Text = $"Agregar Vacaciones - días disponibles <b>{DiasDisponibles}</b>"
UpModalAddVacacionesTitulo.Update()
CalculaDiasVacaciones(TxtFechaInicioVac.Text.ToDate, TxtVacDiasPago.Text.ToEntero)
If Not diaDescanso > 0 Then If Not diaDescanso > 0 Then
Alert("El turno no tiene día de descanso, provisionalmente se tomara el domingo.", TipoMensaje.MsgAdvertencia) Alert("El turno no tiene día de descanso, provisionalmente se tomara el domingo.", TipoMensaje.MsgAdvertencia)
@@ -7835,18 +7869,62 @@ Partial Class RH_Personal
End Sub 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)
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 Dim diaDescanso As Integer = GlobalDTTurno(UsuarioActual.CveEmpresa).FiltroPrimeroValor("DiaDescanso", $" CveTurno = {DdlTurno.SelectedValue.ToEntero}").ToEntero
diaDescanso = If(diaDescanso <= 0, 1, diaDescanso) 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 = DiasDisponibles.ToString
End If
End If
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 (DiferenciaEntreFechas - DiasNolavorales) >= DiasDisponibles Then
diasVacaciones = DiasDisponibles
Else
diasVacaciones = DiferenciaEntreFechas - DiasNolavorales
End If
TxtVacDiasPago.Text = diasVacaciones.ToString
End If
If TxtVacDiasPago.Text.ToEntero > DiasDisponibles Then
TxtVacDiasPago.Text = DiasDisponibles.ToString
diasVacaciones = DiasDisponibles
End If
Dim DiasAgregados As Integer = 0 Dim DiasAgregados As Integer = 0
Dim FechaFin As Date = fechaInicio Dim FechaFin As Date = fechaInicioParametro
Dim Contador As Integer = 0 Dim Contador As Integer = 0
For x = 2 To diasVacaciones For x = 2 To diasVacaciones
Dim day_of_week = CType(FechaFin.DayOfWeek, Integer) + 1 Dim day_of_week = CType(FechaFin.DayOfWeek, Integer) + 1
@@ -7865,6 +7943,15 @@ Partial Class RH_Personal
Contador = Contador + 1 Contador = Contador + 1
Next 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 TxtFechaFinVac.Text = FechaFin.ToString
Txtdiasinabiles.Text = DiasAgregados.ToString Txtdiasinabiles.Text = DiasAgregados.ToString
@@ -7874,7 +7961,53 @@ Partial Class RH_Personal
Protected Sub LnkCalculaFechasVacaciones_Click(sender As Object, e As EventArgs) 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 validaFechasVaciones() Then
Exit Sub
End If
CalculaDiasVacaciones(TxtFechaInicioVac.Text.ToDate, TxtVacDiasPago.Text.ToEntero, TxtFechaFinVac.Text.ToDate)
End Sub
Private Function validaFechasVaciones() 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
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 <b>{DiasDisponibles}</b>"
CalculaDiasVacaciones(TxtFechaInicioVac.Text.ToDate, TxtVacDiasPago.Text.ToEntero)
UpModalAddVacacionesTitulo.Update()
UpSolicitarVacaciones.Update()
End If
End Sub End Sub
End Class End Class

View File

@@ -26,7 +26,7 @@
<ContentTemplate> <ContentTemplate>
<div class="row"> <div class="row">
<div class="col-md-6"> <div class="col-md-6">
<div class="portlet light smmallpadding bordered "> <div class="portlet light xspadding bordered ">
<div class="portlet-title"> <div class="portlet-title">
<div class="caption font-green"> <div class="caption font-green">
<i class="icon-pin font-green"></i> <i class="icon-pin font-green"></i>
@@ -69,35 +69,68 @@
</ajax:TabPanel> </ajax:TabPanel>
<ajax:TabPanel ID="TabPanelPermisos" runat="server" HeaderText="Módulos">
<ContentTemplate>
<asp:UpdatePanel ID="UPPAltaRep" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row" align="right">
<input type="text" id="TxtBusqueda2" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda2','{0}')", GvPermisos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda2','{0}')", GvPermisos.ClientID) %>" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
<div class="row">
<div class="col-md-12">
<asp:GridView ID="GvPermisos" runat="server" CssClass="table table-striped table-hover Widthall ScrollAD" data-sort="true" AutoGenerateColumns="False" Width="100%" DataKeyNames="CveRol,CveModulo" GridLines="None">
<Columns>
<asp:BoundField DataField="Padres" HeaderText="Módulo Padre">
<ControlStyle Width="175px" />
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="Modulo" HeaderText="Módulo">
<ControlStyle Width="175px" />
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:TemplateField>
<HeaderTemplate><span title="Permitir">P</span></HeaderTemplate>
<ItemTemplate>
<asp:CheckBox runat="server" ID="ChkP"></asp:CheckBox>
</ItemTemplate>
<ControlStyle Width="25px" />
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:TemplateField>
</Columns>
<HeaderStyle CssClass="Titulos" Height="15px"></HeaderStyle>
</asp:GridView>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="TabPanelProcesos" runat="server" HeaderText="Procesos"> <ajax:TabPanel ID="TabPanelProcesos" runat="server" HeaderText="Procesos">
<ContentTemplate> <ContentTemplate>
<asp:UpdatePanel ID="UPPAltaProcesos" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UPPAltaProcesos" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<div class="row">
<div class="col-md-12">
<div class="portlet light smmallpadding bordered "> <div class="row" align="right">
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span class="caption-subject bold uppercase">Procesos</span>
</div>
<div class="actions">
<div class="btn-group">
</div>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body">
<div class="row" align="right">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvProcesos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" /> <input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvProcesos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvProcesos.ClientID) %>" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a> <a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvProcesos.ClientID) %>" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div> </div>
<br />
<div class="row"> <div class="row">
<div> <div class="col-md-12">
<asp:GridView ID="GvProcesos" runat="server" CssClass="table table-striped table-hover Widthall ScrollAD" data-sort="true" AutoGenerateColumns="False" Width="100%" DataKeyNames="CveRol,CveModulo,CveProceso" GridLines="None">
<asp:GridView ID="GvProcesos" runat="server" CssClass="table table-striped table-hover Widthall ScrollAD" data-sort="true" AutoGenerateColumns="False" Width="100%" DataKeyNames="CveRol,CveModulo,CveProceso" GridLines="None">
<Columns> <Columns>
<asp:BoundField DataField="Modulo" HeaderText="Módulo"> <asp:BoundField DataField="Modulo" HeaderText="Módulo">
<ControlStyle Width="150px" /> <ControlStyle Width="150px" />
@@ -118,10 +151,8 @@
</Columns> </Columns>
<HeaderStyle CssClass="Titulos" Height="15px"></HeaderStyle> <HeaderStyle CssClass="Titulos" Height="15px"></HeaderStyle>
</asp:GridView> </asp:GridView>
</div>
</div>
</div>
</div>
</div> </div>
</div> </div>
</ContentTemplate> </ContentTemplate>
@@ -130,65 +161,7 @@
</ajax:TabPanel> </ajax:TabPanel>
<ajax:TabPanel ID="TabPanelPermisos" runat="server" HeaderText="Módulos">
<ContentTemplate>
<asp:UpdatePanel ID="UPPAltaRep" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-md-12">
<div class="portlet light smmallpadding bordered ">
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span class="caption-subject bold uppercase">Módulos</span>
</div>
<div class="actions">
<div class="btn-group">
</div>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body">
<div class="row" align="right">
<input type="text" id="TxtBusqueda2" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda2','{0}')", GvPermisos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda2','{0}')", GvPermisos.ClientID) %>" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
<br />
<div class="row">
<div>
<asp:GridView ID="GvPermisos" runat="server" CssClass="table table-striped table-hover Widthall ScrollAD" data-sort="true" AutoGenerateColumns="False" Width="100%" DataKeyNames="CveRol,CveModulo" GridLines="None">
<Columns>
<asp:BoundField DataField="Padres" HeaderText="Módulo Padre">
<ControlStyle Width="175px" />
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="Modulo" HeaderText="Módulo">
<ControlStyle Width="175px" />
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:TemplateField>
<HeaderTemplate><span title="Permitir">P</span></HeaderTemplate>
<ItemTemplate>
<asp:CheckBox runat="server" ID="ChkP"></asp:CheckBox>
</ItemTemplate>
<ControlStyle Width="25px" />
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:TemplateField>
</Columns>
<HeaderStyle CssClass="Titulos" Height="15px"></HeaderStyle>
</asp:GridView>
</div>
</div>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="TabPanelIndicadores" runat="server" HeaderText="Indicadores"> <ajax:TabPanel ID="TabPanelIndicadores" runat="server" HeaderText="Indicadores">
@@ -197,7 +170,7 @@
<ContentTemplate> <ContentTemplate>
<div class="row"> <div class="row">
<div class="col-md-6"> <div class="col-md-6">
<div class="portlet light smmallpadding bordered "> <div class="portlet light xspadding bordered ">
<div class="portlet-title"> <div class="portlet-title">
<div class="caption font-green"> <div class="caption font-green">
<i class="icon-pin font-green"></i> <i class="icon-pin font-green"></i>
@@ -205,10 +178,16 @@
</div> </div>
<div class="actions"> <div class="actions">
<div class="btn-group"> <div class="btn-group">
<div class="row ">
<div class="col-md-12">
<input type="text" id="TxtBusquedaIndicador" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusquedaIndicador','{0}')", GvIndicadores.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusquedaIndicador','{0}')", GvIndicadores.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
</div> </div>
</div> </div>
<div class="tools"> <div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div> </div>
</div> </div>
<div class="portlet-body"> <div class="portlet-body">
@@ -240,7 +219,8 @@
<ContentTemplate> <ContentTemplate>
<div class="row"> <div class="row">
<div class="col-md-6"> <div class="col-md-6">
<div class="portlet light smmallpadding bordered ">
<div class="portlet light xspadding bordered ">
<div class="portlet-title"> <div class="portlet-title">
<div class="caption font-green"> <div class="caption font-green">
<i class="icon-pin font-green"></i> <i class="icon-pin font-green"></i>
@@ -248,10 +228,18 @@
</div> </div>
<div class="actions"> <div class="actions">
<div class="btn-group"> <div class="btn-group">
<div class="row ">
<div class="col-md-12">
<input type="text" id="TxtBusquedaUsuario" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusquedaUsuario','{0}')", GvUsurios.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusquedaUsuario','{0}')", GvUsurios.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
</div> </div>
</div> </div>
<div class="tools"> <div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div> </div>
</div> </div>
<div class="portlet-body"> <div class="portlet-body">