Merge branch 'Axel' of repositorio.acatlan.unam.mx:IO/api-AT
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { Controller, Get, Post, Body, Param, Patch, UseGuards } from '@nestjs/common';
|
||||
import { Controller, Get, Post, Body, Param, Patch, UseGuards, ParseIntPipe } from '@nestjs/common';
|
||||
import { AlumnoInscritoService } from './alumno_inscrito.service';
|
||||
import {
|
||||
CreateAlumnoInscritoDto,
|
||||
@@ -58,4 +58,12 @@ export class AlumnoInscritoController {
|
||||
): Promise<AlumnoInscrito[]> {
|
||||
return this.alumnoInscritoService.findById(id_cuenta);
|
||||
}
|
||||
|
||||
@Get('inscritos/:inicio/:fin')
|
||||
findAllInscritosByRango(
|
||||
@Param('inicio', ParseIntPipe) inicio: number,
|
||||
@Param('fin', ParseIntPipe) fin: number,
|
||||
) {
|
||||
return this.alumnoInscritoService.findAllInscritosByRango(inicio, fin);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,10 +71,11 @@ async findAllInscritos(idPeriodo: number) {
|
||||
.where('periodo.id_periodo = :idPeriodo', { idPeriodo })
|
||||
.select([
|
||||
'carrera.carrera AS carrera',
|
||||
'periodo.semestre AS semestre',
|
||||
'plataforma.nombre AS profesor',
|
||||
'COUNT(DISTINCT CASE WHEN alumno.genero IN (\'F\', \'Femenino\') THEN alumno.id_cuenta END) AS femenino',
|
||||
'COUNT(DISTINCT CASE WHEN alumno.genero IN (\'M\', \'Masculino\') THEN alumno.id_cuenta END) AS masculino',
|
||||
'COUNT(DISTINCT alumno.id_cuenta) AS total'
|
||||
'COUNT(DISTINCT alumno.id_cuenta) AS total'
|
||||
])
|
||||
.groupBy('carrera.carrera')
|
||||
.addGroupBy('plataforma.nombre')
|
||||
@@ -193,7 +194,7 @@ async findAllInscritos(idPeriodo: number) {
|
||||
}
|
||||
}
|
||||
|
||||
//Borrar
|
||||
|
||||
async addTimeBorrar(
|
||||
idCuenta: number,
|
||||
idPlataforma: number,
|
||||
@@ -230,4 +231,43 @@ async findAllInscritos(idPeriodo: number) {
|
||||
const create = repo.create(data);
|
||||
return await repo.save(create);
|
||||
}
|
||||
|
||||
async findAllInscritosByRango(
|
||||
idPeriodoInicio: number,
|
||||
idPeriodoFin: number,
|
||||
) {
|
||||
return this.alumnoInscritoRepo
|
||||
.createQueryBuilder('inscritos')
|
||||
.innerJoin('inscritos.alumno', 'alumno')
|
||||
.innerJoin('alumno.carrera', 'carrera')
|
||||
.innerJoin('inscritos.plataforma', 'plataforma')
|
||||
.innerJoin('inscritos.periodo', 'periodo')
|
||||
.where('periodo.id_periodo BETWEEN :inicio AND :fin', {
|
||||
inicio: idPeriodoInicio,
|
||||
fin: idPeriodoFin,
|
||||
})
|
||||
.select([
|
||||
'periodo.id_periodo AS id_periodo',
|
||||
'periodo.semestre AS semestre',
|
||||
'carrera.carrera AS carrera',
|
||||
'plataforma.nombre AS profesor',
|
||||
|
||||
`COUNT(DISTINCT CASE
|
||||
WHEN alumno.genero IN ('F', 'Femenino')
|
||||
THEN alumno.id_cuenta
|
||||
END) AS femenino`,
|
||||
|
||||
`COUNT(DISTINCT CASE
|
||||
WHEN alumno.genero IN ('M', 'Masculino')
|
||||
THEN alumno.id_cuenta
|
||||
END) AS masculino`,
|
||||
|
||||
'COUNT(DISTINCT alumno.id_cuenta) AS total',
|
||||
])
|
||||
.groupBy('periodo.id_periodo')
|
||||
.addGroupBy('carrera.carrera')
|
||||
.addGroupBy('plataforma.nombre')
|
||||
.orderBy('periodo.id_periodo', 'ASC')
|
||||
.getRawMany();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user