3 Commits

Author SHA1 Message Date
TheManus88 25e86d2eb2 comment id add to reporte general 2024-10-15 20:24:34 -06:00
TheManus88 f77bb4b5ce add security general report 2024-10-08 13:03:06 -06:00
TheManus88 e10a06e1ff reporte general 2024-10-08 13:02:11 -06:00
3 changed files with 36 additions and 1 deletions
@@ -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;
}
}
+6
View File
@@ -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();
}
}
+3 -1
View File
@@ -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],