532 lines
32 KiB
Plaintext
532 lines
32 KiB
Plaintext
<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/Site.master" CodeBehind="listPicadas.aspx.vb" Inherits="WebIntranet.listPicadas" %>
|
|
|
|
<asp:Content ID="Content1" ContentPlaceHolderID="Content" runat="server" ClientIDMode="Static">
|
|
<asp:HiddenField ID="MODO" runat="server" Value="" />
|
|
<div class="row pag">
|
|
<div id="navLateral" class="col-3">
|
|
<ul>
|
|
<li id='intPicadaBL' runat="server" class='obtListLat'><a onclick="redirigir()" href="intPicada.aspx">Introducir picada</a></li>
|
|
<li id='intPicadaPersBL' runat="server" class='obtListLat'><a onclick="redirigir()" href="intPicadaPersonal.aspx">Introducir picada a personal</a></li>
|
|
<li id='Li1' runat="server" class='obtListLat'><a onclick="redirigir()" href="AnularPicadas.aspx">Anular picada a personal</a></li>
|
|
<li id='informPicadasBL' class='obtListLat listActivo'><a onclick="redirigir()" href="listPicadas.aspx">Informe de listado de picadas</a></li>
|
|
<li id='informIncidenciasBL' class='obtListLat'><a onclick="redirigir()" href="listSolicitudesComunicaciones.aspx">Informe de permisos y comunicaciones</a></li>
|
|
<%--<li id='bolsaDeHorasBL' runat="server" class='obtListLat'><a onclick="redirigir()" href="/bolsaDeHoras.aspx">Bolsa de horas extraordinarias</a></li>--%>
|
|
<li id='VAAPBCBL' runat="server" class='obtListLat'><a onclick="redirigir()" href="/VAAPBC.aspx">Situación de vacaciones, asuntos particulares y días compensatorios</a></li>
|
|
<li id='VAAPBCBLpers' runat="server" class='obtListLat'><a onclick="redirigir()" href="/VAAPBCpers.aspx">Situación de vacaciones, asuntos particulares y días compensatorios</a></li>
|
|
<li id='resumenIncidenciasEntreFechasBL' class='obtListLat'><a onclick="redirigir()" href="/resumenSolicitudesComunicacionesEntreFechas.aspx">Resumen de permisos y comunicaciones entre fechas</a></li>
|
|
<li id='estIncPicBL' runat="server" class='obtListLat'><a onclick="redirigir()" href="/estadoInciPicada.aspx">Estado de incidencias y picadas</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
|
|
<div id="listadoDePicadas" class="col">
|
|
<p class="tituloMobile">Informe de listado de picadas</p>
|
|
<div class="migasDePan">
|
|
<ul>
|
|
<li class="migaActiva">/ Control Horario</li>
|
|
<li class="migaActiva">/ Informe de listado de picadas</li>
|
|
</ul>
|
|
</div>
|
|
<div class="d-flex-column justify-content-center">
|
|
|
|
|
|
<div class="row IntroducirFechas align-items-center wrap" style="margin-left: auto !important; margin-right: auto !important; margin-bottom: 25px !important; margin-top: 0px;">
|
|
<div class="col-md-3 d-flex" style="gap: 15px">
|
|
<p style="margin-bottom: 0px; width: 50px; line-height: 35px">Del</p>
|
|
<input id="inpFechaInicio" class="inFecha" style="height: 35px;" runat="server" type="date" max="9999-12-31" />
|
|
</div>
|
|
<div class="col-md-3 d-flex" style="gap: 15px">
|
|
<p style="margin-bottom: 0px; width: 50px; line-height: 35px;">al</p>
|
|
<input id="inpFechaFin" class="inFecha" style="height: 35px;" runat="server" type="date" max="9999-12-31" />
|
|
</div>
|
|
<div class="col-md-3" style="display: flex; justify-content: center;">
|
|
<input type="button" class="btnAzul btnAlargado" onclick="MostrarPicadas()" value="Buscar" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row botonesListados align-items-center">
|
|
|
|
<a id="btnImprimir" class="btnOAAFAzul" onclick="Imprimir()" runat="server" style="margin-left: 2.5%; margin-right: 15px">
|
|
<img src="../Content/images/print.svg" style="height: 15px; width: auto; margin-right: 5px;" />
|
|
Imprimir</a>
|
|
<a class='btnOAAFAzul' id='mostrarGeneral' onclick='botonMostrarTodo("mostrarGeneral")' role='button' style='margin-left: 15px; text-align: center !important' runat="server">Mostrar todo</a>
|
|
|
|
<div id="cajaSelectFiltro" class="multiselect" style="display: none; margin-left:15px">
|
|
<div class="selectBox" onclick="showCheckboxes()">
|
|
<select class="selectIn">
|
|
<option>Filtrar por incidencias</option>
|
|
</select>
|
|
<div class="overSelect"></div>
|
|
</div>
|
|
<div id="cajaCheck" style="position:fixed; width:100%; height:100vh; left:0;top:0; z-index:1; display:none" onclick="showCheckboxes()"></div>
|
|
<div id="checkboxes" style="position: absolute; background: white; padding: 10px; max-height: 400px; overflow-y: auto; z-index: 2" runat="server">
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<p id="mensaje" runat="server"></p>
|
|
<div id="tablaPicadas" class="cajaTabla">
|
|
</div>
|
|
<div id="tablaImpresion" class="myDivToPrint" style="display: none" runat="server"></div>
|
|
</div>
|
|
</div>
|
|
<%-- <style>
|
|
</style>--%>
|
|
<%-- <div class="d-flex-column justify-content-center">
|
|
<div class="row IntroducirFechas align-items-center wrap" style="width: 100%; margin-left: auto !important; margin-right: auto !important; margin-bottom: 25px !important; margin-top: 0px;">
|
|
<p style="margin-bottom: 0px; line-height: 35px">Del</p>
|
|
<input id="inpFechaInicio" class="inFecha" style="height: 35px;" value="2022-08-13" runat="server" type="date" max="9999-12-31" />
|
|
<p style="margin-bottom: 0px; line-height: 35px;">al</p>
|
|
<input id="inpFechaFin" class="inFecha" style="height: 35px;" runat="server" type="date" max="9999-12-31" />--%>
|
|
<%-- <dx:BootstrapButton runat="server" ID="btnFechas" Text="Buscar" AutoPostBack="false" CssClasses-Control="btnFecha btnParlamento btnAlargado">
|
|
</dx:BootstrapButton>--%>
|
|
<%-- <input type="button" class="btnFecha btnParlamento btnAlargado" onclick="MostrarPicadas()" value="Buscar" />
|
|
</div>
|
|
<div class="row" style="margin-left: 70px;">
|
|
<button id="btnImprimir" class="btn btnParlamento" onclick="Imprimir()" runat="server">
|
|
<img src="Content/images/print.svg" style="height: 15px; width: auto; margin-right: 5px;" />
|
|
Imprimir</button>
|
|
<a class='btnParlamento btn' id='mostrarGeneral' onclick='botonMostrarTodo("mostrarGeneral")' role='button' style='margin-left: 15px; text-align: center !important' runat="server">Mostrar todo</a>
|
|
</div>
|
|
<p id="mensaje" runat="server"></p>
|
|
<div id="tablaPicadas">
|
|
</div>
|
|
<div id="divLoading">
|
|
<img class="Loading" src="Content/images/loading.png" />
|
|
</div>
|
|
</div>--%>
|
|
<%--<div id="tablaImpresion" class="myDivToPrint" style="display: none" runat="server"></div>--%>
|
|
<script>
|
|
|
|
|
|
var expanded = false;
|
|
|
|
function showCheckboxes() {
|
|
var caja = document.getElementById("cajaCheck");
|
|
var checkboxes = document.getElementById("checkboxes");
|
|
if (!expanded) {
|
|
checkboxes.style.display = "block";
|
|
caja.style.display = "block";
|
|
expanded = true;
|
|
} else {
|
|
checkboxes.style.display = "none";
|
|
caja.style.display = "none";
|
|
expanded = false;
|
|
}
|
|
}
|
|
function filtroInci() {
|
|
var Inci = $(".chInci")
|
|
var estados = $('.TrPicada')
|
|
var incisActivas = []
|
|
|
|
for (var i = 0; i < Inci.length; i++) {
|
|
if (Inci[i].checked == true) { incisActivas.push(Inci[i].value) }
|
|
}
|
|
for (var x = 0; x < estados.length; x++) {
|
|
var oculta = false
|
|
if (incisActivas.length > 0) {
|
|
for (var y = 0; y < incisActivas.length; y++) {
|
|
for (var t = 0; t < estados[x].classList.length; t++) {
|
|
if (estados[x].classList[t] == incisActivas[y]) {
|
|
estados[x].classList.remove("ocultoInci")
|
|
oculta = true
|
|
}
|
|
}
|
|
if (oculta == false) {
|
|
estados[x].classList.add("ocultoInci")
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
for (var w = 0; w < estados.length; w++) {
|
|
estados[w].classList.remove("ocultoInci")
|
|
}
|
|
}
|
|
}
|
|
|
|
ocultarFiltros()
|
|
|
|
}
|
|
function ocultarFiltros(gene,id) {
|
|
//ocultarTurnos()
|
|
var estados = $('.TrPicada')
|
|
|
|
for (var i = 0; i < estados.length; i++) {
|
|
|
|
if (estados[i].classList.contains("ocultoTurn") || estados[i].classList.contains("ocultoInci") || estados[i].classList.contains("ocultarMost") ) {
|
|
estados[i].style.display = "none"
|
|
}
|
|
else {
|
|
estados[i].style.display = ""
|
|
}
|
|
}
|
|
ocultarTurnos(gene,id)
|
|
//var tablas = $('table.tablaPicadas')
|
|
//for (var i = 0; i < tablas.length; i++) {
|
|
// var contador = 0
|
|
// if (tablas[i].children.length > 0) {
|
|
// var tablasHijos = tablas[i].children[0].children
|
|
// var contador = /*tablasHijos.length - 1*/ 0
|
|
// for (var x = 0; x < tablasHijos.length; x++) {
|
|
// if (tablasHijos[x].style.display != 'none' && x != 0) {
|
|
// contador += 1
|
|
// }
|
|
// }
|
|
// $("#" + (i + 1) + "nuIncMostradas").text('(' + contador.toString() + ')')
|
|
// if (contador == 0) {
|
|
// $("#" + (i + 1) + "titulo").hide()
|
|
// tablas[i].style.display = "none"
|
|
// }
|
|
// else {
|
|
// tablas[i].style.display = ""
|
|
// $("#" + (i + 1) + "titulo").show()
|
|
// }
|
|
// }
|
|
//}
|
|
}
|
|
function ocultarTurnos(gene, id) {
|
|
|
|
var listaTurnos
|
|
if (gene == "todo") {
|
|
listaTurnos = $(".DIA")
|
|
}
|
|
else {
|
|
listaTurnos = $("."+id)
|
|
}
|
|
for (var i = 0; i < listaTurnos.length; i++) {
|
|
if (listaTurnos[i].classList.contains("TrPicada") == false) {
|
|
var codigoDia = listaTurnos[i].attributes.dia.value
|
|
var codigoUsu = listaTurnos[i].attributes.usu.value
|
|
var PicadasTurno = $(".PICADA" + codigoDia + "-" + codigoUsu)
|
|
var contVisibles = 0
|
|
for (var x = 0; x < PicadasTurno.length; x++) {
|
|
if (PicadasTurno[x].classList.contains("ocultarMost") || PicadasTurno[x].classList.contains("ocultoInci")){
|
|
contVisibles +=1
|
|
}
|
|
}
|
|
if (contVisibles == PicadasTurno.length) {
|
|
listaTurnos[i].classList.add("ocultoTurn")
|
|
}
|
|
else {
|
|
listaTurnos[i].classList.remove("ocultoTurn")
|
|
}
|
|
}
|
|
}
|
|
$("#divLoading").css("display", "none")
|
|
}
|
|
|
|
window.addEventListener('load', function () {
|
|
|
|
if ($("#MODO").val() == "PROPIO") {
|
|
$("#mostrarGeneral").css("display", "none")
|
|
}
|
|
})
|
|
function Imprimir() {
|
|
var mywindow = window.open('', 'PRINT', 'height=400,width=600');
|
|
mywindow.document.write('<html><head>');
|
|
mywindow.document.write('</head><body >');
|
|
mywindow.document.write(document.getElementById('tablaImpresion').innerHTML);
|
|
mywindow.document.write('</body></html>');
|
|
|
|
mywindow.document.close(); // necessary for IE >= 10
|
|
mywindow.focus(); // necessary for IE >= 10*/
|
|
|
|
mywindow.print();
|
|
//mywindow.close();
|
|
|
|
return true;
|
|
};
|
|
function botonMostrar(id, idClase) {
|
|
$("#divLoading").css("display", "flex")
|
|
var tablas = document.getElementsByClassName("todasTablas");
|
|
tablas = Array.from(tablas);
|
|
var tablasColapsadas = [];
|
|
var estaTabla1 = document.getElementsByClassName(idClase);
|
|
estaTabla1 = Array.from(estaTabla1);
|
|
var estaTabla = []
|
|
for (var i = 0; i < estaTabla1.length; i++) {
|
|
if (estaTabla1[i].classList.contains("TrPicada")) {
|
|
estaTabla.push(estaTabla1[i])
|
|
}
|
|
}
|
|
var estaTablaTurno = []
|
|
for (var i = 0; i < estaTabla1.length; i++) {
|
|
if (estaTabla1[i].classList.contains("DIA")) {
|
|
estaTablaTurno.push(estaTabla1[i])
|
|
}
|
|
}
|
|
var link = document.getElementById(id)
|
|
var texto = link.innerText
|
|
switch (texto) {
|
|
case "Mostrar":
|
|
estaTabla.forEach(element => element.classList.remove('ocultarMost'))
|
|
estaTablaTurno.forEach(element => element.classList.remove('ocultoTurn'))
|
|
//console.log("entra")
|
|
texto = "Ocultar"
|
|
break
|
|
case "Ocultar":
|
|
estaTabla.forEach(element => element.classList.add('ocultarMost'))
|
|
estaTablaTurno.forEach(element => element.classList.add('ocultoTurn'))
|
|
//document.getElementsByClassName(idClase).classList.remove('show')
|
|
//console.log("entra")
|
|
texto = "Mostrar"
|
|
break
|
|
}
|
|
for (var i = 0; i < tablas.length; i++) {
|
|
if (tablas[i].classList.contains('ocultarMost') == true || tablas[i].classList.contains('ocultoTurn') == true) {
|
|
tablasColapsadas.push(tablas[i])
|
|
}
|
|
}
|
|
//if (tablas.length == tablasColapsadas.length) {
|
|
if (tablas.length != tablasColapsadas.length) {
|
|
document.getElementById('mostrarGeneral').innerText = "Ocultar todo"
|
|
}
|
|
else {
|
|
document.getElementById('mostrarGeneral').innerText = "Mostrar todo"
|
|
}
|
|
link.innerText = texto
|
|
document.getElementById('mostrarGeneral')
|
|
ocultarFiltros("particular",idClase)
|
|
//ocultarTurnos()
|
|
};
|
|
function botonMostrarTodo(id) {
|
|
$("#divLoading").css("display", "flex")
|
|
var tablas = document.getElementsByClassName("todasTablas")
|
|
tablas = Array.from(tablas)
|
|
var link = document.getElementById(id)
|
|
var linkPersona = document.getElementsByClassName('btnPersona')
|
|
linkPersona = Array.from(linkPersona)
|
|
var texto = link.innerText
|
|
var textoBtnPersona = linkPersona.innerText
|
|
|
|
switch (texto) {
|
|
case "Mostrar todo":
|
|
texto = "Ocultar todo"
|
|
textoBtnPersona = "Ocultar"
|
|
for (var i = 0; i < tablas.length; i++) {
|
|
if (tablas[i].classList.contains('ocultarMost') == true) {
|
|
tablas[i].classList.remove('ocultarMost')
|
|
}
|
|
}
|
|
break
|
|
case "Ocultar todo":
|
|
texto = "Mostrar todo"
|
|
textoBtnPersona = "Mostrar"
|
|
for (var x = 0; x < tablas.length; x++) {
|
|
if (tablas[x].classList.contains('ocultarMost') == false) {
|
|
tablas[x].classList.add('ocultarMost')
|
|
}
|
|
|
|
}
|
|
break
|
|
|
|
}
|
|
linkPersona.forEach(element => element.innerHTML = textoBtnPersona)
|
|
link.innerText = texto
|
|
ocultarFiltros("todo","")
|
|
//ocultarTurnos()
|
|
};
|
|
function MostrarPicadas() {
|
|
$("#mensaje").text("")
|
|
var listaPicadas = ""
|
|
var fechaInicio = new Date($('#inpFechaInicio').val())
|
|
fechaInicio = ((fechaInicio.getTime() * 10000) + 621355968000000000);
|
|
var fechaFinal = new Date($('#inpFechaFin').val())
|
|
fechaFinal = ((fechaFinal.getTime() * 10000) + 621355968000000000);
|
|
var success = false
|
|
var htmlImp = ""
|
|
|
|
if (fechaInicio > fechaFinal) {
|
|
$("#mensaje").text("La fecha de inicio no debe ser posterior a la fecha final.")
|
|
return
|
|
}
|
|
|
|
$("#divLoading").css("display", "flex")
|
|
$.ajax({
|
|
|
|
type: "post",
|
|
url: "./listPicadas.aspx/CargarListadodePicadasAsync",
|
|
data: '{"fechaInit":"' + fechaInicio + '","fechaEnd":"' + fechaFinal + '"}',
|
|
async: true,
|
|
contentType: "application/json; charset=utf-8",
|
|
//dataType: "json",
|
|
success: function (result) {
|
|
if (result.d.Result.includes("ERROR--")) {
|
|
compEr(result.d.Result)
|
|
return
|
|
}
|
|
if (result.d != "") {
|
|
success = true
|
|
listaPicadas = JSON.parse(result.d.Result)
|
|
//console.log(listaPicadas)
|
|
var html = ""
|
|
var modo = $("#MODO").val()
|
|
var contadorPersona = 0
|
|
var listaTipInci = []
|
|
for (var i = 0; i < listaPicadas.length; i++) {
|
|
var idPersona = listaPicadas[i].ApellidosNombre
|
|
idPersona = idPersona.replaceAll(" ", '').replaceAll(", ", '')
|
|
idPersona = idPersona.normalize("NFD").replaceAll(/[\u0300-\u036f]/g, "").toUpperCase()
|
|
var btn = modo == "PROPIO" ? "display:none;" : ""
|
|
var verTr = modo == "PROPIO" ? "" : "display:none;"
|
|
var classProp = modo == "PROPIO" ? "" : "collapseInc"
|
|
var ocultarMost = modo == "PROPIO" ? "" : "ocultarMost"
|
|
var contadorFecha = 0
|
|
|
|
html += "<div class='cabeceraTabla'><div><b>" + listaPicadas[i].ApellidosNombre + " </b><a class='btnVerde btn btnPersona' id='" + contadorPersona + "mostrar' onclick='botonMostrar(\"" + contadorPersona + "mostrar\",\"collapseMe" + idPersona + "\")' role='button' style='" + btn + " margin-top:0; text-align:center !important'>Mostrar</a></div>" +
|
|
"<div class='d-flex justify-content-between mt-3'><p><b>Departamento: </b>" + listaPicadas[i].NombreDepartamento + "</p><p> Listado Horario del " + valueToDateString($('#inpFechaInicio').val()) + " al " + valueToDateString($('#inpFechaFin').val()) + "</p></div></div></div>" +
|
|
"<div class='tablaPicadas'><table><tr>" +
|
|
"<th class='columnHora'>Hora</th>" +
|
|
"<th>Hora real</th>" +
|
|
"<th>Incidencia</th>" +
|
|
"<th>Horas a trabajar</th>" +
|
|
"<th>Horas trabajadas</th>" +
|
|
//"<th>Horas extras a compensar</th>" +
|
|
//"<th>Horas extras a guardar</th>" +
|
|
"<th>Saldo</th>" +
|
|
//"<th>Horas recuperables</th>" +
|
|
"<th>Horas incumplimiento</th>" +
|
|
"<th>Horas trabajadas tarde</th></tr>"
|
|
|
|
for (var x = 0; x < listaPicadas[i].turno.length ; x++) {
|
|
if (listaPicadas[i].turno[x] != "") {
|
|
|
|
contadorFecha += 1
|
|
html += "<tr> <td class='todasTablas " + classProp + " collapseMe" + idPersona + " DIA' dia='" + listaPicadas[i].turno[x].DesFechaTurno.substring(0, 10).replaceAll("/", "-") + "' usu='" + listaPicadas[i].ApellidosNombre.toUpperCase().replaceAll(" ", "-").replaceAll(",", "").replaceAll(".", "") +"' ' colspan='11' style='font-weight:bold; background-color: #dadada'>" + listaPicadas[i].turno[x].DesFechaTurno.replaceAll("0:00:00-", "") +
|
|
"</td></tr>"
|
|
for (var y = 0; y < listaPicadas[i].turno[x].Picada.length; y++) {
|
|
if (listaTipInci.includes(listaPicadas[i].turno[x].Picada[y].Incidencia.toUpperCase()) == false && listaPicadas[i].turno[x].Picada[y].Incidencia.toUpperCase().replaceAll(" ", "-").includes("AUSENTE") == false && listaPicadas[i].turno[x].Picada[y].Incidencia.toUpperCase().replaceAll(" ", "-") != "") {
|
|
listaTipInci.push(listaPicadas[i].turno[x].Picada[y].Incidencia)
|
|
}
|
|
html += "<tr style='text-align:right !important;' class='PICADA" + listaPicadas[i].turno[x].DesFechaTurno.substring(0, 10).replaceAll("/", "-") + "-" + listaPicadas[i].ApellidosNombre.toUpperCase().replaceAll(" ", "-").replaceAll(",", "").replaceAll(".", "") + " " + ocultarMost + " todasTablas " + classProp + " collapseMe" + idPersona + " " + listaPicadas[i].turno[x].Picada[y].Incidencia.toUpperCase().replaceAll(" " , "-") +" TrPicada' >" +
|
|
"<td>" + listaPicadas[i].turno[x].Picada[y].Hora + "</td>" +
|
|
"<td>" + listaPicadas[i].turno[x].Picada[y].horaReal + "</td>" +
|
|
"<td style='text-align:left !important;'>" + listaPicadas[i].turno[x].Picada[y].Incidencia + "</td>" +
|
|
"<td>" + listaPicadas[i].turno[x].Picada[y].HorasATrabajar + "</td>" +
|
|
"<td>" + listaPicadas[i].turno[x].Picada[y].HorasTrabajadas + "</td>" +
|
|
//"<td>" + listaPicadas[i].turno[x].Picada[y].HorasExtraACompensar + "</td>" +
|
|
//"<td>" + listaPicadas[i].turno[x].Picada[y].HorasExtraAguardar + "</td>" +
|
|
"<td>" + listaPicadas[i].turno[x].Picada[y].Saldo + "</td>" +
|
|
//"<td>" + listaPicadas[i].turno[x].Picada[y].HorasRecuperables + "</td>" +
|
|
"<td>" + listaPicadas[i].turno[x].Picada[y].HorasIncumplimiento + "</td>" +
|
|
"<td>" + listaPicadas[i].turno[x].Picada[y].HorasTrabajadasTarde + "</td> </tr>"
|
|
}
|
|
}
|
|
}
|
|
html += "<tr style='background-color:#dadada; text-align:right;'><td class='celdaBlanca'></td><td class='celdaBlanca'></td><td style='text-align:right; font-weight:bold'>Totales:</td>" +
|
|
"<td>" + listaPicadas[i].totales[0].TotalHorasATrabajar + "</td>" +
|
|
"<td>" + listaPicadas[i].totales[0].TotalHorasTrabajadas + "</td>" +
|
|
//"<td>" + listaPicadas[i].totales[0].TotalHorasExtraACompensar + "</td>" +
|
|
// "<td>" + listaPicadas[i].totales[0].TotalHorasExtraAguardar + "</td>" +
|
|
"<td>" + listaPicadas[i].totales[0].TotalSaldo + "</td>" +
|
|
// "<td>" + listaPicadas[i].totales[0].TotalHorasRecuperables + "</td>" +
|
|
"<td>" + listaPicadas[i].totales[0].TotalHorasIncumplimiento + "</td>" +
|
|
"<td>" + listaPicadas[i].totales[0].TotalHorasTrabajadasTarde + "</td></tr></table></div>"
|
|
|
|
|
|
contadorPersona++
|
|
//console.log(html)
|
|
//' < td > " + picada.Fecha + "</td > "
|
|
}
|
|
htmlImp = "<style>table{border-collapse:collapse}.tablaImpresion {border-spacing:0px; font-family:'Arial';border-collapse:collapse;page-break-after: always; width: 100%;}" +
|
|
".tablaImpresion td { margin: 0; padding-left: 5px; padding-right: 5px; width: auto; border: 1px solid black; border-collapse: collapse; background-color: white; }" +
|
|
".tablaImpresion th { padding-left: 5px; padding-right: 5px; background-color:#2291d0; color: white; font-weight: bold; border: 1px solid white; text - align: center; }" +
|
|
".celdaBlanca { background-color: white!important; border: 0px none!important; } .cabeceraTabla p { margin-bottom: 0px; } .cabeceraTabla { padding: 1rem; background-color: white; margin-top: 1rem; margin-bottom: 1rem; font-family:sans-serif}" +
|
|
".tablaPicadasImp table {width: 100%;}</style> "
|
|
|
|
for (var i = 0; i < listaPicadas.length; i++) {
|
|
var idPersona = listaPicadas[i].ApellidosNombre
|
|
idPersona = idPersona.replaceAll(" ", '').replaceAll(", ", '')
|
|
idPersona = idPersona.normalize("NFD").replaceAll(/[\u0300-\u036f]/g, "").toUpperCase()
|
|
var contadorFecha = 0
|
|
|
|
htmlImp += "<div><img src='Content/images/1-oaaf-logo.png' style='margin-left:15px; height: 60px; width:auto;'/>''" +
|
|
"<div class='cabeceraTabla'><div><b>" + listaPicadas[i].ApellidosNombre + " </b></div>" +
|
|
"<div class='d-flex justify-content-between mt-3'><p><b>Departamento: </b>" + listaPicadas[i].NombreDepartamento + "</p><p> Listado Horario del " + valueToDateString($('#inpFechaInicio').val()) + " al " + valueToDateString($('#inpFechaFin').val()) + "</p></div></div></div>" +
|
|
"<div class='tablaImpresion'><table><tr>" +
|
|
"<th class='columnHora'>Hora</th>" +
|
|
"<th>Hora real</th>" +
|
|
"<th>Incidencia</th>" +
|
|
"<th>Horas a trabajar</th>" +
|
|
"<th>Horas trabajadas</th>" +
|
|
"<th>Horas extras a compensar</th>" +
|
|
"<th>Horas extras a guardar</th>" +
|
|
"<th>Saldo</th>" +
|
|
"<th>Horas recuperables</th>" +
|
|
"<th>Horas incumplimiento</th>" +
|
|
"<th>Horas trabajadas tarde</th></tr>"
|
|
|
|
for (var x = 0; x < listaPicadas[i].turno.length; x++) {
|
|
if (listaPicadas[i].turno[x] != "") {
|
|
|
|
contadorFecha += 1
|
|
htmlImp += "<tr> <td class='' colspan='11' style='font-weight:bold; background-color: #dadada'>" + listaPicadas[i].turno[x].DesFechaTurno.replaceAll("0:00:00-", "") +
|
|
"</td></tr>"
|
|
for (var y = 0; y < listaPicadas[i].turno[x].Picada.length; y++) {
|
|
htmlImp += "<tr style='text-align:right !important;' class='' >" +
|
|
"<td>" + listaPicadas[i].turno[x].Picada[y].Hora + "</td>" +
|
|
"<td>" + listaPicadas[i].turno[x].Picada[y].horaReal + "</td>" +
|
|
"<td style='text-align:left !important;'>" + listaPicadas[i].turno[x].Picada[y].Incidencia + "</td>" +
|
|
"<td>" + listaPicadas[i].turno[x].Picada[y].HorasATrabajar + "</td>" +
|
|
"<td>" + listaPicadas[i].turno[x].Picada[y].HorasTrabajadas + "</td>" +
|
|
"<td>" + listaPicadas[i].turno[x].Picada[y].HorasExtraACompensar + "</td>" +
|
|
"<td>" + listaPicadas[i].turno[x].Picada[y].HorasExtraAguardar + "</td>" +
|
|
"<td>" + listaPicadas[i].turno[x].Picada[y].Saldo + "</td>" +
|
|
"<td>" + listaPicadas[i].turno[x].Picada[y].HorasRecuperables + "</td>" +
|
|
"<td>" + listaPicadas[i].turno[x].Picada[y].HorasIncumplimiento + "</td>" +
|
|
"<td>" + listaPicadas[i].turno[x].Picada[y].HorasTrabajadasTarde + "</td> </tr>"
|
|
}
|
|
}
|
|
}
|
|
htmlImp += "<tr style='background-color:#dadada; text-align:right;'><td class='celdaBlanca'></td><td class='celdaBlanca'></td><td style='text-align:right; font-weight:bold'>Totales:</td>" +
|
|
"<td>" + listaPicadas[i].totales[0].TotalHorasATrabajar + "</td>" +
|
|
"<td>" + listaPicadas[i].totales[0].TotalHorasTrabajadas + "</td>" +
|
|
"<td>" + listaPicadas[i].totales[0].TotalHorasExtraACompensar + "</td>" +
|
|
"<td>" + listaPicadas[i].totales[0].TotalHorasExtraAguardar + "</td>" +
|
|
"<td>" + listaPicadas[i].totales[0].TotalSaldo + "</td>" +
|
|
"<td>" + listaPicadas[i].totales[0].TotalHorasRecuperables + "</td>" +
|
|
"<td>" + listaPicadas[i].totales[0].TotalHorasIncumplimiento + "</td>" +
|
|
"<td>" + listaPicadas[i].totales[0].TotalHorasTrabajadasTarde + "</td></tr></table></div>"
|
|
}
|
|
}
|
|
else {
|
|
succsess = false
|
|
}
|
|
var htmlSelect = ""
|
|
|
|
for (var x = 0; x < listaTipInci.length; x++) {
|
|
htmlSelect += '<label for="' + listaTipInci[x].toUpperCase().replaceAll(" ", "-") + '">' +
|
|
'<input type="checkbox" onclick="filtroInci()" value="' + listaTipInci[x].toUpperCase().replaceAll(" ", "-") + '" class="chInci mx-2"/>' + listaTipInci[x] + '</label>'
|
|
}
|
|
$("#checkboxes").html(htmlSelect)
|
|
if (listaTipInci.length > 0) {
|
|
$("#cajaSelectFiltro").css("display", "")
|
|
}
|
|
$("#divLoading").css("display", "none")
|
|
document.getElementById('tablaImpresion').innerHTML = htmlImp
|
|
$('#btnImprimir').css('display', 'block')
|
|
if ($("#MODO").val() != "PROPIO") {
|
|
$('#mostrarGeneral').css('display', 'block')
|
|
}
|
|
$("tr:even").css("background-color", "#dedede");
|
|
$('#tablaPicadas').css('display', 'block')
|
|
document.getElementById('tablaPicadas').innerHTML = html
|
|
ocultarFiltros()
|
|
ocultarTurnos("todo","")
|
|
//console.log(success)
|
|
},
|
|
error: function (result) {
|
|
alert('error occured');
|
|
//alert(result.responseText);
|
|
},
|
|
});
|
|
}
|
|
function valueToDateString(val) {
|
|
date = val.substring(8, 10) + "/" + val.substring(5, 7) + "/" + val.substring(0, 4)
|
|
return date
|
|
}
|
|
</script>
|
|
|
|
</script>
|
|
</asp:Content>
|