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')