eaiovnaovbqoebvqoeavibavo
function consultarConsolidado(){
const dia = document.getElementById('dia').value;
const grado = document.getElementById('id_grado').value;
if(dia!="" && grado!=""){
var formData= new FormData(document.getElementById('consolidado'));
$.ajax({
type: "POST",
url: "https://juliojodi.com/CEGSystem/Consolidado/obtenerDatos",
data: formData,
cache: false,
contentType: false,
processData: false
}).done(function (response) {
const data = JSON.parse(response);
let datosPorDia = {
Lunes: Array(4).fill('Vacio'),
Martes: Array(4).fill('Vacio'),
Miercoles: Array(4).fill('Vacio'),
Jueves: Array(4).fill('Vacio'),
Viernes: Array(4).fill('Vacio'),
};
if(data[0]!=null){
data[0].forEach(element => {
const diaSemana = obtenerDiaSemana(element.fecha_entrega);
const index = datosPorDia[diaSemana].indexOf('Vacio');
if (index !== -1) {
datosPorDia[diaSemana][index] = element;
}
});
}
$("#cuadroConsolidado").empty();
for (let i = 0; i < 4; i++) {
$("#cuadroConsolidado").append(`
${(i+1)} |
${datosPorDia.Lunes[i].nombreActividad ? ` ${datosPorDia.Lunes[i].nombreCurso}: ${datosPorDia.Lunes[i].nombreActividad}` : '---'} |
${datosPorDia.Martes[i].nombreActividad ? ` ${datosPorDia.Martes[i].nombreCurso}: ${datosPorDia.Martes[i].nombreActividad}` : '---'} |
${datosPorDia.Miercoles[i].nombreActividad ? ` ${datosPorDia.Miercoles[i].nombreCurso}: ${datosPorDia.Miercoles[i].nombreActividad }`: '---' } |
${datosPorDia.Jueves[i].nombreActividad ? ` ${datosPorDia.Jueves[i].nombreCurso}: ${datosPorDia.Jueves[i].nombreActividad }`: '---' } |
${datosPorDia.Viernes[i].nombreActividad ? ` ${datosPorDia.Viernes[i].nombreCurso}: ${datosPorDia.Viernes[i].nombreActividad}` : '---'} |
`);
}
let nombreGrado = document.getElementById("id_grado");
const selectedOption = nombreGrado.options[nombreGrado.selectedIndex];
const selectedText = selectedOption.textContent;
//fecha de la semana del consolidado
const fecha_consolidado = formatearRangoFechas(data[1], data[2]);
$("#gradoNombre").text(selectedText+" - "+fecha_consolidado);
});
}else{
swal({
icon: 'warning',
title: 'Atención',
text: 'Hay campos sin completar',
});
}
}
// Función para obtener el día de la semana en formato texto (Lunes a Viernes)
function obtenerDiaSemana(fecha) {
const diasSemana = ['Domingo', 'Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sábado'];
const dia = new Date(fecha).getDay() + 1;
return diasSemana[dia];
}
function detalleActividad(id_actividad){
var myModal = new bootstrap.Modal(document.getElementById('detalleActividad'), {
backdrop: 'static',
keyboard: false
});
var formData= new FormData();
formData.append('id_actividad', id_actividad);
$.ajax({
type: "POST",
url: "https://juliojodi.com/CEGSystem/Consolidado/obtenerDetalleActividad",
data: formData,
cache: false,
contentType: false,
processData: false
}).done(function (response) {
let datos = JSON.parse(response);
const nueva_fecha = convertirFecha(datos[0].fecha_entrega);
$("#descripcionAct").empty();
$("#descripcionAct").append(`
Grado |
${datos[0].nombreGrado} |
Curso |
${datos[0].nombrecurso} |
Actividad |
${datos[0].nombre} |
Descripción |
${datos[0].descripcion} |
Valor |
${datos[0].valor} pts. |
Fecha entrega |
${nueva_fecha} |
`);
});
myModal.show();
}
document.getElementById('exportButton').addEventListener('click', function() {
const { jsPDF } = window.jspdf;
// Usar html2canvas para capturar la tabla como imagen
html2canvas(document.getElementById('myTable')).then(canvas => {
// Crear un documento PDF
const pdf = new jsPDF('p', 'pt', 'a4');
// Convertir el canvas a una imagen de datos
const imgData = canvas.toDataURL('image/png');
// Añadir la imagen al PDF
pdf.addImage(imgData, 'PNG', 15, 40, 560, canvas.height * (560 / canvas.width));
// Guardar el PDF
pdf.save('tabla.pdf');
});
});
// Función para convertir la fecha
function convertirFecha(fechaISO) {
// Separar año, mes y día de la cadena fechaISO
const [year, month, day] = fechaISO.split('-').map(Number);
// Crear un nuevo objeto Date con solo la parte de la fecha (sin horas)
const fecha = new Date(year, month - 1, day);
// Opciones para formatear la fecha
const opciones = {
weekday: 'long', // Nombre completo del día de la semana
day: '2-digit', // Día con dos dígitos
month: 'long', // Nombre completo del mes
year: 'numeric' // Año con cuatro dígitos
};
// Formatear la fecha en español
const fechaFormateada = fecha.toLocaleDateString('es-ES', opciones);
// Retornar la fecha formateada
return fechaFormateada;
}
// Función para formatear el rango de fechas
function formatearRangoFechas(fechaInicioISO, fechaFinISO) {
// Separar año, mes y día de las cadenas fechaInicioISO y fechaFinISO
const [yearInicio, monthInicio, dayInicio] = fechaInicioISO.split('-').map(Number);
const [yearFin, monthFin, dayFin] = fechaFinISO.split('-').map(Number);
// Crear nuevos objetos Date con solo la parte de la fecha (sin horas)
const fechaInicio = new Date(yearInicio, monthInicio - 1, dayInicio);
const fechaFin = new Date(yearFin, monthFin - 1, dayFin);
// Verificar si las fechas están en el mismo mes y año
const mismoMes = fechaInicio.getMonth() === fechaFin.getMonth() && fechaInicio.getFullYear() === fechaFin.getFullYear();
// Formatear las fechas
const opcionesDiaMes = { day: '2-digit', month: 'long' };
const opcionesAno = { year: 'numeric' };
const opcionesDiaMesAno = { day: '2-digit', month: 'long', year: 'numeric' };
let resultado;
if (mismoMes) {
resultado = `del ${fechaInicio.toLocaleDateString('es-ES', { day: '2-digit' })} al ${fechaFin.toLocaleDateString('es-ES', opcionesDiaMesAno)}`;
} else {
resultado = `${fechaInicio.toLocaleDateString('es-ES', opcionesDiaMes)} al ${fechaFin.toLocaleDateString('es-ES', opcionesDiaMesAno)}`;
}
return resultado;
}