<?php 

    session_start();
    date_default_timezone_set('America/Lima');
    include '../validacion.php';
    include '../siguientedia.php';

// Incluir la biblioteca FPDF

include "pdf/fpdf.php";

// Incluir tu clase de conexión existente

include "../conexion/conexion.php";

class PDF extends FPDF
{

   // Cabecera de página
   function Header()
   {
      //include '../../recursos/Recurso_conexion_bd.php';//llamamos a la conexion BD
        
                                            
      //$this->Image('logo.png', 270, 5, 20); //logo de la empresa,moverDerecha,moverAbajo,tamañoIMG
      $this->SetFont('Arial', 'B', 19); //tipo fuente, negrita(B-I-U-BIU), tamañoTexto
      $this->Cell(95); // Movernos a la derecha
      $this->SetTextColor(0, 0, 0); //color
      //creamos una celda o fila
      $this->Cell(110, 15, utf8_decode('IMFCACONTACTO'), 1, 1, 'C', 0); // AnchoCelda,AltoCelda,titulo,borde(1-0),saltoLinea(1-0),posicion(L-C-R),ColorFondo(1-0)
      $this->Ln(3); // Salto de línea
      $this->SetTextColor(103); //color

      /* TITULO DE LA TABLA */
      //color
      $this->SetTextColor(228, 100, 0);
      $this->Cell(100); // mover a la derecha
      $this->SetFont('Arial', 'B', 15);
      $this->Cell(100, 10, utf8_decode("REPORTE SEMANAL "), 0, 1, 'C', 0);
      $this->Ln(7);

      /* CAMPOS DE LA TABLA */
      //color
      $this->SetFillColor(228, 100, 0); //colorFondo
      $this->SetTextColor(255, 255, 255); //colorTexto
      $this->SetDrawColor(163, 163, 163); //colorBorde
      $this->SetFont('Arial', 'B', 11);
      
      $this->Cell(7, 12, utf8_decode('N°'), 1, 0, 'C', 1);
      $this->Cell(70, 12, utf8_decode('COLABORADOR'), 1, 0, 'C', 1);
      
      $this->Cell(45, 6, utf8_decode('HOY'), 1, 0, 'C', 1);
      $this->Cell(30, 6, utf8_decode('SEM'), 1, 0, 'C', 1);
      $this->Cell(60, 6, utf8_decode('MES'), 1, 0, 'C', 1);
      $this->Cell(66, 6, utf8_decode('OBJETIVOS'), 1, 1, 'C', 1);
      
      $this->Cell(77, 6, utf8_decode(''), 0, 0, 'C', 0);
      
      $this->Cell(15, 6, utf8_decode('AGEN'), 1, 0, 'C', 1);
      $this->Cell(15, 6, utf8_decode('LLEG.'), 1, 0, 'C', 1);
      $this->Cell(15, 6, utf8_decode('EFIC.'), 1, 0, 'C', 1);
      
      $this->Cell(15, 6, utf8_decode('AGE.'), 1, 0, 'C', 1);
      $this->Cell(15, 6, utf8_decode('LLEG.'), 1, 0, 'C', 1);
      
      $this->Cell(15, 6, utf8_decode('AGE.'), 1, 0, 'C', 1);
      $this->Cell(15, 6, utf8_decode('PROM.'), 1, 0, 'C', 1);
      $this->Cell(15, 6, utf8_decode('LLEG.'), 1, 0, 'C', 1);
      $this->Cell(15, 6, utf8_decode('EFIC.'), 1, 0, 'C', 1);
      
      $this->Cell(33, 6, utf8_decode('LLEG. AGENDA)'), 1, 0, 'C', 1);
      $this->Cell(33, 6, utf8_decode('EFIC. LLEGADA)'), 1, 1, 'C', 1);
   }





   // Pie de página
   function Footer()
   {
      $this->SetY(-15); // Posición: a 1,5 cm del final
      $this->SetFont('Arial', 'I', 8); //tipo fuente, negrita(B-I-U-BIU), tamañoTexto
      $this->Cell(0, 10, utf8_decode('Página ') . $this->PageNo() . '/{nb}', 0, 0, 'C'); //pie de pagina(numero de pagina)

      $this->SetY(-15); // Posición: a 1,5 cm del final
      $this->SetFont('Arial', 'I', 8); //tipo fuente, cursiva, tamañoTexto
      $hoy = date('d/m/Y');
      $this->Cell(540, 10, utf8_decode($hoy), 0, 0, 'C'); // pie de pagina(fecha de pagina)
   }
}

//include '../../recursos/Recurso_conexion_bd.php';
//require '../../funciones/CortarCadena.php';
/* CONSULTA INFORMACION DEL HOSPEDAJE */
//$consulta_info = $pdo->query(" select *from hotel ");
//$dato_info = $consulta_info->fetch_object();

$pdf = new PDF();
$pdf->AddPage("landscape"); /* aqui entran dos para parametros (horientazion,tamaño)V->portrait H->landscape tamaño (A3.A4.A5.letter.legal) */
$pdf->AliasNbPages(); //muestra la pagina / y total de paginas

$i = 0;
$pdf->SetFont('Arial', '', 10);
$pdf->SetDrawColor(163, 163, 163); //colorBorde

/*$consulta_reporte_alquiler = $conexion->query("  ");*/
                                                
                                                $divisor = date("w");
                                                $fecha = date("Y-m-d");
                                                $metapersonal = 20;
                                                $metageneral = 100;
                                                
                                                $mes = date("m");
                                                $year = date("Y");
                                                $fecha = date("Y-m-d");
                        
                                                 $mesx = date("m",strtotime($fecha));
                                                 $contador = 0;
                                                 if($idrol_sesion == 4 && $idusuario_sesion != '95'){
                                                     $sql = "select * FROM usuario WHERE estado='2' and (idrol='2' or idrol='3' or idusuario='38' or idusuario='45' or idusuario='46')  ORDER BY sede, nombreusuario, idrol";
                                                 }else if($idusuario_sesion == '95'){
                                                     $sql = "select * FROM usuario WHERE estado='2' and (idrol='2' or idrol='3') ORDER BY nombreusuario";
                                                 }
                                                 else{
                                                     $sql = "select * FROM usuario WHERE estado='2' and (idrol='2' or idrol='3') and sede = '$sede_sesion' ORDER BY nombreusuario";
                                                 }
                                                 $consulta = $pdo->prepare($sql);
                                                 $consulta->execute();
                                                 $usuario = $consulta->fetchAll(PDO::FETCH_ASSOC);

                                                foreach ($usuario as $gousuario) {
                                                    $idusuario = $gousuario['idusuario'];
                                                    $nombreusuario = $gousuario['nombreusuario'];
                                                    $dni = $gousuario['dni'];
                                                    $correo = $gousuario['correo'];
                                                    $celular = $gousuario['celular'];
                                                    $sede = $gousuario['sede'];                                          
                                                    $estado = $gousuario['estado'];
                                                    $fechaingreso = $gousuario['fechaingreso'];  
                                                    
                                            
                                                
                                                    // LLEGADA DIARIA
                                                    
                                                        $sql = "SELECT COUNT(*) FROM agenda WHERE idusuario='$idusuario' AND estado='CONFIRMADO' AND asistencia='SI' AND (agenda='AGENDADO' or agenda='REPROGRAMADO') AND (fechaagenda = '$fecha' OR fechareprogramacion='$fecha')";
                                                        $asistenciadiaria = current($pdo->query($sql)->fetch());
                                                    
                                                    
                                                    // AGENDADOS TOTAL DEL DÍA
                                            
                                                        $sql = "SELECT COUNT(*) FROM agenda WHERE idusuario='$idusuario' AND (fechaagenda = '$fecha' OR fechareprogramacion='$fecha')";
                                                        $agendadosdiarios = current($pdo->query($sql)->fetch());
                                                
                                                
                                                    // EFICIENCIA DIARIA
                                                        $eficienciasdiarias = $asistenciadiaria / $agendadosdiarios;
                                                        $eficienciadiaria = $eficienciasdiarias * 100;
                                                        $eficienciadiariax = round($eficienciadiaria,0);
                                                    
                                                    
                                                    
                                                    // AGENDADOS SEMANALES
                                                        $agendados = 0;
                                                        $sqls = "SELECT * FROM agenda WHERE idusuario='$idusuario' AND (agenda='AGENDADO' or agenda='REPROGRAMADO')";
                                                        $consultas = $pdo->prepare($sqls);
                                                        $consultas->execute();
                                                        $aagendados = $consultas->fetchAll(PDO::FETCH_ASSOC);
                                                    
                                                     foreach ($aagendados as $goagendados) {
                                                             $asistencia = $goagendados['asistencia'];
                                                             $agenda = $goagendados['agenda'];
                                                             $estado = $goagendados['estado'];
                                                             $fechaagenda = $goagendados['fechaagenda'];
                                                             $fechareprogramacion = $goagendados['fechareprogramacion'];
                                                             
                                                                 if($agenda == "AGENDADO"){
                                                                     
                                                                    $fechas = strtotime($fechaagenda);
                                                                    $semanaxx = date("W",$fechas);
                                                                    
                                                                    if($semanaxx == $semanax){
                                                                        $agendados = $agendados + 1;
                                                                    }
                                                                }
                                                                else if($agenda == "REPROGRAMADO"){
                                                                    $fechas = strtotime($fechareprogramacion);
                                                                    $semanaxx = date("W",$fechas);
                                                                    
                                                                    if($semanaxx == $semanax){
                                                                        $agendados = $agendados + 1;
                                                                    }
                                                                }
                                                                
                                                            
                                                        }
                                                        
                                                    // PROMEDIO AGENDADOS SEMANALES
                                                    
                                                        $ndia = date("d",strtotime($fecha));    
                                                        $promedioagendadoss = $agendados / $divisor;
                                                        $promedioagendadossemana = round($promedioagendadoss,0);
                                                        
                                                        
                                                    //TOTAL MES 
                                                    $agendadosmes = 0;
                                                    
                                                    $sql = "SELECT COUNT(*) FROM agenda WHERE idusuario = '$idusuario' AND ((agenda='AGENDADO' or agenda='REPROGRAMADO') AND (month(fechaagenda) = '$mesx' OR month(fechareprogramacion)='$mesx'))";
                                                    $agendadosmes = current($pdo->query($sql)->fetch());


                                                    // LLEGADA MENSUAL
                                                    $sql = "SELECT COUNT(*) FROM agenda WHERE idusuario='$idusuario' AND estado='CONFIRMADO' AND asistencia='SI' AND ((agenda='AGENDADO' or agenda='REPROGRAMADO') AND (month(fechaagenda) = '$mesx' OR month(fechareprogramacion)='$mesx'))";
                                                    $llegadames = current($pdo->query($sql)->fetch());
                                                    

                                                        
                                                    
                                                        
                                                    
                                                
                                                    //LLEGADA SEMANAL
                                                    
                                                         $llegada = 0;
                                                         $sql = "SELECT * FROM agenda WHERE idusuario='$idusuario' AND estado='CONFIRMADO' AND asistencia='SI'";
                                                         $consulta = $pdo->prepare($sql);
                                                         $consulta->execute();
                                                         $asistencias = $consulta->fetchAll(PDO::FETCH_ASSOC);
                                                    
                                                     foreach ($asistencias as $goasistencia) {
                                                             $asistencia = $goasistencia['asistencia'];
                                                             $idagenda = $goasistencia['idagenda'];
                                                             $agenda = $goasistencia['agenda'];
                                                             $estado = $goasistencia['estado'];
                                                             $fechaagenda = $goasistencia['fechaagenda'];
                                                             $fechareprogramacion = $goasistencia['fechareprogramacion'];
                                                             
                                                             
                                                             
                                                                 if($estado == "CONFIRMADO" && $asistencia == "SI"){
                                                                     
                                                                    $fechas = strtotime($fechaagenda);
                                                                    $semanaxx = date("W",$fechas);
                                                                    
                                                                    if($semanaxx == $semanax){
                                                                        $llegada = $llegada + 1;
                                                                    }
                                                                 }
                                                                 else if($estado == "LISTANEGRA" && $asistencia == "SI"){
                                                                    $fechas = strtotime($fechareprogramacion);
                                                                    $semanaxx = date("W",$fechas);
                                                                    
                                                                    if($semanaxx == $semanax){
                                                                        $llegada = $llegada + 1;
                                                                    }
                                                                 }
                    
                                                        }
                                                    
                                                    // PROMEDIO DE LLEGADA SEMANAL
                                                    
                                                    $promediollegadas = $llegada / $divisor;
                                                    $promediollegada = round($promediollegadas,0);
                                                        
                                                        
                                                        
                                                    // PROMEDIO AGENDADOS MES
                                                    $promedioagendadossmes = 0;
                                                    $ndia = date("d",strtotime($fecha));    
                                                    $promedioagendadossmes = $agendadosmes / $ndia;
                                                    $promedioagendadosmes = round($promedioagendadossmes,0);   
                                                    
                                                    
                                                    // PROMEDIO LLEGADA MES
                                                    $promediollegadames = 0;
                                                    $ndia = date("m",strtotime($fecha));    
                                                    $promediollegadassmes = $llegadames / $ndia;
                                                    $promediollegadames = round($promediollegadassmes,0);  
                                                        
                                                        
                                                    // ASISTENCIA MENSUAL
                                                    $asistenciames = 0;
                                                    $sql = "SELECT COUNT(*) FROM agenda WHERE idusuario='$idusuario' AND estado='CONFIRMADO' and asistencia='SI' AND (month(fechaagenda) = '$mesx' OR month(fechareprogramacion) = '$mesx')";
                                                    $asistenciames = current($pdo->query($sql)->fetch());
                                                    
                                                    
                                                    
                                                    
                                                    // EFICIENCIA SEMANAL

                                                    $eficienciassemana = $llegada / $agendados;
                                                    $eficienciasemana = $eficienciassemana * 100;
                                                    $eficienciasemanax = round($eficienciasemana,0);
                                                    
                                                    
                                                    
                                                    
                                                    // EFICIENCIA MENSUAL

                                                    $eficienciasmes = $asistenciames / $agendadosmes;
                                                    $eficienciames = $eficienciasmes * 100;
                                                    $eficienciamesx = round($eficienciames,0);
                                                    
                                                    // OBJETIVO AGENDA

                                                    $objetivoagendas = $promedioagendadosmes / $metapersonal;
                                                    $objetivoagendass = $objetivoagendas * 100;
                                                    $objetivoagenda = round($objetivoagendass,0);
                                                    
                                                    // OBJETIVO LLEGADA
                                                    $objetivollegadax = $promediollegadassmes / $metageneral;
                                                    $objetivollegadass = $objetivollegadax * 100;
                                                    $objetivollegada = round($objetivollegadass,0);
                                                    
                                                    if (is_nan($eficienciadiariax)) { $eficienciadiariax = "0%";} else { $eficienciadiariax = $eficienciadiariax."%";}
                                                    if (is_nan($eficienciamesx)) { $eficienciamesx = "0%";} else { $eficienciamesx = $eficienciamesx."%";}
                                                    if (is_nan($objetivoagenda)) { $objetivoagenda = "0%";} else { $objetivoagenda = $objetivoagenda."%";}
                                                    if (is_nan($objetivollegada)) { $objetivollegada = "0%";} else { $objetivollegada = $objetivollegada."%";}
                                                    
                                                    $i = $i + 1;
                                                    /* TABLA */
                                                    $pdf->Cell(7, 10, utf8_decode("$i"), 1, 0, 'C', 0);
                                                    $pdf->Cell(70, 10, utf8_decode("$nombreusuario"), 1, 0, 'C', 0);
                                                    $pdf->Cell(15, 10, utf8_decode("$agendadosdiarios"), 1, 0, 'C', 0);
                                                    $pdf->Cell(15, 10, utf8_decode("$asistenciadiaria"), 1, 0, 'C', 0);
                                                    $pdf->Cell(15, 10, utf8_decode("$eficienciadiariax"), 1, 0, 'C', 0);
                                                    $pdf->Cell(15, 10, utf8_decode("$agendados"), 1, 0, 'C', 0);
                                                    $pdf->Cell(15, 10, utf8_decode("$llegada"), 1, 0, 'C', 0);
                                                    $pdf->Cell(15, 10, utf8_decode("$agendadosmes"), 1, 0, 'C', 0);
                                                    $pdf->Cell(15, 10, utf8_decode("$promedioagendadosmes"), 1, 0, 'C', 0);
                                                    $pdf->Cell(15, 10, utf8_decode("$asistenciames"), 1, 0, 'C', 0);
                                                    $pdf->Cell(15, 10, utf8_decode("$eficienciamesx"), 1, 0, 'C', 0);
                                                    $pdf->Cell(33, 10, utf8_decode("$objetivoagenda"), 1, 0, 'C', 0);
                                                    $pdf->Cell(33, 10, utf8_decode("$objetivollegada"), 1, 1, 'C', 0);
                                                    
                                                }



/*while ($datos_reporte = $consulta_reporte_alquiler->fetch_object()) {      
   }*/



$pdf->Output('Prueba2.pdf', 'I');//nombreDescarga, Visor(I->visualizar - D->descargar)