src/Controller/LoginController.php line 45

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Symfony\Component\HttpFoundation\Response;
  5. use Symfony\Component\Routing\Annotation\Route;
  6. use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use App\Entity\Usuario;
  9. use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
  10. use PHPMailer\PHPMailer\PHPMailer;
  11. use PHPMailer\PHPMailer\SMTP;
  12. use PHPMailer\PHPMailer\Exception;
  13. class LoginController extends AbstractController
  14. {
  15.     /**
  16.      * @Route("/", name="app_login")
  17.     */
  18.     public function index(AuthenticationUtils $authenticationUtils): Response
  19.     {
  20.         // get the login error if there is one
  21.         $error $authenticationUtils->getLastAuthenticationError();
  22.         // last username entered by the user
  23.         $lastUsername $authenticationUtils->getLastUsername();
  24.         //El usuario se encuentra logueado, lo reedirigimos a la home
  25.         if($this->getUser()){
  26.             return $this->redirectToRoute('home');
  27.         }
  28.         return $this->render('login/index.html.twig', [
  29.             'last_username' => $lastUsername,
  30.             'error'         => $error,
  31.         ]);
  32.         
  33.     }
  34.     /**
  35.      * @Route("/recuperar", name="recuperar")
  36.     */
  37.     public function recuperar(Request $request)
  38.     {
  39.         
  40.         $em $this->getDoctrine()->getManager();
  41.         if ($request->getMethod() == "POST") {
  42.             
  43.             $usuario $em->getRepository(Usuario::class)->findOneBy(["email"=>$request->get("email")]);
  44.             
  45.             if($usuario){  
  46.                 if($usuario->isActivo()==false){
  47.                     return $this->redirectToRoute('app_login');
  48.                 }
  49.                 //Generamos un token para el usuario y se los asignamos
  50.                 $token=str_shuffle("abcdefghijklmnopqrstuvwxyz0123456789".uniqid());
  51.                 $usuario->setToken($token);
  52.                 $em->persist($usuario);
  53.                 $em->flush();
  54.                 //Enviamos un correo.
  55.                 $mailer = new PHPMailer(true);
  56.                 //return $this->render("login/recuperar_email.html.twig",array("nombre"=>$usuario->getNombre()." ".$usuario->getApellidos(),"token"=>$token));
  57.                 try {
  58.                     // Configurar el servidor de correo
  59.                     $mailer->isSMTP();
  60.                     $mailer->Host $_ENV["EMAIL_HOST"];
  61.                     //$mailer->Port = $_ENV["EMAIL_PORT"];
  62.                     //$mailer->SMTPDebug  = 2;
  63.                     //$mailer->SMTPSecure = $_ENV["EMAIL_SECURE"];
  64.                     //$mailer->SMTPAutoTLS = false;
  65.                     //$mailer->SMTPSecure = false;    
  66.                     $mailer->SMTPAuth true;
  67.                     $mailer->Username $_ENV["EMAIL_USERNAME"];
  68.                     $mailer->Password $_ENV["EMAIL_PASSWORD"];
  69.                     $mailer->SMTPSecure $_ENV["EMAIL_SECURE"];
  70.                     $mailer->Port $_ENV["EMAIL_PORT"];
  71.                     
  72.                     $mailer->From=$_ENV["EMAIL_FROM"];
  73.                     $mailer->FromName=$_ENV["EMAIL_FROMNAME"];
  74.                     $mailer->addAddress($usuario->getEmail());
  75.                     // Contenido del correo
  76.                     $mailer->isHTML(true);
  77.                     $plantilla$this->renderView('login/recuperar_email.html.twig',array("nombre"=>$usuario->getNombre()." ".$usuario->getApellidos(),"token"=>$token));
  78.                     $mailer->msgHTML(utf8_decode($plantilla));
  79.                     // Enviar el correo
  80.                     $ex=$mailer->send();
  81.                    
  82.         
  83.                 } catch (Exception $e) {
  84.                   
  85.                     $this->addFlash('error''Ocurrió un error al envíar el correo.');
  86.                 }
  87.             }
  88.             //Reenviamos a la home
  89.             $this->addFlash('correcto''Si su usuario existe en la aplicación, recibirá un correo para modificar su clave.');
  90.             return $this->redirectToRoute('app_login');
  91.         }   
  92.         return $this->render('login/recuperar.html.twig');
  93.         
  94.     }
  95.     /**
  96.      * @Route("/cambiar_clave/{token}", name="cambiar_clave")
  97.     */
  98.     public function cambiarClave(Request $request,UserPasswordEncoderInterface $encoder,$token)
  99.     {
  100.         $em $this->getDoctrine()->getManager();
  101.         $usuario $em->getRepository(Usuario::class)->findOneBy(["token"=>$token]);
  102.         if(!$usuario){
  103.             return $this->redirectToRoute('app_login');
  104.         }
  105.         //Nos mandan post, cambiamos la del usuario.
  106.         if ($request->getMethod() == "POST") {
  107.             $encoded $encoder->encodePassword($usuario$request->get("clave1"));
  108.             $usuario->setPassword($encoded);
  109.             $usuario->setToken(null);
  110.             $em->persist($usuario);
  111.             $em->flush();
  112.             $this->addFlash('correcto''Tu clave ha sido modificada correctamente.');
  113.             return $this->redirectToRoute('app_login');
  114.         }
  115.         //Renderizamos la plantilla de cambio de clave.
  116.         return $this->render('login/cambiar_clave.html.twig');
  117.     }
  118.     /**
  119.      * @Route("/logout", name="app_logout", methods={"GET"})
  120.     */
  121.     public function logout(): void
  122.     {
  123.     }
  124.     /**
  125.      * @Route("/home", name="home")
  126.     */
  127.     public function home(){
  128.         
  129.         $em $this->getDoctrine()->getManager();
  130.         //Si no esta activo o es operario, lo redirigimos fuera.
  131.         if($this->getUser()->isActivo() == false || $this->getUser()->getRol()->getId()==3){
  132.             return $this->redirectToRoute('app_logout');
  133.         }
  134.         /* PRL */
  135.       
  136.         //DOCUMENTACIÓN USUARIOS
  137.         $usuariosSinDocumentacion="";
  138.         $usuariosCaducaMes="";
  139.         $usuariosCaducaProximo="";
  140.         $usuariosDocPendiente="";
  141.         //DOCUMENTACION MAQUINARIA
  142.         $maquinariasSinDocumentacion="";
  143.         $maquinariasCaducaMes="";
  144.         $maquinariasCaducaProximo="";
  145.         $maquinariasDocPendiente="";
  146.         //SINIESTRALIDAD
  147.         $usuariosBaja="";
  148.         //DOCUMENTACIÓN SUBPROYECTOS
  149.         $subproyectosSinDocumentacion="";
  150.         $subproyectosCaducaMes="";
  151.         $subproyectosCaducaProximo="";
  152.         $subproyectosDocPendiente="";
  153.         //INSPECCIÓN
  154.         $incidenciasSinResolver="";
  155.         //EQUIPOS PREVENCIÓN
  156.         $equiposprevencionCaducaMes="";
  157.         $equiposprevencionCaducaProximo="";
  158.         //MEDIDAS PREVENTIVAS
  159.         $medidaprevencionSinRealizar="";
  160.         $medidaprevencionCaducaMes="";
  161.         $medidaprevencionCaducaProximo="";
  162.         
  163.         //Seguros
  164.         $segurosCaducaMes="";
  165.         $segurosCaducaProximo="";
  166.         //Permisos
  167.         $permisosTroncalesCaducaMes "";
  168.         $permisosTroncalesCaducaProximo "";
  169.         $requerimientosPendientesSubsanar="";
  170.         //proyectos
  171.         $proyectosSinDocumentacion="";
  172.         $proyectosCaducaMes="";
  173.         $proyectosCaducaProximo="";
  174.         $proyectosDocPendiente="";
  175.         
  176.         /*PRL*/
  177.         if (($this->getUser()->getRol()->getId() == 6) or ($this->getUser()->getRol()->getId() == 1)){
  178.             
  179.             //DOCUMENTACIÓN USUARIO
  180.             //Obtenemos los usuarios que no tienen ninguna documentacion subida
  181.             $sql "SELECT COUNT(*) AS total
  182.                     FROM usuario
  183.                     WHERE activo = 1 AND interno = 1 AND id NOT IN (SELECT idusuario FROM usuario_documentaciontrabajador)";
  184.             $stmt $em->getConnection()->prepare($sql);
  185.             $stmt->execute();
  186.             $usuariosSinDocumentacion $stmt->fetchAll()[0]["total"];
  187.             //Obtenermos los usuarios con Documentos que caducan el mes siguiente
  188.             $primerDiaMesSiguiente date("Y-m-01"strtotime("first day of next month"));
  189.             $ultimoDiaMesSiguiente date("Y-m-t"strtotime("last day of next month"));
  190.             
  191.             //Obtenermos las maquinarias con Documentos caducados o que caducan este mes
  192.             $primerDiames date("Y-m-01");
  193.             $ultimoDiames date("Y-m-t");
  194.             $sql "SELECT COUNT(*) AS total
  195.                     FROM usuario
  196.                     WHERE activo = 1 
  197.                         AND interno = 1 
  198.                         AND id IN (SELECT idusuario 
  199.                                     FROM usuario_documentaciontrabajador 
  200.                                     WHERE fechacaduca between '$primerDiames' AND '$ultimoDiames')";
  201.             $stmt $em->getConnection()->prepare($sql);
  202.             $stmt->execute();
  203.             $usuariosCaducaMes $stmt->fetchAll()[0]["total"];
  204.        
  205.             $sql "SELECT COUNT(*) AS total
  206.                     FROM usuario
  207.                     WHERE activo = 1 
  208.                         AND interno = 1 
  209.                         AND id IN (SELECT idusuario 
  210.                                     FROM usuario_documentaciontrabajador 
  211.                                     WHERE fechacaduca between '$primerDiaMesSiguiente' and '$ultimoDiaMesSiguiente')";
  212.             $stmt $em->getConnection()->prepare($sql);
  213.             $stmt->execute();
  214.             $usuariosCaducaProximo $stmt->fetchAll()[0]["total"];
  215.             //Obtenemos los usuarios con documentación pendiente
  216.             $sql "SELECT COUNT(*) AS total
  217.                     FROM usuario
  218.                     WHERE activo = 1 
  219.                         AND interno = 1 
  220.                         AND id IN (SELECT idusuario 
  221.                                     FROM usuario_documentaciontrabajador 
  222.                                     WHERE pendiente = 1)";
  223.             $stmt $em->getConnection()->prepare($sql);
  224.             $stmt->execute();
  225.             $usuariosDocPendiente $stmt->fetchAll()[0]["total"];
  226.             
  227.             //DOCUMENTACIÓN MAQUINARIA
  228.             //Obtenemos las maquinarias que no tienen ninguna documentacion subida
  229.             $sql "SELECT COUNT(*) AS total
  230.                     FROM control_maquinariaempresa
  231.                     WHERE activo = 1 AND id NOT IN (SELECT idcontrolmaquinariaempresa FROM maquinariadocumentacionempresa)";
  232.             $stmt $em->getConnection()->prepare($sql);
  233.             $stmt->execute();
  234.             $maquinariasSinDocumentacion $stmt->fetchAll()[0]["total"];
  235.             $sql "SELECT COUNT(*) AS total
  236.                     FROM control_maquinariaempresa
  237.                     WHERE activo = 1 
  238.                         AND id IN (SELECT idcontrolmaquinariaempresa 
  239.                                     FROM maquinariadocumentacionempresa 
  240.                                     WHERE fechacaduca between '$primerDiames' AND '$ultimoDiames')";
  241.             $stmt $em->getConnection()->prepare($sql);
  242.             $stmt->execute();
  243.             $maquinariasCaducaMes $stmt->fetchAll()[0]["total"];
  244.             
  245.             $sql "SELECT COUNT(*) AS total
  246.                     FROM control_maquinariaempresa
  247.                     WHERE activo = 1 
  248.                         AND id IN (SELECT idcontrolmaquinariaempresa 
  249.                                     FROM maquinariadocumentacionempresa 
  250.                                     WHERE fechacaduca between '$primerDiaMesSiguiente' and '$ultimoDiaMesSiguiente')";
  251.             $stmt $em->getConnection()->prepare($sql);
  252.             $stmt->execute();
  253.             $maquinariasCaducaProximo $stmt->fetchAll()[0]["total"];
  254.             //Obtenemos las maquinarias con documentación pendiente
  255.             $sql "SELECT COUNT(*) AS total
  256.                     FROM control_maquinariaempresa
  257.                     WHERE activo = 1 
  258.                         AND id IN (SELECT idcontrolmaquinariaempresa 
  259.                                     FROM maquinariadocumentacionempresa 
  260.                                     WHERE pendiente = 1)";
  261.             $stmt $em->getConnection()->prepare($sql);
  262.             $stmt->execute();
  263.             $maquinariasDocPendiente $stmt->fetchAll()[0]["total"];
  264.             //SINIESTRALIDAD
  265.             //Obtenemos los siniestros sin fecha de alta
  266.             $sql "SELECT COUNT(*) AS total
  267.                     FROM siniestralidad
  268.                     WHERE fechaaltamedica is null";
  269.             $stmt $em->getConnection()->prepare($sql);
  270.             $stmt->execute();
  271.             $usuariosBaja $stmt->fetchAll()[0]["total"];
  272.             //CONTROL OBRAS (SUBPROYECTOS)
  273.             //Obtenemos los proyectos que no tienen ninguna fase
  274.             
  275.             $sql "SELECT COUNT(*) AS total
  276.                     FROM proyecto
  277.                     WHERE activo = 1 AND id NOT IN (SELECT idproyecto FROM faseproyecto)";
  278.             $stmt $em->getConnection()->prepare($sql);
  279.             $stmt->execute();
  280.             $proyectosSinDocumentacion $stmt->fetchAll()[0]["total"];
  281.             
  282.             //Obtenermos los usuarios con Documentos caducados o que caducan este mes
  283.             $ultimoDiames date("Y-m-t");
  284.             
  285.             $sql "SELECT COUNT(*) AS total
  286.                     FROM proyecto
  287.                     WHERE activo = 1 
  288.                         AND id IN (SELECT idproyecto 
  289.                                     FROM faseproyecto fp inner join documentacionfasesubcontrata dfp on fp.id = dfp.idfaseproyecto 
  290.                                     WHERE caduca = 1 and fechacaduca between '$primerDiames' AND '$ultimoDiames')";
  291.             $stmt $em->getConnection()->prepare($sql);
  292.             $stmt->execute();
  293.             $proyectosCaducaMes $stmt->fetchAll()[0]["total"];
  294.             
  295.             $sql "SELECT COUNT(*) AS total
  296.                     FROM proyecto
  297.                     WHERE activo = 1 
  298.                         AND id IN (SELECT idproyecto 
  299.                                     FROM faseproyecto fp inner join documentacionfasesubcontrata dfp on fp.id = dfp.idfaseproyecto 
  300.                                     WHERE caduca = 1 and fechacaduca between '$primerDiaMesSiguiente' and '$ultimoDiaMesSiguiente')";
  301.             $stmt $em->getConnection()->prepare($sql);
  302.             $stmt->execute();
  303.             $proyectosCaducaProximo $stmt->fetchAll()[0]["total"];
  304.             //Obtenemos los usuarios con documentación pendiente
  305.             $sql "SELECT COUNT(*) AS total
  306.                     FROM proyecto
  307.                     WHERE activo = 1 
  308.                         AND id IN (SELECT idproyecto 
  309.                                     FROM faseproyecto fp inner join documentacionfasesubcontrata dfp on fp.id = dfp.idfaseproyecto 
  310.                                     WHERE idestadodocumentacionproyecto = 3)";
  311.             $stmt $em->getConnection()->prepare($sql);
  312.             $stmt->execute();
  313.             $proyectosDocPendiente $stmt->fetchAll()[0]["total"];
  314.             
  315.             //INCIDENCIAS INSPECCIÓN
  316.             //Obtenemos los usuarios con documentación pendiente
  317.             $sql "SELECT COUNT(*) AS total FROM inspeccionobra io
  318.             inner join usuario u on io.idusuario = u.id
  319.             inner join troncal t on io.idtroncal = t.id
  320.             left join troncal_empresa te on te.idtroncal = t.id
  321.             left join empresas e on te.idempresa = e.id
  322.             WHERE resuelta = 0";
  323.             $stmt $em->getConnection()->prepare($sql);
  324.             $stmt->execute();
  325.             $incidenciasSinResolver $stmt->fetchAll()[0]["total"];
  326.      
  327.             //CONTROL DE EQUIPOS
  328.             $ultimoDiames date("Y-m-t");
  329.             
  330.             $sql "SELECT COUNT(*) AS total
  331.                     FROM equiposprevencion
  332.                     WHERE fechaproximarevision between '$primerDiames' AND '$ultimoDiames'";
  333.             $stmt $em->getConnection()->prepare($sql);
  334.             $stmt->execute();
  335.             $equiposprevencionCaducaMes $stmt->fetchAll()[0]["total"];
  336.             //Medidas de prevencion que caducan el mes siguiente
  337.             $primerDiaMesSiguiente date("Y-m-01"strtotime("first day of next month"));
  338.             $ultimoDiaMesSiguiente date("Y-m-t"strtotime("last day of next month"));
  339.             
  340.             $sql "SELECT COUNT(*) AS total
  341.                     FROM equiposprevencion
  342.                     WHERE fechaproximarevision between '$primerDiaMesSiguiente' and '$ultimoDiaMesSiguiente'";
  343.             $stmt $em->getConnection()->prepare($sql);
  344.             $stmt->execute();
  345.             $equiposprevencionCaducaProximo $stmt->fetchAll()[0]["total"];
  346.             //MEDIDAS PREVENCIÓN
  347.             //Medidas de prevención sin realizar
  348.             $sql "SELECT COUNT(*) AS total
  349.                     FROM controlmedidasprevencion
  350.                     WHERE realizada = 0";
  351.             $stmt $em->getConnection()->prepare($sql);
  352.             $stmt->execute();
  353.             $medidaprevencionSinRealizar $stmt->fetchAll()[0]["total"];
  354.             //Medidas de prevencion que han caducado o caducan este mes
  355.             $ultimoDiames date("Y-m-t");
  356.             $sql "SELECT COUNT(*) AS total
  357.                     FROM controlmedidasprevencion
  358.                     WHERE fechaproximarevision between '$primerDiames' AND '$ultimoDiames'";
  359.             $stmt $em->getConnection()->prepare($sql);
  360.             $stmt->execute();
  361.             $medidaprevencionCaducaMes $stmt->fetchAll()[0]["total"];
  362.             //Medidas de prevencion que caducan el mes siguiente
  363.             $primerDiaMesSiguiente date("Y-m-01"strtotime("first day of next month"));
  364.             $ultimoDiaMesSiguiente date("Y-m-t"strtotime("last day of next month"));
  365.             
  366.             $sql "SELECT COUNT(*) AS total
  367.                     FROM controlmedidasprevencion
  368.                     WHERE fechaproximarevision between '$primerDiaMesSiguiente' and '$ultimoDiaMesSiguiente'";
  369.             $stmt $em->getConnection()->prepare($sql);
  370.             $stmt->execute();
  371.             $medidaprevencionCaducaProximo $stmt->fetchAll()[0]["total"];
  372.             $sql "SELECT COUNT(*) AS total
  373.             FROM seguro
  374.                 where activo = 1
  375.                 and id IN (SELECT id 
  376.                             FROM seguro 
  377.                             WHERE fecha_caducidad between '$primerDiames' and '$ultimoDiames')";
  378.             $stmt $em->getConnection()->prepare($sql);
  379.             $stmt->execute();
  380.             $segurosCaducaMes $stmt->fetchAll()[0]["total"];
  381.             $sql "SELECT COUNT(*) AS total
  382.             FROM seguro
  383.                 where activo = 1
  384.                 and id IN (SELECT id 
  385.                             FROM seguro 
  386.                             WHERE fecha_caducidad between '$primerDiaMesSiguiente' and '$ultimoDiaMesSiguiente')";
  387.             $stmt $em->getConnection()->prepare($sql);
  388.             $stmt->execute();
  389.             $segurosCaducaProximo $stmt->fetchAll()[0]["total"];
  390.             $sql "SELECT COUNT(*) AS total
  391.             FROM permisos_troncales
  392.                 WHERE id IN (SELECT id 
  393.                             FROM permisos_troncales 
  394.                             WHERE fecha_caducidad between '$primerDiames' and '$ultimoDiames')";
  395.             $stmt $em->getConnection()->prepare($sql);
  396.             $stmt->execute();
  397.             $permisosTroncalesCaducaMes $stmt->fetchAll()[0]["total"];
  398.             $sql "SELECT COUNT(*) AS total
  399.             FROM permisos_troncales
  400.                 WHERE id IN (SELECT id 
  401.                             FROM permisos_troncales 
  402.                             WHERE fecha_caducidad between '$primerDiaMesSiguiente' and '$ultimoDiaMesSiguiente')";
  403.             $stmt $em->getConnection()->prepare($sql);
  404.             $stmt->execute();
  405.             $permisosTroncalesCaducaProximo $stmt->fetchAll()[0]["total"];
  406.             $sql "SELECT COUNT(*) AS total
  407.             FROM requerimiento_permisos_troncales
  408.             inner join permisos_troncales on permisos_troncales.id = requerimiento_permisos_troncales.idpermisostroncales
  409.                 WHERE (requerimiento_permisos_troncales.subsanado = 0 or requerimiento_permisos_troncales.subsanado  is null)";
  410.             $stmt $em->getConnection()->prepare($sql);
  411.             $stmt->execute();
  412.             $requerimientosPendientesSubsanar $stmt->fetchAll()[0]["total"];
  413.       
  414.       
  415.         }
  416.         //Partes sin Revisar
  417.         /*ADMINISTRADOR*/
  418.         //if ($this->getUser()->getRol()->getId() == 1){
  419.             //Parte Almacen
  420.             $sql "SELECT COUNT(*) AS total FROM partealmacen WHERE revision = 0";
  421.             $stmt $em->getConnection()->prepare($sql);
  422.             $stmt->execute();
  423.             $partealmacen $stmt->fetchAll()[0]["total"];
  424.             //Parte Troncal
  425.             $sql "SELECT COUNT(*) AS total FROM parte WHERE revision = 0";
  426.             $stmt $em->getConnection()->prepare($sql);
  427.             $stmt->execute();
  428.             $partetroncal $stmt->fetchAll()[0]["total"];
  429.             //Parte CPD
  430.             $sql "SELECT COUNT(*) AS total FROM partecpd WHERE revision = 0";
  431.             $stmt $em->getConnection()->prepare($sql);
  432.             $stmt->execute();
  433.             $partecpd $stmt->fetchAll()[0]["total"];
  434.             //Parte FTTH
  435.             $sql "SELECT COUNT(*) AS total FROM parteftth WHERE revision = 0";
  436.             $stmt $em->getConnection()->prepare($sql);
  437.             $stmt->execute();
  438.             $parteftth $stmt->fetchAll()[0]["total"];
  439.             //Parte FUSIONADOR
  440.             $sql "SELECT COUNT(*) AS total FROM partefusionador WHERE revision = 0";
  441.             $stmt $em->getConnection()->prepare($sql);
  442.             $stmt->execute();
  443.             $partefusionador $stmt->fetchAll()[0]["total"];
  444.             //Parte IM
  445.             $sql "SELECT COUNT(*) AS total FROM parteim WHERE revision = 0";
  446.             $stmt $em->getConnection()->prepare($sql);
  447.             $stmt->execute();
  448.             $parteim $stmt->fetchAll()[0]["total"];
  449.             //Parte PEX
  450.             $sql "SELECT COUNT(*) AS total FROM partepex WHERE revision = 0";
  451.             $stmt $em->getConnection()->prepare($sql);
  452.             $stmt->execute();
  453.             $partepex $stmt->fetchAll()[0]["total"];
  454.         //}
  455.         
  456.         return $this->render('login/home.html.twig',[
  457.             'usuariosSinDocumentacion' => $usuariosSinDocumentacion,
  458.             'usuariosCaducaMes' => $usuariosCaducaMes,
  459.             'usuariosCaducaProximo' => $usuariosCaducaProximo,
  460.             'usuariosDocPendiente' => $usuariosDocPendiente,
  461.             'maquinariasSinDocumentacion' => $maquinariasSinDocumentacion,
  462.             'maquinariasCaducaMes' => $maquinariasCaducaMes,
  463.             'maquinariasCaducaProximo' => $maquinariasCaducaProximo,
  464.             'maquinariasDocPendiente' => $maquinariasDocPendiente,
  465.             'usuariosBaja' => $usuariosBaja,
  466.             'proyectosSinDocumentacion' => $proyectosSinDocumentacion,
  467.             'proyectosCaducaMes' => $proyectosCaducaMes,
  468.             'proyectosCaducaProximo' => $proyectosCaducaProximo,
  469.             'proyectosDocPendiente' => $proyectosDocPendiente,
  470.             'incidenciasSinResolver' => $incidenciasSinResolver,
  471.             'equiposprevencionCaducaMes' => $equiposprevencionCaducaMes,
  472.             'equiposprevencionCaducaProximo' => $equiposprevencionCaducaProximo,
  473.             'medidaprevencionSinRealizar' => $medidaprevencionSinRealizar,
  474.             'medidaprevencionCaducaMes' => $medidaprevencionCaducaMes,
  475.             'medidaprevencionCaducaProximo' => $medidaprevencionCaducaProximo,
  476.             'partealmacen' => $partealmacen,
  477.             'partetroncal' => $partetroncal,
  478.             'partecpd' => $partecpd,
  479.             'parteftth' => $parteftth,
  480.             'partefusionador' => $partefusionador,
  481.             'parteim' => $parteim,
  482.             'partepex' => $partepex,
  483.             'segurosCaducaMes'=>$segurosCaducaMes,
  484.             'segurosCaducaProximo'=>$segurosCaducaProximo,
  485.             'permisosTroncalesCaducaMes'=>$permisosTroncalesCaducaMes,
  486.             'permisosTroncalesCaducaProximo'=>$permisosTroncalesCaducaProximo,
  487.             'requerimientosPendientesSubsanar'=>$requerimientosPendientesSubsanar
  488.         ]);
  489.     }
  490.     
  491.     
  492. }