add reports for academics
This commit is contained in:
@@ -49,6 +49,22 @@ export class ParticipacionService {
|
||||
return result;
|
||||
}
|
||||
|
||||
async getParticipacionAcademico(): Promise<SelectQueryBuilder<any>> {
|
||||
const result = await this.reportesRepository
|
||||
.createQueryBuilder('usuarios')
|
||||
.select('COUNT(DISTINCT usuarios.id)', 'Participacion Trabajadores')
|
||||
.addSelect(
|
||||
`
|
||||
(COUNT(DISTINCT usuarios.id) * 100.0 / (SELECT COUNT(*) FROM usuarios WHERE usuarios.tipo_usuario_id = 4)) AS PorcentajeParticipacion
|
||||
`,
|
||||
)
|
||||
.innerJoin('usuarios.comentarios', 'clp')
|
||||
.where('usuarios.tipo_usuario_id = 4')
|
||||
.getRawOne();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
async getTotalUsuarios(): Promise<ParticipacionAlumno[]> {
|
||||
const queryBuilder =
|
||||
await this.tUReportesRepository.createQueryBuilder('tu');
|
||||
|
||||
@@ -1,26 +1,37 @@
|
||||
import { Controller, Get } from '@nestjs/common';
|
||||
import { Controller, Get, UseGuards } from "@nestjs/common";
|
||||
import { ParticipacionAlumno } from './ParticipacionAlumno.interface';
|
||||
import { ParticipacionService } from './participacionAlumno.service';
|
||||
import { AuthGuard } from "../auth/auth.guard";
|
||||
|
||||
@Controller('reportes')
|
||||
export class ReportesController {
|
||||
constructor(private readonly participacionService: ParticipacionService) {}
|
||||
|
||||
@UseGuards(AuthGuard)
|
||||
@Get('participacionAlumnos')
|
||||
async geParticipacionAlumno(): Promise<ParticipacionAlumno[]> {
|
||||
return this.participacionService.getParticipacionAlumno();
|
||||
}
|
||||
|
||||
@UseGuards(AuthGuard)
|
||||
@Get('participacionTrabajador')
|
||||
async geParticipacionTrabajador(): Promise<any> {
|
||||
return this.participacionService.getParticipacionTrabajador();
|
||||
}
|
||||
|
||||
@UseGuards(AuthGuard)
|
||||
@Get('participacionAcademico')
|
||||
async geParticipacionAcademico(): Promise<any> {
|
||||
return this.participacionService.getParticipacionAcademico();
|
||||
}
|
||||
|
||||
@UseGuards(AuthGuard)
|
||||
@Get('totalParticipantes')
|
||||
async getTotalParticipantes(): Promise<ParticipacionAlumno[]> {
|
||||
return this.participacionService.getTotalUsuarios();
|
||||
}
|
||||
|
||||
@UseGuards(AuthGuard)
|
||||
@Get('totalAlumnosPorCarrera')
|
||||
async getTotalAlumnosPorCarrera(): Promise<ParticipacionAlumno[]> {
|
||||
return this.participacionService.getTotalAlumnos();
|
||||
|
||||
Reference in New Issue
Block a user