42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
import { Injectable } from '@nestjs/common';
|
|
import { InjectRepository } from '@nestjs/typeorm';
|
|
import { AreaUbicacion } from './entities/area_ubicacion.entity';
|
|
import { Repository } from 'typeorm';
|
|
|
|
@Injectable()
|
|
export class AreaUbicacionService {
|
|
constructor(
|
|
@InjectRepository(AreaUbicacion)
|
|
private readonly areaUbicacionRepository: Repository<AreaUbicacion>,
|
|
) {}
|
|
|
|
findAll() {
|
|
return this.areaUbicacionRepository.find({ where: { extra: '0' } });
|
|
}
|
|
|
|
findOne(id_area_ubicacion: number) {
|
|
const area = this.areaUbicacionRepository.findOne({
|
|
where: { id_area_ubicacion },
|
|
});
|
|
|
|
if (!area) {
|
|
return 'this area dosnt exist';
|
|
}
|
|
|
|
return area;
|
|
}
|
|
|
|
findProgramsByArea(id_area_ubicacion: number) {
|
|
return this.areaUbicacionRepository
|
|
.createQueryBuilder('area')
|
|
.innerJoin('area.equipos', 'e')
|
|
.innerJoin('e.programaEquipos', 'p')
|
|
.select('DISTINCT p.id_programa', 'id_programa')
|
|
.where('area.id_area_ubicacion = :id_area_ubicacion', {
|
|
id_area_ubicacion,
|
|
})
|
|
.getRawMany();
|
|
}
|
|
}
|
|
//IO
|