new ep sancion

This commit is contained in:
2026-02-23 14:14:50 -06:00
parent 075a637b8d
commit 8c69da9999
4 changed files with 47 additions and 5 deletions
+1
View File
@@ -70,6 +70,7 @@ export class AlumnoService {
if (!student) {
throw new NotFoundException(`Numero de cuenta ${id_cuenta} no existente`);
}
const sancion = await this.alumnoSancionService.findSancion(id_cuenta)
if (sancion) {
@@ -20,7 +20,7 @@ export class AlumnoInscritoController {
}
@Get("/inscritos/:idPeriodo")
async findAllInscritos(@Param('idPeriodo') idPeriodo:number) {
async findAllInscritos(@Param('idPeriodo') idPeriodo: number) {
return this.alumnoInscritoService.findAllInscritos(idPeriodo);
}
@@ -40,11 +40,19 @@ export class AlumnoInscritoController {
}
@Get(':id_cuenta')
async findByIdWhitoud(
@Param('id_cuenta') id_cuenta: number,
): Promise<AlumnoInscrito[]> {
return this.alumnoInscritoService.findByIdWhitoud(id_cuenta);
}
@Get(':id_cuenta/sancion')
async findById(
@Param('id_cuenta') id_cuenta: number,
): Promise<AlumnoInscrito[]> {
return this.alumnoInscritoService.findById(id_cuenta);
}
//pruebas borrar
@Patch('platica/:idCuenta/:idPeriodo/:idPlataforma')
marcarPlatica(
@@ -1,15 +1,17 @@
import { Module } from '@nestjs/common';
import { forwardRef, Module } from '@nestjs/common';
import { AlumnoInscritoService } from './alumno_inscrito.service';
import { AlumnoInscritoController } from './alumno_inscrito.controller';
import { TypeOrmModule } from '@nestjs/typeorm';
import { AlumnoInscrito, Plataforma } from './entities/alumno_inscrito.entity';
import { BitacoraMesa } from 'src/bitacora_mesa/entities/bitacora_mesa.entity';
import { PeriodoModule } from 'src/periodo/periodo.module';
import { AlumnoSancionModule } from 'src/alumno_sancion/alumno_sancion.module';
@Module({
imports: [TypeOrmModule.forFeature([AlumnoInscrito,Plataforma,BitacoraMesa]),PeriodoModule],
imports: [TypeOrmModule.forFeature([AlumnoInscrito, Plataforma, BitacoraMesa]), PeriodoModule,
forwardRef(() => AlumnoSancionModule),],
controllers: [AlumnoInscritoController],
providers: [AlumnoInscritoService],
exports:[AlumnoInscritoService]
exports: [AlumnoInscritoService]
})
export class AlumnoInscritoModule {}
export class AlumnoInscritoModule { }
@@ -1,5 +1,8 @@
import {
BadRequestException,
ForbiddenException,
forwardRef,
Inject,
Injectable,
NotFoundException,
} from '@nestjs/common';
@@ -8,6 +11,7 @@ import { AlumnoInscrito, Plataforma } from './entities/alumno_inscrito.entity';
import { InjectRepository } from '@nestjs/typeorm';
import { EntityManager, Repository } from 'typeorm';
import { PeriodoService } from 'src/periodo/periodo.service';
import { AlumnoSancionService } from 'src/alumno_sancion/alumno_sancion.service';
@Injectable()
export class AlumnoInscritoService {
@@ -17,6 +21,9 @@ export class AlumnoInscritoService {
@InjectRepository(Plataforma)
private readonly plataformaRepo: Repository<Plataforma>,
private readonly periodoService: PeriodoService,
@Inject(forwardRef(() => AlumnoSancionService))
private readonly alumnoSancionService: AlumnoSancionService,
) { }
async createWhitoutPay(
@@ -89,6 +96,30 @@ export class AlumnoInscritoService {
}
async findById(id_cuenta: number): Promise<AlumnoInscrito[]> {
const sancion = await this.alumnoSancionService.findSancion(id_cuenta)
if (sancion) {
throw new ForbiddenException('El usuario se encuentra sancionado')
}
const students = await this.alumnoInscritoRepo
.createQueryBuilder('ai')
.leftJoinAndSelect('ai.alumno', 'alumno')
.leftJoinAndSelect('ai.periodo', 'periodo')
.leftJoinAndSelect('ai.plataforma', 'plataforma')
.where('alumno.id_cuenta = :id_cuenta', { id_cuenta })
.andWhere("periodo.activo = b'1'")
.getMany();
if (students.length === 0) {
throw new NotFoundException('Estudiante no inscrito en el periodo actual');
}
return students;
}
async findByIdWhitoud(id_cuenta: number): Promise<AlumnoInscrito[]> {
const students = await this.alumnoInscritoRepo
.createQueryBuilder('ai')
.leftJoinAndSelect('ai.alumno', 'alumno')