Compare commits
3 Commits
v1.1
..
development
| Author | SHA1 | Date | |
|---|---|---|---|
| 25e86d2eb2 | |||
| f77bb4b5ce | |||
| e10a06e1ff |
@@ -5,6 +5,8 @@ import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { UsuarioEntity } from '../entities/usuario.entity';
|
||||
import { TipoUsuarioEntity } from '../entities/tipoUsuario.entity';
|
||||
import { Carrera } from '../entities/carreras.entity';
|
||||
import { ComentarioLineasProgramaticas } from '../entities/comentarioLineasProgramaticas.entity';
|
||||
import { LineaProgramatica } from '../entities/LineaProgramatica.entity';
|
||||
|
||||
@Injectable()
|
||||
export class ParticipacionService {
|
||||
@@ -15,6 +17,8 @@ export class ParticipacionService {
|
||||
private readonly tUReportesRepository: Repository<any>,
|
||||
@InjectRepository(Carrera)
|
||||
private readonly carrearasReportesRepository: Repository<any>,
|
||||
@InjectRepository(ComentarioLineasProgramaticas)
|
||||
private readonly comentarioLineaProgramaticaReportesRepository: Repository<any>,
|
||||
) {}
|
||||
|
||||
async getParticipacionAlumno(): Promise<ParticipacionAlumno[]> {
|
||||
@@ -88,4 +92,27 @@ export class ParticipacionService {
|
||||
.groupBy('c.id, c.nombre')
|
||||
.getRawMany()) as any[]; // Cast to
|
||||
}
|
||||
|
||||
async getReporteGeneral(): Promise<any> {
|
||||
const result = await this.comentarioLineaProgramaticaReportesRepository
|
||||
.createQueryBuilder('clp')
|
||||
.innerJoin('clp.lineaProgramatica', 'lp')
|
||||
.innerJoin('lp.ejeEstrategico', 'ee')
|
||||
.innerJoin('clp.usuario', 'u')
|
||||
.innerJoin('u.tipoUsuario', 'tu')
|
||||
.leftJoin('u.carrera', 'c')
|
||||
.select([
|
||||
'clp.id as Id_Comentario',
|
||||
'clp.comentario as Comentario',
|
||||
'lp.descripcion AS Linea_Programatica',
|
||||
'ee.nombre AS Eje_Estrategico',
|
||||
'ee.objetivo as Objetivo',
|
||||
'u.numero_identificacion AS numero_Cuenta_O_Trabajador',
|
||||
'tu.tipo as Tipo',
|
||||
"CASE WHEN tu.id = 2 THEN c.nombre ELSE 'No aplica' END AS carrera",
|
||||
])
|
||||
.getRawMany();
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,4 +36,10 @@ export class ReportesController {
|
||||
async getTotalAlumnosPorCarrera(): Promise<ParticipacionAlumno[]> {
|
||||
return this.participacionService.getTotalAlumnos();
|
||||
}
|
||||
|
||||
@UseGuards(AuthGuard)
|
||||
@Get('reporteGeneral')
|
||||
async getReporteGeneral(): Promise<any> {
|
||||
return this.participacionService.getReporteGeneral();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,10 +5,12 @@ import { ReportesController } from './reportes.controller';
|
||||
import { UsuarioEntity } from '../entities/usuario.entity';
|
||||
import { TipoUsuarioEntity } from '../entities/tipoUsuario.entity';
|
||||
import { Carrera } from '../entities/carreras.entity';
|
||||
import { LineaProgramatica } from "../entities/LineaProgramatica.entity";
|
||||
import { ComentarioLineasProgramaticas } from "../entities/comentarioLineasProgramaticas.entity";
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
TypeOrmModule.forFeature([UsuarioEntity, TipoUsuarioEntity, Carrera]),
|
||||
TypeOrmModule.forFeature([UsuarioEntity, TipoUsuarioEntity, Carrera, ComentarioLineasProgramaticas]),
|
||||
],
|
||||
providers: [ParticipacionService],
|
||||
controllers: [ReportesController],
|
||||
|
||||
Reference in New Issue
Block a user