396 lines
20 KiB
Plaintext
396 lines
20 KiB
Plaintext
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="ReporteVacaciones.aspx.cs" Inherits="Nomina_ReporteVacaciones" %>
|
|
|
|
<%@ Import Namespace="Extensiones" %>
|
|
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
|
|
</asp:Content>
|
|
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
|
|
<style>
|
|
/*.text-right {
|
|
text-align:right
|
|
}*/
|
|
td.borderleft, th.borderleft {
|
|
border-left: 1px solid black !important;
|
|
}
|
|
|
|
.hiddentth, .hiddentth th {
|
|
background-color: #fff !important;
|
|
}
|
|
|
|
.showMesDia {
|
|
display: none;
|
|
}
|
|
|
|
table tr th.diac {
|
|
font-size: 4px;
|
|
padding-left: 1px !important;
|
|
padding-right: 1px !important;
|
|
}
|
|
|
|
table tr th.mesc {
|
|
font-size: 12px;
|
|
}
|
|
|
|
.mes1 {
|
|
background-color: #ffcccc;
|
|
border-color: #ffcccc;
|
|
}
|
|
/* Enero - Rojo claro */
|
|
.mes2 {
|
|
background-color: #ffebcc;
|
|
border-color: #ffcccc;
|
|
}
|
|
/* Febrero - Naranja claro */
|
|
.mes3 {
|
|
background-color: #ffffcc;
|
|
border-color: #ffcccc;
|
|
}
|
|
/* Marzo - Amarillo claro */
|
|
.mes4 {
|
|
background-color: #ccffcc;
|
|
border-color: #ffcccc;
|
|
}
|
|
/* Abril - Verde claro */
|
|
.mes5 {
|
|
background-color: #ccffff;
|
|
border-color: #ffcccc;
|
|
}
|
|
/* Mayo - Azul cielo */
|
|
.mes6 {
|
|
background-color: #ccccff;
|
|
border-color: #ffcccc;
|
|
}
|
|
/* Junio - Azul suave */
|
|
.mes7 {
|
|
background-color: #e6ccff;
|
|
border-color: #ffcccc;
|
|
}
|
|
/* Julio - Morado claro */
|
|
.mes8 {
|
|
background-color: #ffccff;
|
|
border-color: #ffcccc;
|
|
}
|
|
/* Agosto - Rosa claro */
|
|
.mes9 {
|
|
background-color: #ffb3b3;
|
|
border-color: #ffcccc;
|
|
}
|
|
/* Septiembre - Rojo pastel */
|
|
.mes10 {
|
|
background-color: #ff9966;
|
|
border-color: #ffcccc;
|
|
}
|
|
/* Octubre - Naranja pastel */
|
|
.mes11 {
|
|
background-color: #cccc99;
|
|
border-color: #ffcccc;
|
|
}
|
|
/* Noviembre - Verde oliva */
|
|
.mes12 {
|
|
background-color: #e6e6e6;
|
|
border-color: #ffcccc;
|
|
}
|
|
/* Diciembre - Gris claro */
|
|
|
|
.TContainer {
|
|
width: 100%;
|
|
height: calc(100vh - 200px);
|
|
overflow: scroll;
|
|
}
|
|
|
|
.VacClass {
|
|
background-color: darkslateblue;
|
|
}
|
|
|
|
.borderyear {
|
|
border-left: 1px solid #FFF !important;
|
|
}
|
|
|
|
.yearclass {
|
|
background-color: #444;
|
|
color: #FFF;
|
|
text-align: center;
|
|
font-size: 6px;
|
|
}
|
|
|
|
.yearclassB {
|
|
background-color: #999;
|
|
color: #FFF;
|
|
text-align: center;
|
|
font-size: 6px;
|
|
}
|
|
|
|
tr.aniorow td {
|
|
height: 8px;
|
|
}
|
|
|
|
tr.rowsticky {
|
|
position: sticky;
|
|
top: 0; /* Se mantiene pegado en la parte superior */
|
|
background-color: white; /* Para que no se superponga con otros elementos */
|
|
z-index: 1000; /* Asegura que esté sobre otros elementos */
|
|
}
|
|
tr.rowsticky:nth-child(2) {
|
|
top: 26.14px;
|
|
}
|
|
tr.rowsticky:nth-child(3) {
|
|
top: 52.14px;
|
|
}
|
|
.table-sticky tr td:nth-child(1),.table-sticky tr th:nth-child(1),
|
|
.table-sticky tr td:nth-child(2),.table-sticky tr th:nth-child(2),
|
|
.table-sticky tr td:nth-child(3),.table-sticky tr th:nth-child(3) {
|
|
position: sticky;
|
|
left: 0;
|
|
z-index: 3;
|
|
}
|
|
.table-sticky tr td:nth-child(1),.table-sticky tr td:nth-child(2),.table-sticky tr td:nth-child(3) {
|
|
background-color: #fff;
|
|
}
|
|
.table-sticky tr td:nth-child(1) div, .table-sticky tr th:nth-child(1) div{
|
|
width:72px;
|
|
}
|
|
.table-sticky tr td:nth-child(1),.table-sticky tr th:nth-child(1){
|
|
width:80px;
|
|
}
|
|
.table-sticky tr td:nth-child(2),.table-sticky tr th:nth-child(2){
|
|
width:250px;
|
|
left: 80px;
|
|
|
|
}
|
|
.table-sticky tr td:nth-child(2) div, .table-sticky tr th:nth-child(2) div{
|
|
width:242px;
|
|
}
|
|
.table-sticky tr td:nth-child(3),.table-sticky tr th:nth-child(3){
|
|
left: 330px;
|
|
|
|
}
|
|
</style>
|
|
</asp:Content>
|
|
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
|
|
Reporte Vacaciones
|
|
</asp:Content>
|
|
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
|
|
</asp:Content>
|
|
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
|
|
</asp:Content>
|
|
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
|
|
</asp:Content>
|
|
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
|
|
|
|
<asp:UpdatePanel ID="UpContenido" runat="server" UpdateMode="Conditional">
|
|
<ContentTemplate>
|
|
<div class="portlet solid grey-cascade portlet-filter">
|
|
<div class="portlet-title portlet-filterT smalltitle">
|
|
<div class="titlefiltros caption">
|
|
<div class="row">
|
|
|
|
<label class="col-md-1 mediocol">Inicio:</label>
|
|
<div class="col-md-1">
|
|
<%--<asp:TextBox ID="TxtPeriodoInicio" Text="0" CssClass="form-control" runat="server"></asp:TextBox>--%>
|
|
|
|
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 138px !important; padding: 0px; margin-bottom: -10px;">
|
|
<asp:TextBox ID="TxtRpdFechaInicio" CssClass="form-control input-sm ADSMaskDate" Style="width: 80px" runat="server"></asp:TextBox>
|
|
<span class="input-group-btn ">
|
|
<asp:LinkButton ID="LnkRpdFechaInicio" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
|
</span>
|
|
<ajax:MaskedEditExtender ID="MaskedEditExtender3" runat="server" TargetControlID="TxtRpdFechaInicio" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
|
<ajax:CalendarExtender runat="server" ID="CalendarExtender3" TargetControlID="TxtRpdFechaInicio" PopupButtonID="LnkRpdFechaInicio" PopupPosition="BottomRight" Enabled="True" Format="dd/MM/yyyy"></ajax:CalendarExtender>
|
|
<asp:RequiredFieldValidator ID="rfvRpdFechaInicio" runat="server" ControlToValidate="TxtRpdFechaInicio" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio''</b> es necesario, por favor ingréselo." ValidationGroup="VGReporterepperde"></asp:RequiredFieldValidator>
|
|
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="rfvRpdFechaInicio"></ajax:ValidatorCalloutExtender>
|
|
</div>
|
|
</div>
|
|
<label class="col-md-1 mediocol">Fin:</label>
|
|
<div class="col-md-1">
|
|
<%--<asp:TextBox ID="TxtPeriodoFin" Text="99" CssClass="form-control" runat="server"></asp:TextBox>--%>
|
|
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 138px !important; padding: 0px; margin-bottom: -10px;">
|
|
<asp:TextBox ID="TxtRpdFechaFin" CssClass="form-control input-sm ADSMaskDate" Style="width: 80px" runat="server"></asp:TextBox>
|
|
<span class="input-group-btn ">
|
|
<asp:LinkButton ID="LnkFechaFin" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
|
</span>
|
|
<ajax:MaskedEditExtender ID="MaskedEditExtender5" runat="server" TargetControlID="TxtRpdFechaFin" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
|
<ajax:CalendarExtender runat="server" ID="CalendarExtender4" TargetControlID="TxtRpdFechaFin" PopupButtonID="LnkFechaFin" PopupPosition="BottomRight" Enabled="True" Format="dd/MM/yyyy"></ajax:CalendarExtender>
|
|
<asp:RequiredFieldValidator ID="rfvRpdFechaFin" runat="server" ControlToValidate="TxtRpdFechaFin" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Fin''</b> es necesario, por favor ingréselo." ValidationGroup="VGReporterepperde"></asp:RequiredFieldValidator>
|
|
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" HighlightCssClass="vco" TargetControlID="rfvRpdFechaFin"></ajax:ValidatorCalloutExtender>
|
|
</div>
|
|
</div>
|
|
<asp:Label ID="LblProyecto" CssClass="col-md-1 compoonenlabel" runat="server" Text="Proyecto:" Style="max-width: 100px;"></asp:Label>
|
|
<div runat="server" id="divddlproyeto" class="col-md-2">
|
|
<asp:DropDownList ID="DdlProyecto" runat="server" AppendDataBoundItems="true" CssClass="select2me" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
|
|
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
|
|
</asp:DropDownList>
|
|
</div>
|
|
<asp:Label ID="LblSubProyeccto" CssClass="col-md-1 compoonenlabel" runat="server" Text="SubProyecto:" Style="max-width: 103px;"></asp:Label>
|
|
<div class="col-md-2">
|
|
<asp:DropDownList ID="DdlSubProyecto" runat="server" AppendDataBoundItems="true" CssClass="select2me" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
|
|
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
|
|
</asp:DropDownList>
|
|
</div>
|
|
|
|
<div class="col-md-1">
|
|
<asp:LinkButton ID="LnkConsultar" OnClick="LnkConsultar_Click" runat="server" Text="Consultar" class="btn btn-primary" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="tools">
|
|
<a href="javascript:;" class="expand" data-original-title="" title=""></a>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body" style="display: none">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="TContainer">
|
|
<table id="gvReporteVacacionesCalendar" class="table table-hover table-sticky ScrollADig Widthall gvReporteVacacionesCalendar" data-rows="4" data-cols="3" data-heighterror="360">
|
|
<tbody>
|
|
|
|
<%-- <tr class="hiddentth">
|
|
<th class="showMesDia"></th>
|
|
<th class="showMesDia"></th>
|
|
<th class="showMesDia"></th>
|
|
|
|
<asp:Repeater ID="rptx" runat="server">
|
|
<ItemTemplate>
|
|
<th class="showMesDia"></th>
|
|
</ItemTemplate>
|
|
</asp:Repeater>
|
|
</tr>--%>
|
|
|
|
<tr class="rowsticky">
|
|
<th></th>
|
|
<th></th>
|
|
<th></th>
|
|
<%-- Encabezados dinámicos para los ejercicios --%>
|
|
|
|
<asp:Repeater ID="rptanio" runat="server">
|
|
<ItemTemplate>
|
|
<th class="borderleft" colspan='<%# Eval("DiasEjercicioA") %>'><%# Eval("Anio") %></th>
|
|
<th colspan='<%# Eval("DiasEjercicioA") %>'><%# Eval("Anio") %></th>
|
|
<th colspan='<%# Eval("DiasEjercicioA") %>'><%# Eval("Anio") %></th>
|
|
<th colspan='<%# Eval("DiasEjercicioB") %>'><%# Eval("Anio") %></th>
|
|
</ItemTemplate>
|
|
</asp:Repeater>
|
|
</tr>
|
|
<tr class="rowsticky">
|
|
<th></th>
|
|
<th></th>
|
|
<th></th>
|
|
<%-- Encabezados dinámicos para los ejercicios --%>
|
|
<%-- data-toggle="tooltip"
|
|
title='<%# new System.Globalization.CultureInfo("es-ES").DateTimeFormat.GetMonthName(Eval("Mes").ToString().ToEntero()).ToUpper() %>'--%>
|
|
<asp:Repeater ID="rptMeses" runat="server">
|
|
<ItemTemplate>
|
|
<th class='<%# string.Format("{0} diac mes{1} mesc","borderleft",Eval("Mes")) %>' colspan='<%# Eval("DiasMes") %>'>
|
|
<%# new System.Globalization.CultureInfo("es-ES").DateTimeFormat.GetMonthName(Eval("Mes").ToString().ToEntero()).ToUpper() %></th>
|
|
</ItemTemplate>
|
|
</asp:Repeater>
|
|
</tr>
|
|
|
|
<tr class="rowsticky">
|
|
<th>Código</th>
|
|
<th>Nombre Completo</th>
|
|
<th>Fecha Inicio</th>
|
|
<%-- Encabezados dinámicos para los ejercicios --%>
|
|
|
|
<asp:Repeater ID="RepetDias" runat="server">
|
|
<ItemTemplate>
|
|
<th class='<%# string.Format("{0} diac mes{1}",(Eval("MinMes").ToString().ToUpper()=="1"?"borderleft":""),Eval("Mes")) %>'><%# Eval("Dia") %></th>
|
|
</ItemTemplate>
|
|
</asp:Repeater>
|
|
</tr>
|
|
|
|
<asp:Repeater ID="RepeaterPrincipalCalendar" runat="server">
|
|
<HeaderTemplate>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<tr class="aniorow">
|
|
<%--<td><%# Eval("CvePersonal") %></td>--%>
|
|
<td rowspan="1"><div>
|
|
<div><asp:HyperLink runat="server" Text='<%# Eval("Codigo") %>' NavigateUrl='<%# Eval("CvePersonal", "~/RH/Personal.aspx?CvePersonal={0}") %>'></asp:HyperLink></div></td>
|
|
<td rowspan="1"><div>
|
|
<asp:HyperLink runat="server" Text='<%# Eval("NombreCompleto") %>' NavigateUrl='<%# Eval("CvePersonal", "~/RH/Personal.aspx?CvePersonal={0}") %>'></asp:HyperLink></div></td>
|
|
<td rowspan="1"><div><%# Eval("FechaInicio", "{0:yyyy-MM-dd}") %></div></td>
|
|
<%-- Subrepeater para los ejercicios --%>
|
|
<asp:Literal Text='<%# Eval("ColumnasinicioFin" ) %>' runat="server"></asp:Literal>
|
|
<%--</tr>
|
|
<tr>--%>
|
|
<asp:Literal Text='<%# Eval("ColumnasVacaciones" ) %>' runat="server"></asp:Literal>
|
|
<%-- <asp:Repeater ID="RepeaterEjercicios" runat="server" DataSource='<%# tabladias %>'>
|
|
<ItemTemplate>
|
|
<asp:Literal Text='<%# columnapersonal((int)Eval("FechaNum" ),(System.Data.DataTable )Eval("TDiaspersonal")) %>' runat="server"></asp:Literal>
|
|
</ItemTemplate>
|
|
</asp:Repeater>--%>
|
|
</tr>
|
|
</ItemTemplate>
|
|
<FooterTemplate>
|
|
</FooterTemplate>
|
|
</asp:Repeater>
|
|
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="hidden">
|
|
<table id="gvReporteVacaciones" class="table table-striped table-advance table-hover ScrollAD Widthall gvReporteVacaciones" data-rows="2" data-heighterror="360">
|
|
<%-- <thead>
|
|
</thead>--%>
|
|
<tbody>
|
|
|
|
<tr>
|
|
<th></th>
|
|
<th></th>
|
|
<th></th>
|
|
<%-- Encabezados dinámicos para los ejercicios --%>
|
|
|
|
<asp:Repeater ID="RepeaterEjerciciosH1" runat="server">
|
|
<ItemTemplate>
|
|
<th class="borderleft" colspan="3"><%# Eval("Ejercicio") %></th>
|
|
</ItemTemplate>
|
|
</asp:Repeater>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th>Código</th>
|
|
<th>Nombre Completo</th>
|
|
<th>Fecha Inicio</th>
|
|
<%-- Encabezados dinámicos para los ejercicios --%>
|
|
|
|
<asp:Repeater ID="RepeaterEjerciciosH2" runat="server">
|
|
<ItemTemplate>
|
|
<th class="borderleft">Antigüedad</th>
|
|
<th>Días Vacaciones</th>
|
|
<th>Días Pagados</th>
|
|
</ItemTemplate>
|
|
</asp:Repeater>
|
|
</tr>
|
|
<asp:Repeater ID="RepeaterPrincipal" runat="server">
|
|
<HeaderTemplate>
|
|
</HeaderTemplate>
|
|
<ItemTemplate>
|
|
<tr>
|
|
<%--<td><%# Eval("CvePersonal") %></td>--%>
|
|
<td>
|
|
<asp:HyperLink runat="server" Text='<%# Eval("Codigo") %>' NavigateUrl='<%# Eval("CvePersonal", "~/RH/Personal.aspx?CvePersonal={0}") %>'></asp:HyperLink></td>
|
|
<td>
|
|
<asp:HyperLink runat="server" Text='<%# Eval("NombreCompleto") %>' NavigateUrl='<%# Eval("CvePersonal", "~/RH/Personal.aspx?CvePersonal={0}") %>'></asp:HyperLink></td>
|
|
<td><%# Eval("FechaInicio", "{0:yyyy-MM-dd}") %></td>
|
|
<%-- Subrepeater para los ejercicios --%>
|
|
<asp:Repeater ID="RepeaterEjercicios" runat="server" DataSource='<%# Eval("Ejercicios") %>'>
|
|
<ItemTemplate>
|
|
<td class="text-right borderleft"><%# Convert.ToInt32(Eval("Antiguedad")) > 0 ? Eval("Antiguedad") : "" %></td>
|
|
<td class="text-right "><%# Convert.ToInt32(Eval("Antiguedad")) > 0 ? Eval("DiasVacaciones") : "" %></td>
|
|
<td class="text-right "><%# Convert.ToInt32(Eval("Antiguedad")) > 0 ? Eval("DiasPagados") : "" %></td>
|
|
</ItemTemplate>
|
|
</asp:Repeater>
|
|
</tr>
|
|
</ItemTemplate>
|
|
<FooterTemplate>
|
|
</FooterTemplate>
|
|
</asp:Repeater>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
</asp:Content>
|
|
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
|
|
</asp:Content>
|
|
|