/*=============================================
EDITAR PERSONA
=============================================*/
$(".tablas").on("click", ".btnEditarServicio", function(){

	var idtipo_servicios = $(this).attr("idtipo_servicios");

	var datos = new FormData();
    datos.append("idtipo_servicios", idtipo_servicios);

    $.ajax({

      url:"ajax/servicios.ajax.php",
      method: "POST",
      data: datos,
      cache: false,
      contentType: false,
      processData: false,
      dataType:"json",
      success:function(respuesta){

        //console.log(respuesta);
      
      	 $("#idtipo_servicios").val(respuesta["idtipo_servicios"]);	

	       $("#editarNombreServicio").val(respuesta["nombre"]);

         $("#editarTipoServicio").html(respuesta["descripcion"]);
         $("#editarTipoServicio").val(respuesta["descripcion"]);

	       $("#editarCatidadBolsas").val(respuesta["cantidad_bolsa"]);
	       $("#editarValorServicio").val(respuesta["valor_servicio"]);
                 
	  }

  	})

})




/*=============================================
ELIMINAR SERVIIO
=============================================*/
$(".tablas").on("click", ".btnEliminarServicio", function(){

	var idtipo_servicios = $(this).attr("idtipo_servicios");
	
	swal({
        title: '¿Está seguro de borrar el servicio?',
        text: "¡Si no lo está puede cancelar la acción!",
        type: 'warning',
        showCancelButton: true,
        confirmButtonColor: '#3085d6',
        cancelButtonColor: '#d33',
        cancelButtonText: 'Cancelar',
        confirmButtonText: 'Si, borrar servicio!'
      }).then(function(result){
        if (result.value) {
          
            window.location = "index.php?ruta=servicios&idtipo_servicios="+idtipo_servicios;
        }

  })

})




/*----------------------------------------
    Agregar servicios desde a ventana modal al Form
------------------------------------------*/

$("#servicio").click(function() {
  $("#modalAgregarServicio").modal("show");
  $("#modalAgregarServicio").attr('tipo', 'servicio');
});




$(".tablas").on('click', '.btnAgregarDatosS', function(event) {
  event.preventDefault();
  var idtipo_servicios = $(this).attr("idtipo_servicios");
  var tipo = $("#modalAgregarServicio").attr("tipo");

  let datos = new FormData();
    datos.append("idtipo_servicios", idtipo_servicios);

    $.ajax({

      url:"ajax/servicios.ajax.php",
      method: "POST",
      data: datos,
      cache: false,
      contentType: false,
      processData: false,
      dataType:"json",
      success:function(respuesta){

        //console.log(respuesta);

        if(tipo === "servicio"){      
                      
            
            $("#nuevoTipoServicio").val(respuesta["nombre"]); 

            $("#modalAgregarServicio").modal('toggle');

            $("#nuevoDecripcionServ").val(respuesta["descripcion"]);
            $("#nuevoCantBolsa").val(respuesta["cantidad_bolsa"]);
            $("#nuevoValorServicio").val(`${respuesta["valor_servicio"]}.00`);
            $("#idtipo_servicios").val(respuesta["idtipo_servicios"]);
           
               
       }
    }

    })

});

$("#tipoServicio").on('change', function(event) {
  event.preventDefault();
 
  //$("#estadoServicio").prop('selectedIndex',0);
  //$("#zonaServicio").prop('selectedIndex',0);

  let perfil = $("#perfilSession").val();

  let tipoServicios = $("#tipoServicio").val();
  let estadoServicios = $("#estadoServicio").val();
  let zonaServicios = $("#zonaServicio").val();
  
  let datos = new FormData();
  datos.append("tipoServicios", tipoServicios);
  datos.append("estadosServicios",estadoServicios);
  datos.append("zonaServicios",zonaServicios);

    $.ajax({
      url:"ajax/servicios.ajax.php",
      method: "POST",
      data: datos,
      cache: false,
      contentType: false,
      processData: false,
      dataType:"json",
    })
    .done(function(response) {
      console.log(response);
      let filas = "";

      $.each(response, function(index, val) {
        
        let nombre = val["nombres"];
        let servicio = "";
        let estado = "";
        let controles = "";
        let idservicio = val["idservicios"];
        if (val["idtipo_servicios"] == 1) {
          servicio = "Domiciliar";
        }else{
          servicio = "Comercio";
        }

        if(val["estado"] == 0){
          estado = `<span class="badge bg-green">Activo</span>`;
        }else if(val["estado"] == 1){
          estado = `<span class="badge bg-yellow">Suspendido</span>`;
        }else if(val["estado"] == 2){
          estado = `<span class="badge bg-black">Finalizado</span>`;          
        }

        controles = `<div> 
                      <button class="btn btn-info btnImprimirEstado" idservicios=${idservicio}>
                        <i class="fa fa-print"></i></button> 
                        <button class="btn btn-warning btnDetalleContrato" idservicios=${idservicio}><i class="fa fa-eye"></i></button>
                    `;

        if(perfil == "Administrador"){
          controles += ` <button class="btn btn-danger btnEliminarContrato" idservicios=${idservicio}><i class="fa fa-trash"></i></button>`;
        }     

        controles += `</div>`;       
    
        filas += `<tr id="fila">
          <td class="text-center">${index+1}</td>
          <td class="text-center">${val["codigo"]}</td>
          <td class="text-center">${nombre}</td>
          <td class="text-center">${val["documento"]}</td>
          <td class="text-center">${val["zona"]}</td>
          <td class="text-center">${val["numromeses"]}</td>
          <td class="text-center">${servicio}</td>
          <td class="text-center">${val["fecha"]}</td>
          <td class="text-center">${estado}</td>
          <td class="text-center">${controles}</td>
        </tr>`;
      });
     
      $("#serviCont").empty();
      $(".serviConti").append(filas);


    })
    .fail(function() {
      console.log("error");
    })
    .always(function() {
      console.log("complete");
    });
    

  

});

$("#estadoServicio").on('change', function(event) {
  event.preventDefault();

  //$("#zonaServicio").prop('selectedIndex',0);
  let perfil = $("#perfilSession").val();

  let tipoServicios = $("#tipoServicio").val();
  let estadoServicios = $("#estadoServicio").val();
  let zonaServicios = $("#zonaServicio").val();



  let datos = new FormData();
  datos.append("tipoServicios", tipoServicios);
  datos.append("estadosServicios",estadoServicios);
  datos.append("zonaServicios",zonaServicios);


    $.ajax({
      url:"ajax/servicios.ajax.php",
      method: "POST",
      data: datos,
      cache: false,
      contentType: false,
      processData: false,
      dataType:"json",
    })
    .done(function(response) {
      console.log(response);
      let filas = "";

      $.each(response, function(index, val) {
        
        let nombre = val["nombres"];
        let servicio = "";
        let estado = "";
        let controles = "";
        let idservicio = val["idservicios"];
        if (val["idtipo_servicios"] == 1) {
          servicio = "Domiciliar";
        }else{
          servicio = "Comercio";
        }

        if(val["estado"] == 0){
          estado = `<span class="badge bg-green">Activo</span>`;
        }else if(val["estado"] == 1){
          estado = `<span class="badge bg-yellow">Suspendido</span>`;
        }else if(val["estado"] == 2){
          estado = `<span class="badge bg-black">Finalizado</span>`;          
        }

        controles = `<div> 
                      <button class="btn btn-info btnImprimirEstado" idservicios=${idservicio}>
                        <i class="fa fa-print"></i></button> 
                        <button class="btn btn-warning btnDetalleContrato" idservicios=${idservicio}><i class="fa fa-eye"></i></button>
                    `;

        if(perfil == "Administrador"){
          controles += ` <button class="btn btn-danger btnEliminarContrato" idservicios=${idservicio}><i class="fa fa-trash"></i></button>`;
        }     

        controles += `</div>`;   

        filas += `<tr id="fila">
          <td class="text-center">${index+1}</td>
          <td class="text-center">${val["codigo"]}</td>
          <td class="text-center">${nombre}</td>
          <td class="text-center">${val["documento"]}</td>
          <td class="text-center">${val["zona"]}</td>
          <td class="text-center">${val["numromeses"]}</td>
          <td class="text-center">${servicio}</td>
          <td class="text-center">${val["fecha"]}</td>
          <td class="text-center">${estado}</td>
          <td class="text-center">${controles}</td>
        </tr>`;
      });

      $("#serviCont").empty();
      $(".serviConti").append(filas);


    })
    .fail(function() {
      console.log("error");
    })
    .always(function() {
      console.log("complete");
    });
  

});


$("#zonaServicio").on('change', function(event) {
  event.preventDefault();
  
  let perfil = $("#perfilSession").val();

  let tipoServicios = $("#tipoServicio").val();
  let estadoServicios = $("#estadoServicio").val();
  let zonaServicios = $("#zonaServicio").val();
  //alert("buscando zona "+tipoServicios+ " "+estadoServicios+" "+zonaServicios);

  let datos = new FormData();
  datos.append("tipoServicios", tipoServicios);
  datos.append("estadosServicios",estadoServicios);
  datos.append("zonaServicios",zonaServicios);

    $.ajax({
      url:"ajax/servicios.ajax.php",
      method: "POST",
      data: datos,
      cache: false,
      contentType: false,
      processData: false,
      dataType:"json",
    })
    .done(function(response) {
      console.log(response);
      let filas = "";

      $.each(response, function(index, val) {
  filas += `<tr id="fila">
    <td class="text-center">${index+1}</td>
    <td class="text-center">${val["BLOQUE"]}</td>
    <td class="text-center">${val["DIPLOMADO"]}</td>
    <td class="text-center">${val["TOTAL_INSCRITOS"]}</td>
  </tr>`;
      });

      $("#serviCont").empty();
      $(".serviConti").append(filas);


    })
    .fail(function() {
      console.log("error");
    })
    .always(function() {
      console.log("complete");
    });
  

});

// REPORTE DE COBRANZA GENERAL
$("#zonaReport").on('change', function(event) {
  event.preventDefault();
  
  let perfil = $("#perfilSession").val();

  let tipoServicios = $("#tipoServicio").val();
  let estadoServicios = $("#estadoServicio").val();
  let zonaBloques = $("#zonaReport").val();
  //alert("buscando zona "+tipoServicios+ " "+estadoServicios+" "+zonaServicios);

  let datos = new FormData();
  datos.append("tipoServicios", tipoServicios);
  datos.append("estadosServicios",estadoServicios);
  datos.append("zonaBloques",zonaBloques);

    $.ajax({
      url:"ajax/reportes.ajax.php",
      method: "POST",
      data: datos,
      cache: false,
      contentType: false,
      processData: false,
      dataType:"json",
    })
    .done(function(response) {
      console.log(response);
      let filas = "";

      $.each(response, function(index, val) {
        
        let BLOQUE = val["BLOQUE"];
        let DIPLOMADO = val["DIPLOMADO"];


  

        filas += `<tr id="fila">
          <td class="text-center">${index+1}</td>
          <td class="text-center">${val["BLOQUE"]}</td>
          <td class="text-center">${val["DIPLOMADO"]}</td>
          <td class="text-center">${val["TOTAL_INSCRITOS"]}</td>
          <td class="text-center">${val["ALUMNOS ACTIVOS"]}</td>
          <td class="text-center">${val["MONTO TOTAL"]}</td>
          <td class="text-center">${val["MONTO_COBRADO"]}</td>
          <td class="text-center">${val["MONTO_POR_RECUPERAR"]}</td>
          <td class="text-center">${val["MONTO_ATRASADO"]}</td>
          <td class="text-center">${val["PERDIDO_POR_BAJAS"]}</td>
          <td class="text-center">${val["COMPLETADO"]}</td>
          <td class="text-center">${val["ACTIVO"]}</td>
          <td class="text-center">${val["ATRASADO"]}</td>
          <td class="text-center">${val["BAJAS"]}</td>

          
          
        </tr>`;
      });

      $("#serviCont").empty();
      $(".serviConti").append(filas);


    })
    .fail(function() {
      console.log("error");
    })
    .always(function() {
      console.log("complete");
    });
  

});

// REPORTE DE DETALLADO
$("#zonaDetallado").on('change', function(event) {
  event.preventDefault();
  
  let perfil = $("#perfilSession").val();

  let tipoServicioSs = $("#tipoServicio").val();
  let estadoServiciosS = $("#estadoServicio").val();
  let zonaDetallado = $("#zonaDetallado").val();
  //alert("buscando zona "+tipoServicios+ " "+estadoServicios+" "+zonaServicios);

  let datos = new FormData();
  datos.append("tipoServicioSs", tipoServicioSs);
  datos.append("estadosServiciosS",estadoServiciosS);
  datos.append("zonaDetallado",zonaDetallado);

    $.ajax({
      url:"ajax/reportes.ajax.php",
      method: "POST",
      data: datos,
      cache: false,
      contentType: false,
      processData: false,
      dataType:"json",
    })
    .done(function(response) {
      console.log(response);
      let filas = "";

      $.each(response, function(index, val) {
        
        let BLOQUE = val["BLOQUE"];
        let DIPLOMADO = val["DIPLOMADO"];


  

        filas += `<tr id="fila">
          <td class="text-center">${index+1}</td>
          <td class="text-center">${val["BLOQUE"]}</td>
          <td class="text-center">${val["NOMBRE DE ALUMNO"]}</td>
          <td class="text-center">${val["DIPLOMADO"]}</td>
          <td class="text-center">${val["Inscripcion"]}</td>
          <td class="text-center">${val["Pago 1"]}</td>
          <td class="text-center">${val["Pago 2"]}</td>
          <td class="text-center">${val["Pago 3"]}</td>
          <td class="text-center">${val["Pago 4"]}</td>
          <td class="text-center">${val["Pago 5"]}</td>
          <td class="text-center">${val["Pago 6"]}</td>
          <td class="text-center">${val["Pago 7"]}</td>
          <td class="text-center">${val["Pago 8"]}</td>
          <td class="text-center">${val["Pago 9"]}</td>
          <td class="text-center">${val["Pago 10"]}</td>
          <td class="text-center">${val["Pago 11"]}</td>
          <td class="text-center">${val["Pago 12"]}</td>
          <td class="text-center">${val["Pago 13"]}</td>
          <td class="text-center">${val["Pago 14"]}</td>

          
          
        </tr>`;
      });

      $("#serviCont").empty();
      $(".serviConti").append(filas);


    })
    .fail(function() {
      console.log("error");
    })
    .always(function() {
      console.log("complete");
    });
  

});

// REPORTE DE COBRANZA GENERAL
$("#zonaDetallados").on('change', function(event) {
  event.preventDefault();
  
  let perfil = $("#perfilSession").val();

  let tipoServiciosD = $("#tipoServicio").val();
  let estadoServiciosD = $("#estadoServicio").val();
  let zonaBloquesD = $("#zonaDetallados").val();
  //alert("buscando zona "+tipoServicios+ " "+estadoServicios+" "+zonaServicios);

  let datos = new FormData();
  datos.append("tipoServiciosD", tipoServiciosD);
  datos.append("estadosServiciosD",estadoServiciosD);
  datos.append("zonaBloquesD",zonaBloquesD);

    $.ajax({
      url:"ajax/reportes.ajax.php",
      method: "POST",
      data: datos,
      cache: false,
      contentType: false,
      processData: false,
      dataType:"json",
    })
    .done(function(response) {
      console.log(response);
      let filas = "";

      $.each(response, function(index, val) {
        
        let BLOQUE = val["BLOQUE"];
        let DIPLOMADO = val["DIPLOMADO"];


  

        filas += `<tr id="fila">
          <td class="text-center">${index+1}</td>
          <td class="text-center">${val["BLOQUE"]}</td>
          <td class="text-center">${val["DIPLOMADO"]}</td>
          <td class="text-center">${val["ESTADO_DEL_PAGO"]}</td>
          <td class="text-center">${val["PARTICIPANTE"]}</td>
          <td class="text-center">${val["FOLIO"]}</td>
          <td class="text-center">${val["METODO_DE_PAGO"]}</td>
          <td class="text-center">${val["BANCO"]}</td>
          <td class="text-center">${val["REFERENCIA"]}</td>
          <td class="text-center">${val["COMPROMETIDO"]}</td>
          <td class="text-center">${val["COBRADO"]}</td>
          <td class="text-center">${val["NOTAS DEL COBRADOR"]}</td>
          <td class="text-center">${val["FECHA_ACORDADA"]}</td>
          <td class="text-center">${val["FECHA_DE_PAGO"]}</td>
          <td class="text-center">${val["COBRADOR"]}</td>

          
          
        </tr>`;
      });

      $("#serviCont").empty();
      $(".serviConti").append(filas);


    })
    .fail(function() {
      console.log("error");
    })
    .always(function() {
      console.log("complete");
    });
  

});

// aqui termina el filtrado de contabilidad

// descarga de excel GENERAL PRIMERO
$("#btnExportarExcel").on('click', function(event) {
  event.preventDefault();

  // Obtenemos los valores de los filtros
  let tipoServicios = $("#tipoServicio").val();
  let estadoServicios = $("#estadoServicio").val();
  let zonaBloques = $("#zonaReport").val();

  // Aquí haces una llamada AJAX para obtener los datos filtrados
  let datos = new FormData();
  datos.append("tipoServicios", tipoServicios);
  datos.append("estadosServicios", estadoServicios);
  datos.append("zonaBloques", zonaBloques);

  $.ajax({
    url: "ajax/reportes.ajax.php",
    method: "POST",
    data: datos,
    cache: false,
    contentType: false,
    processData: false,
    dataType: "json",
    success: function(response) {
      // Prepara los datos para el Excel
      let wb = XLSX.utils.book_new(); // Crea un nuevo libro de trabajo
      let ws_data = [
        ['#', 'BLOQUE', 'DIPLOMADO', 'TOTAL DE INSCRITOS', 'ALUMNOS EN LISTA', 'MONTO TOTAL', 'MONTO COBRADO', 'MONTO POR RECUPERAR', 'MONTO ATRASADO', 'PERDIDO POR BAJAS', 'COMPLETADO', 'ACTIVO', 'ATRASADO', 'BAJAS']
      ];

      // Añade cada fila de datos al arreglo ws_data
      response.forEach((val, index) => {
        ws_data.push([
          index + 1,
          val["BLOQUE"],
          val["DIPLOMADO"],
          val["TOTAL_INSCRITOS"],
          val["ALUMNOS ACTIVOS"],
          parseFloat(val["MONTO TOTAL"]).toFixed(2),
          parseFloat(val["MONTO_COBRADO"]).toFixed(2),
          parseFloat(val["MONTO_POR_RECUPERAR"]).toFixed(2),
          parseFloat(val["MONTO_ATRASADO"]).toFixed(2),
          parseFloat(val["PERDIDO_POR_BAJAS"]).toFixed(2),
          val["COMPLETADO"],
          val["ACTIVO"],
          val["ATRASADO"],
          val["BAJAS"]
        ]);
      });

      let ws = XLSX.utils.aoa_to_sheet(ws_data); // Convierte el arreglo a una hoja
      XLSX.utils.book_append_sheet(wb, ws, "Reporte"); // Añade la hoja al libro

      // Genera el archivo Excel y lo descarga
      XLSX.writeFile(wb, 'reporte_recuperacion.xlsx');
    },
    error: function() {
      console.error("Error al obtener los datos.");
    }
  });
});

// descarga de excel GENERAL PARA CONTABILIDAD
$("#btnExportarExcelito").on('click', function(event) {
  event.preventDefault();

  // Obtenemos los valores de los filtros
  let tipoServiciosD = $("#tipoServicio").val();
  let estadoServiciosD = $("#estadoServicio").val();
  let zonaBloquesD = $("#zonaDetallados").val();

  // Aquí haces una llamada AJAX para obtener los datos filtrados
  let datos = new FormData();
  datos.append("tipoServiciosD", tipoServiciosD);
  datos.append("estadosServiciosD", estadoServiciosD);
  datos.append("zonaBloquesD", zonaBloquesD);

  $.ajax({
    url: "ajax/reportes.ajax.php",
    method: "POST",
    data: datos,
    cache: false,
    contentType: false,
    processData: false,
    dataType: "json",
    success: function(response) {
      // Prepara los datos para el Excel
      let wb = XLSX.utils.book_new(); // Crea un nuevo libro de trabajo
      let ws_data = [ 
        ['#', 'BLOQUE', 'DIPLOMADO', 'ESTADO DEL PAGO', 'PARTICIPANTE', 'FOLIO', 'METODO DE PAGO', 'BANCO', 'REFERENCIA', 'COMPROMETIDO', 'COBRADO', 'NOTAS DEL COBRADOR', 'FECHA ACORDADA', 'FECHA DE PAGO', 'COBRADOR']
      ];

      // Añade cada fila de datos al arreglo ws_data
      response.forEach((val, index) => {
        ws_data.push([
          index + 1,
          val["BLOQUE"],
          val["DIPLOMADO"],
          val["ESTADO_DEL_PAGO"],
          val["PARTICIPANTE"],
          val["FOLIO"],
          val["METODO_DE_PAGO"],
          val["BANCO"],
          val["REFERENCIA"],
          val["COMPROMETIDO"],
          val["COBRADO"],
          val["NOTAS DEL COBRADOR"],
          val["FECHA_ACORDADA"],
          val["FECHA_DE_PAGO"],
          val["COBRADOR"]
        ]);
      });

      let ws = XLSX.utils.aoa_to_sheet(ws_data); // Convierte el arreglo a una hoja
      XLSX.utils.book_append_sheet(wb, ws, "Reporte"); // Añade la hoja al libro

      // Genera el archivo Excel y lo descarga
      XLSX.writeFile(wb, 'reporte_general_detallado.xlsx');
    },
    error: function() {
      console.error("Error al obtener los datos.");
    }
  });
});


// descarga de excel de general de pagos
$("#btnExportarExcelGral").on('click', function(event) {
  event.preventDefault();

  // Obtenemos los valores de los filtros
  let tipoServicioSs = $("#tipoServicio").val();
  let estadosServiciosS = $("#estadoServicio").val();
  let zonaDetallado = $("#zonaDetallados").val();

  // Aquí haces una llamada AJAX para obtener los datos filtrados
  let datos = new FormData();
  datos.append("tipoServicioSs", tipoServicioSs);
  datos.append("estadosServiciosS", estadosServiciosS);
  datos.append("zonaDetallado", zonaDetallado);

  $.ajax({
    url: "ajax/reportes.ajax.php",
    method: "POST",
    data: datos,
    cache: false,
    contentType: false,
    processData: false,
    dataType: "json",
    success: function(response) {
      // Prepara los datos para el Excel
      let wb = XLSX.utils.book_new(); // Crea un nuevo libro de trabajo
      let ws_data = [
        ['#', 'BLOQUE', 'NOMBRE DE ALUMNO', 'DIPLOMADO', 'Inscripcion', 'Pago 1', 'Pago 2', 'Pago 3', 'Pago 4', 'Pago 5', 'Pago 6', 'Pago 7', 'Pago 8', 'Pago 9', 'Pago 10', 'Pago 11', 'Pago 12', 'Pago 13', 'Pago 14']
      ];

      // Añade cada fila de datos al arreglo ws_data
      response.forEach((val, index) => {
        ws_data.push([
          index + 1,
          val["BLOQUE"],
          val["NOMBRE DE ALUMNO"],
          val["DIPLOMADO"],
          val["Inscripcion"],
          val["Pago 1"],
          val["Pago 2"],
          val["Pago 3"],
          val["Pago 4"],
          val["Pago 5"],
          val["Pago 6"],
          val["Pago 7"],
          val["Pago 8"],
          val["Pago 9"],
          val["Pago 10"],
          val["Pago 11"],
          val["Pago 12"],
          val["Pago 13"],
          val["Pago 14"],
        ]);
      });

      let ws = XLSX.utils.aoa_to_sheet(ws_data); // Convierte el arreglo a una hoja
      XLSX.utils.book_append_sheet(wb, ws, "Reporte"); // Añade la hoja al libro

      // Genera el archivo Excel y lo descarga
      XLSX.writeFile(wb, 'reporte_general_de_estatus_cobros.xlsx');
    },
    error: function() {
      console.error("Error al obtener los datos.");
    }
  });
});

// ESTE ES EL ES PARA LOS FILTROS Y COLORES
$("#btnExportarExcelGral").on('click', function(event) {
  event.preventDefault();

  let tipoServicioSs = $("#tipoServicio").val();
  let estadosServiciosS = $("#estadoServicio").val();
  let zonaDetallado = $("#zonaDetallado").val();

  let datos = new FormData();
  datos.append("tipoServicioSs", tipoServicioSs);
  datos.append("estadosServiciosS", estadosServiciosS);
  datos.append("zonaDetallado", zonaDetallado);

  $.ajax({
    url: "ajax/reportes.ajax.php",
    method: "POST",
    data: datos,
    cache: false,
    contentType: false,
    processData: false,
    dataType: "json",
    success: function(response) {
      let wb = XLSX.utils.book_new();
      let ws_data = [
        ['#', 'BLOQUE', 'NOMBRE DE ALUMNO', 'DIPLOMADO', 'Inscripcion', 'Pago 1', 'Pago 2', 'Pago 3', 'Pago 4', 'Pago 5', 'Pago 6', 'Pago 7', 'Pago 8', 'Pago 9', 'Pago 10', 'Pago 11', 'Pago 12', 'Pago 13', 'Pago 14']
      ];

      response.forEach((val, index) => {
        let row = [
          index + 1,
          val["BLOQUE"],
          val["NOMBRE DE ALUMNO"],
          val["DIPLOMADO"]
        ];

        const pagos = ["Inscripcion", "Pago 1", "Pago 2", "Pago 3", "Pago 4", "Pago 5", "Pago 6", "Pago 7", "Pago 8", "Pago 9", "Pago 10", "Pago 11", "Pago 12", "Pago 13", "Pago 14"];
        pagos.forEach(pago => {
          let estado = val[pago].split('-').pop().trim();

          let style;
          switch(estado) {
            case "ATRASADO":
              style = { fill: { fgColor: { rgb: "FFCCCC" } }, font: { color: { rgb: "FF0000" } } };
              break;
            case "PENDIENTE":
              style = { fill: { fgColor: { rgb: "FFFFCC" } }, font: { color: { rgb: "FFCC00" } } };
              break;
            case "PAGADO":
              style = { fill: { fgColor: { rgb: "CCFFCC" } }, font: { color: { rgb: "008000" } } };
              break;
            case "BAJA":
              style = { fill: { fgColor: { rgb: "000000" } }, font: { color: { rgb: "FFFFFF" } } };
              break;
            default:
              style = {};
          }
          row.push({v: val[pago], s: style});
        });

        ws_data.push(row);
      });

      let ws = XLSX.utils.aoa_to_sheet(ws_data, {cellStyles: true});
      XLSX.utils.book_append_sheet(wb, ws, "Reporte");
      XLSX.writeFile(wb, 'reporte_general_de_estatus_cobros.xlsx');
    },
    error: function() {
      console.error("Error al obtener los datos.");
    }
  });
});