institucion final

This commit is contained in:
xXpuma99Xx
2022-10-04 15:38:15 -05:00
parent 4aebd06b6d
commit 9084d5eeda
12 changed files with 47 additions and 137 deletions
-4
View File
@@ -80,8 +80,6 @@ import { FullInformacionEquipoProgramaView } from './equipo-programa/entity/view
import { InformacionEquipoProgramaView } from './equipo-programa/entity/views/informacion-equipo-programa.view';
import { FullInformacionEquipoTipoEntradaView } from './equipo-tipo-entrada/entity/views/full-informacion-equipo-tipo-entrada.view';
import { InformacionEquipoTipoEntradaView } from './equipo-tipo-entrada/entity/views/informacion-equipo-tipo-entrada.view';
import { InformacionInstitucionView } from './institucion/entity/views/informacion-institucion.view';
import { MinInformacionInstitucionView } from './institucion/entity/views/min-informacion-institucion.view';
import { InformacionModuloView } from './modulo/entity/views/informacion-modulo.view';
import { MinInformacionModuloView } from './modulo/entity/views/min-informacion-modulo.view';
import { FullInformacionMultaView } from './multa/entity/views/full-informacion-multa.view';
@@ -159,8 +157,6 @@ import { InformacionUsuarioView } from './usuario/entity/views/informacion-usuar
InformacionEquipoProgramaView,
FullInformacionEquipoTipoEntradaView,
InformacionEquipoTipoEntradaView,
InformacionInstitucionView,
MinInformacionInstitucionView,
InformacionModuloView,
MinInformacionModuloView,
FullInformacionMultaView,
@@ -93,7 +93,7 @@ export class CarreraProgramaService {
id_institucion: number,
) {
return this.institucionService
.findById(id_institucion)
.findInfoInstitucionById(id_institucion)
.then((institucion) => {
if (usuarioOperador instanceof Operador) {
if (
@@ -128,9 +128,7 @@ export class CarreraProgramaService {
i: 'ic.institucion',
},
},
where: {
institucionCarrera: { institucion },
},
where: { institucionCarrera: { institucion } },
});
});
}
@@ -17,7 +17,7 @@ export class InstitucionCarreraService {
findAllByIdInstitucion(id_institucion: number) {
return this.institucionService
.findById(id_institucion)
.findInfoInstitucionById(id_institucion)
.then((institucion) =>
this.institucionCarreraRepository.find({
where: {
@@ -78,7 +78,7 @@ export class InstitucionCarreraService {
findInstitucionProfesor(id_institucion: number) {
return this.institucionService
.findById(id_institucion)
.findInfoInstitucionById(id_institucion)
.then((institucion) =>
this.institucionCarreraRepository.findOne({
where: { carrera: { id_carrera: 1 }, institucion },
@@ -22,7 +22,7 @@ export class InstitucionDiaService {
findAllByIdInstitucion(id_institucion: number) {
return this.institucionService
.findById(id_institucion)
.findInfoInstitucionById(id_institucion)
.then((institucion) =>
this.repository.find({
where: { institucion },
@@ -62,7 +62,7 @@ export class InstitucionDiaService {
'No se puede pedir equipo de cómputo los sabados y domingos.',
);
return this.institucionService
.findById(id_institucion)
.findInfoInstitucionById(id_institucion)
.then((institucion) =>
this.findByInstitucionDia(institucion, ahora.weekday()),
);
@@ -54,7 +54,7 @@ export class InstitucionInfraccionService {
findAllByIdInstitucion(id_institucion: number) {
return this.institucionService
.findById(id_institucion)
.findInfoInstitucionById(id_institucion)
.then((institucion) =>
this.institucionInfraccionRepository
.createQueryBuilder('ii')
@@ -62,9 +62,7 @@ export class InstitucionInfraccionService {
.innerJoinAndSelect('ii.institucion', 'i')
.where(
'i.id_institucion = :id_institucion && inf.id_infraccion != 1',
{
id_institucion: institucion.id_institucion,
},
{ id_institucion: institucion.id_institucion },
)
.orderBy('inf.infraccion')
.getMany(),
@@ -1,15 +0,0 @@
import { DataSource, ViewEntity, ViewColumn } from 'typeorm';
import { Institucion } from '../institucion.entity';
@ViewEntity({
expression: (dataSource: DataSource) =>
dataSource
.createQueryBuilder()
.select('i.id_institucion', 'id_institucion')
.from(Institucion, 'i')
.orderBy('institucion', 'ASC'),
})
export class InformacionInstitucionView {
@ViewColumn()
id_institucion: number;
}
@@ -1,35 +0,0 @@
import { DataSource, ViewEntity, ViewColumn } from 'typeorm';
import { Institucion } from '../institucion.entity';
@ViewEntity({
expression: (dataSource: DataSource) =>
dataSource
.createQueryBuilder()
.select('i.id_institucion', 'id_institucion')
.addSelect('i.activo', 'activo')
.addSelect('i.correo', 'correo')
.addSelect('i.dominio', 'dominio')
.addSelect('i.institucion', 'institucion')
.addSelect('i.responsable', 'responsable')
.from(Institucion, 'i')
.orderBy('institucion', 'ASC'),
})
export class MinInformacionInstitucionView {
@ViewColumn()
id_institucion: number;
@ViewColumn()
activo: number;
@ViewColumn()
correo: string;
@ViewColumn()
dominio: string;
@ViewColumn()
institucion: string;
@ViewColumn()
responsable: string;
}
+2 -2
View File
@@ -41,7 +41,7 @@ export class InstitucionController {
description: 'Endpoint que retorna todas las instituciones activas.',
})
activas() {
return this.institucionService.findMinInfoInstitucionAll(1);
return this.institucionService.findMinInfoInstitucionAll(true);
}
@Serealize(InstitucionMinOutputDto)
@@ -99,7 +99,7 @@ export class InstitucionController {
const superAdmin: Operador = req.user.operador;
this.validarUsuarioService.validarSuperAdmin(superAdmin);
return this.institucionService.findMinInfoInstitucionAll(0, true);
return this.institucionService.findMinInfoInstitucionAll(false, true);
}
@Put()
+1 -7
View File
@@ -4,18 +4,12 @@ import { TypeOrmModule } from '@nestjs/typeorm';
import { InstitucionController } from './institucion.controller';
import { InstitucionService } from './institucion.service';
import { Institucion } from './entity/institucion.entity';
import { InformacionInstitucionView } from './entity/views/informacion-institucion.view';
import { MinInformacionInstitucionView } from './entity/views/min-informacion-institucion.view';
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
@Module({
imports: [
PassportModule.register({ defaultStrategy: 'jwt' }),
TypeOrmModule.forFeature([
Institucion,
InformacionInstitucionView,
MinInformacionInstitucionView,
]),
TypeOrmModule.forFeature([Institucion]),
ValidarUsuarioModule,
],
controllers: [InstitucionController],
+19 -45
View File
@@ -7,20 +7,13 @@ import { InjectRepository } from '@nestjs/typeorm';
import { FindOptionsWhere, IsNull, Not, Repository } from 'typeorm';
import { Institucion } from './entity/institucion.entity';
import { Operador } from '../operador/entity/operador.entity';
import { InformacionInstitucionView } from './entity/views/informacion-institucion.view';
import { MinInformacionInstitucionView } from './entity/views/min-informacion-institucion.view';
@Injectable()
export class InstitucionService {
constructor(
@InjectRepository(Institucion) private repository: Repository<Institucion>,
@InjectRepository(InformacionInstitucionView)
private informacionInstitucionView: Repository<InformacionInstitucionView>,
@InjectRepository(MinInformacionInstitucionView)
private minInformacionInstitucionView: Repository<MinInformacionInstitucionView>,
) {}
// Posiblemente desaparezca
findById(id_institucion: number) {
return this.repository
.findOne({ where: { id_institucion } })
@@ -32,54 +25,35 @@ export class InstitucionService {
}
findInfoInstitucionById(id_institucion: number) {
return this.informacionInstitucionView
.findOne({ where: { id_institucion } })
.then((infoInstitucion) => {
if (!infoInstitucion)
return this.repository
.findOne({ select: ['id_institucion'], where: { id_institucion } })
.then((institucion) => {
if (!institucion)
throw new NotFoundException('No existe este id institución.');
return this.repository.create({
id_institucion: infoInstitucion.id_institucion,
});
return institucion;
});
}
findInfoInstitucionAll() {
return this.informacionInstitucionView.find().then((infoInstituciones) => {
const instituciones: Institucion[] = [];
for (let i = 0; i < infoInstituciones.length; i++)
instituciones.push(
this.repository.create({
id_institucion: infoInstituciones[i].id_institucion,
}),
);
return instituciones;
});
return this.repository.find({ select: ['id_institucion'] });
}
findMinInfoInstitucionAll(activo = 0, responsable = false) {
const busqueda: FindOptionsWhere<MinInformacionInstitucionView> = {};
findMinInfoInstitucionAll(activo = false, responsable = false) {
const busqueda: FindOptionsWhere<Institucion> = {};
if (activo) busqueda.activo = activo;
if (responsable) busqueda.responsable = Not(IsNull());
return this.minInformacionInstitucionView
.find({ where: busqueda })
.then((infoInstituciones) => {
const instituciones: Institucion[] = [];
for (let i = 0; i < infoInstituciones.length; i++)
instituciones.push(
this.repository.create({
id_institucion: infoInstituciones[i].id_institucion,
activo: infoInstituciones[i].activo === 1,
correo: infoInstituciones[i].correo,
dominio: infoInstituciones[i].dominio,
institucion: infoInstituciones[i].institucion,
responsable: infoInstituciones[i].responsable,
}),
);
return instituciones;
});
return this.repository.find({
select: [
'id_institucion',
'activo',
'correo',
'dominio',
'institucion',
'responsable',
],
where: busqueda,
});
}
update(admin: Operador, attrs: Partial<Institucion>) {
+14 -14
View File
@@ -66,21 +66,21 @@ export class UploadFileController {
);
}
@Get('download-logo')
@UseGuards(AuthGuard('jwt'))
@ApiBearerAuth('jwt')
downloadLogo(
@Request() req,
@Response() res,
@Query() query: IdInstitucionDto,
) {
const operador: Operador = req.user.operador;
// @Get('download-logo')
// @UseGuards(AuthGuard('jwt'))
// @ApiBearerAuth('jwt')
// downloadLogo(
// @Request() req,
// @Response() res,
// @Query() query: IdInstitucionDto,
// ) {
// const operador: Operador = req.user.operador;
this.validarUsuarioService.validarAdminOperador(operador);
return this.uploadFileService
.downloadLogo(parseInt(query.id_institucion))
.then((logo) => res.download(logo));
}
// this.validarUsuarioService.validarAdminOperador(operador);
// return this.uploadFileService
// .downloadLogo(parseInt(query.id_institucion))
// .then((logo) => res.download(logo));
// }
@Get('download-plantilla-equipos')
@UseGuards(AuthGuard('jwt'))
+3 -3
View File
@@ -116,9 +116,9 @@ export class UploadFileService {
}
downloadLogo(id_institucion: number) {
return this.institucionService
.findById(id_institucion)
.then((institucion) => institucion.logo);
// return this.institucionService
// .findById(id_institucion)
// .then((institucion) => institucion.logo);
}
errorBase(index) {