diff --git a/src/equipo/equipo.service.ts b/src/equipo/equipo.service.ts index e2a6080..48f47d1 100644 --- a/src/equipo/equipo.service.ts +++ b/src/equipo/equipo.service.ts @@ -1137,6 +1137,9 @@ export class EquipoService { qb.andWhere('adscripcion.id_adscripcion IN (:...adscripciones)', { adscripciones: filtros.adscripciones }) + .addSelect('adscripcion.adscripcion', 'adscripcion') + .groupBy('equipo.adscripcion') + } if (filtros?.procesadores?.length) { @@ -1157,9 +1160,9 @@ export class EquipoService { }) } - if(filtros?.antiguedad?.length){ - qb.andWhere('equipo.antiguedad IN (:...antiguedad)',{ - antiguedad:filtros.antiguedad + if (filtros?.antiguedad?.length) { + qb.andWhere('equipo.antiguedad IN (:...antiguedad)', { + antiguedad: filtros.antiguedad }) } @@ -1171,8 +1174,21 @@ export class EquipoService { qb.select('equipo.antiguedad', 'antiguedad') .addSelect('COUNT(*)', 'total') - .groupBy('equipo.antiguedad') - .orderBy(` + + if (filtros?.adscripciones?.length) { + + qb.addSelect('adscripcion.adscripcion', 'adscripcion') + + qb.groupBy('equipo.antiguedad') + .addGroupBy('adscripcion.adscripcion') + + } else { + + qb.groupBy('equipo.antiguedad') + + } + + qb.orderBy(` CASE WHEN equipo.antiguedad = 'Menor a 2 años' THEN 1 WHEN equipo.antiguedad = 'Entre 2 y 3 años' THEN 2 @@ -1187,7 +1203,21 @@ export class EquipoService { qb.select('tipoUso.tipo_uso', 'uso') .addSelect('COUNT(*)', 'total') - .groupBy('tipoUso.tipo_uso') + + if (filtros?.adscripciones?.length) { + + qb.addSelect('adscripcion.adscripcion', 'adscripcion') + + qb.groupBy('tipoUso.tipo_uso') + .addGroupBy('adscripcion.adscripcion') + + } else { + + qb.groupBy('tipoUso.tipo_uso') + + } + + qb.orderBy(`equipo.adscripcion`) break @@ -1195,7 +1225,21 @@ export class EquipoService { qb.select('sistemaOperativo.sistema_operativo', 'so') .addSelect('COUNT(*)', 'total') - .groupBy('sistemaOperativo.sistema_operativo') + + if (filtros?.adscripciones?.length) { + + qb.addSelect('adscripcion.adscripcion', 'adscripcion') + + qb.groupBy('sistemaOperativo.sistema_operativo') + .addGroupBy('adscripcion.adscripcion') + + } else { + + qb.groupBy('sistemaOperativo.sistema_operativo') + + } + qb.orderBy(`equipo.adscripcion`) + break @@ -1203,7 +1247,20 @@ export class EquipoService { qb.select('procesador.procesador', 'procesador') .addSelect('COUNT(*)', 'total') - .groupBy('procesador.procesador') + + if (filtros?.adscripciones?.length) { + + qb.addSelect('adscripcion.adscripcion', 'adscripcion') + + qb.groupBy('procesador.procesador') + .addGroupBy('adscripcion.adscripcion') + + } else { + + qb.groupBy('procesador.procesador') + + } + qb.orderBy(`equipo.adscripcion`) break