Personal vacaciones calculo dias feriados y fecha fin
This commit is contained in:
@@ -127,13 +127,7 @@ Partial Class RH_CatTurno
|
||||
|
||||
Private Sub CargaGlobalDTTurno()
|
||||
|
||||
Dim ObjRH As New ClsRH
|
||||
If ObjRH.GetTurnos() Then
|
||||
Application("GlobalDTTurno") = ObjRH.DtResultados
|
||||
Else
|
||||
Application("GlobalDTTurno") = Nothing
|
||||
End If
|
||||
ObjRH.Dispose()
|
||||
GlobalDTTurno(UsuarioActual.CveEmpresa) = Nothing
|
||||
|
||||
End Sub
|
||||
Public Sub Delete_Click(sender As Object, e As EventArgs)
|
||||
|
||||
@@ -2876,10 +2876,11 @@
|
||||
</div>
|
||||
<div class="tools"><a href="javascript;" class="collapse" data-original-title="" title=""></a></div>
|
||||
<div class="actions">
|
||||
<div class="btn-group">
|
||||
<asp:HyperLink data-toggle="modal" data-target="#ModalAddVacaciones" runat="server" class="btn green btn-outline btn-sm">
|
||||
<div class="btn-group">
|
||||
<asp:LinkButton runat="server" id="LnkSolicitarVacaciones" CssClass="btn green btn-outline btn-sm" OnClick="LnkSolicitarVacaciones_Click" > <i class="fa fa-plus"></i> Solicitar Vacaciones</asp:LinkButton>
|
||||
<%--<asp:HyperLink data-toggle="modal" data-target="#ModalAddVacaciones" runat="server" class="btn green btn-outline btn-sm">
|
||||
<i class="fa fa-plus"></i> Solicitar Vacaciones
|
||||
</asp:HyperLink>
|
||||
</asp:HyperLink>--%>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -3038,7 +3039,7 @@
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
<asp:UpdatePanel runat="server" ID="UpdatePanel2" UpdateMode="Conditional">
|
||||
<asp:UpdatePanel runat="server" ID="UpSolicitarVacaciones" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
|
||||
<div class="row">
|
||||
@@ -3065,11 +3066,12 @@
|
||||
</div>
|
||||
</div>
|
||||
<asp:Panel runat="server" ID="PnlVacfechas" CssClass="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group form-md-line-input input-iconright calendarlinealinput" style="width: 100px !important">
|
||||
<div class="col-md-3">
|
||||
|
||||
|
||||
<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;">
|
||||
<asp:TextBox ID="TxtFechaInicioVac" runat="server" CausesValidation="true" CssClass="form-control input-sm"></asp:TextBox>
|
||||
<asp:TextBox ID="TxtFechaInicioVac" runat="server" CausesValidation="true" CssClass="form-control input-sm" onblur="calculaFechasVacaciones();" ></asp:TextBox>
|
||||
<span class="input-group-btn ">
|
||||
<asp:LinkButton ID="ImgTxtFechaInicioVac" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||||
</span>
|
||||
@@ -3078,13 +3080,25 @@
|
||||
<label>Fecha Inicial</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<asp:Panel runat="server" ID="PnlVacDiasPago" CssClass="col-md-3">
|
||||
<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:Label runat="server" AssociatedControlID="TxtVacDiasPago" style="margin-top:10px!important">Días pago</asp:Label>
|
||||
</div>
|
||||
</asp:Panel>
|
||||
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="form-group form-md-line-input input-iconright " style="width: 100px !important">
|
||||
<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"></asp:TextBox>
|
||||
<span class="input-group-btn ">
|
||||
<asp:LinkButton ID="ImgTxtFechaFinVac" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||||
<asp:TextBox ID="TxtFechaFinVac" runat="server" CausesValidation="true" CssClass="form-control input-sm" ClientIDMode="Static"></asp:TextBox>
|
||||
<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>
|
||||
</span>
|
||||
<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>
|
||||
@@ -3097,7 +3111,7 @@
|
||||
<asp:Panel runat="server" ID="PnlVacDias" CssClass="row">
|
||||
<div class="col-md-6">
|
||||
<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"></asp:TextBox>
|
||||
<asp:TextBox ID="Txtdiasinabiles" runat="server" TextMode="Number" CausesValidation="true" CssClass="form-control input-sm form-small" ClientIDMode="Static"></asp:TextBox>
|
||||
<asp:Label runat="server" AssociatedControlID="Txtdiasinabiles">Días feriados</asp:Label>
|
||||
</div>
|
||||
</div>
|
||||
@@ -3123,12 +3137,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<asp:Panel runat="server" ID="PnlVacDiasPago" CssClass="col-md-6">
|
||||
<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"></asp:TextBox>
|
||||
<asp:Label runat="server" AssociatedControlID="TxtVacDiasPago">Días pago</asp:Label>
|
||||
</div>
|
||||
</asp:Panel>
|
||||
|
||||
</asp:Panel>
|
||||
|
||||
<asp:Panel runat="server" ID="PnlVacChecks" CssClass="row">
|
||||
@@ -3145,6 +3154,9 @@
|
||||
<asp:CheckBox ID="ChkVacCobrarIMSS" CssClass="chksino " Checked="true" Text=" " runat="server" />
|
||||
</div>
|
||||
</asp:Panel>
|
||||
|
||||
|
||||
<asp:Button runat="server" ClientIDMode="Static" ID="LnkCalculaFechasVacaciones" OnClick="LnkCalculaFechasVacaciones_Click" style="display:none!important" ></asp:Button>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
@@ -5748,6 +5760,7 @@
|
||||
</div>
|
||||
|
||||
<iframe id="my_iframe" style="display: none;"></iframe>
|
||||
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
|
||||
<script src="/Metronic/assets/global/plugins/dropzone/dropzone.js"></script>
|
||||
@@ -5762,6 +5775,30 @@
|
||||
height: 50
|
||||
});
|
||||
$('[data-toggle="tooltip"]').tooltip();
|
||||
|
||||
|
||||
|
||||
$("#Txtdiasinabiles").prop("readonly", true);
|
||||
$("#Txtdiasinabiles").on("paste", function (event) {
|
||||
event.preventDefault();
|
||||
});
|
||||
$("#Txtdiasinabiles").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();
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
@@ -7276,5 +7313,11 @@
|
||||
|
||||
return pstCURP
|
||||
}
|
||||
|
||||
|
||||
function calculaFechasVacaciones(){
|
||||
$('#LnkCalculaFechasVacaciones').click();
|
||||
}
|
||||
|
||||
</script>
|
||||
</asp:Content>
|
||||
|
||||
@@ -1896,6 +1896,8 @@ Partial Class RH_Personal
|
||||
|
||||
TxtFechaFinVac.Text = Now.AddDays(VacDiasDisponibles).ToString("dd/MM/yyyy")
|
||||
|
||||
|
||||
|
||||
'PERSONAL ALTAS
|
||||
If ObjPersonal.GetPersonalAltas(CvePersonal) Then
|
||||
GvPersonalAltas.DataSource = ObjPersonal.DtResultados
|
||||
@@ -7814,5 +7816,60 @@ Partial Class RH_Personal
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
|
||||
Protected Sub LnkSolicitarVacaciones_Click(sender As Object, e As EventArgs)
|
||||
|
||||
TxtVacDiasPago.Text = VacDiasDisponibles.ToString
|
||||
|
||||
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)
|
||||
|
||||
If Not diaDescanso > 0 Then
|
||||
Alert("El turno no tiene día de descanso, provisionalmente se tomara el domingo.", TipoMensaje.MsgAdvertencia)
|
||||
End If
|
||||
|
||||
RegistraScript("$('#ModalAddVacaciones').modal('show');")
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub ContarDiasDeLaSemana(fechaInicio As Date, diasVacaciones As Integer)
|
||||
|
||||
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
|
||||
|
||||
For x = 2 To diasVacaciones
|
||||
Dim day_of_week = CType(FechaFin.DayOfWeek, Integer) + 1
|
||||
If day_of_week = diaDescanso Then
|
||||
FechaFin = FechaFin.AddDays(2)
|
||||
DiasAgregados = DiasAgregados + 1
|
||||
Else
|
||||
FechaFin = FechaFin.AddDays(1)
|
||||
day_of_week = CType(FechaFin.DayOfWeek, Integer) + 1
|
||||
If day_of_week = diaDescanso Then
|
||||
DiasAgregados = DiasAgregados + 1
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
TxtFechaFinVac.Text = FechaFin.ToString
|
||||
Txtdiasinabiles.Text = DiasAgregados.ToString
|
||||
|
||||
UpSolicitarVacaciones.Update()
|
||||
|
||||
End Sub
|
||||
|
||||
Protected Sub LnkCalculaFechasVacaciones_Click(sender As Object, e As EventArgs)
|
||||
|
||||
ContarDiasDeLaSemana(TxtFechaInicioVac.Text.ToDate, TxtVacDiasPago.Text.ToEntero)
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
|
||||
Reference in New Issue
Block a user