From fdc8a947c886050636a625d6077e83c3e78aa129 Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Tue, 27 Jan 2026 16:57:03 -0600 Subject: [PATCH] modified get findActive --- src/equipo/equipo.service.ts | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/src/equipo/equipo.service.ts b/src/equipo/equipo.service.ts index 4c48fdd..2cb51d7 100644 --- a/src/equipo/equipo.service.ts +++ b/src/equipo/equipo.service.ts @@ -21,13 +21,32 @@ export class EquipoService { findActive() { return this.equipoRepository .createQueryBuilder('equipo') - .where('equipo.activo = :activo', { activo: 1 }) - .innerJoinAndSelect('equipo.plataforma', 'p') - .innerJoinAndSelect('equipo.areaUbicacion', 'a') + .select([ + 'equipo.id_equipo AS id_equipo', + 'equipo.nombre_equipo AS nombre_equipo', + 'equipo.ubicacion AS ubicacion', + 'equipo.ip AS ip', + 'p.nombre AS plataforma', + 'a.area AS area', + ` + EXISTS ( + SELECT 1 + FROM bitacora b + WHERE b.id_equipo = equipo.id_equipo + AND TIMESTAMPDIFF( + SECOND, + NOW(), + DATE_ADD(b.tiempo_entrada, INTERVAL b.tiempo_asignado MINUTE) + ) > 0 + ) AS ocupado + `, + ]) + .innerJoin('equipo.plataforma', 'p') + .innerJoin('equipo.areaUbicacion', 'a') + .where('equipo.activo = 1') .orderBy('equipo.ubicacion', 'ASC') - .getMany(); + .getRawMany(); } - findDisable() { return this.equipoRepository .createQueryBuilder('equipo')