vista con solo id_modulo

This commit is contained in:
xXpuma99Xx
2022-09-25 11:18:06 -05:00
parent 1c95f8c8d0
commit 9723e1b0d7
9 changed files with 97 additions and 32 deletions
+29 -9
View File
@@ -8,6 +8,7 @@ import { Repository } from 'typeorm';
import { Institucion } from '../institucion/entity/institucion.entity';
import { Modulo } from './entity/modulo.entity';
import { InformacionModuloView } from './entity/views/informacion-modulo.view';
import { MinInformacionModuloView } from './entity/views/min-informacion-modulo.view';
import { Operador } from '../operador/entity/operador.entity';
import { InstitucionService } from '../institucion/institucion.service';
@@ -17,6 +18,8 @@ export class ModuloService {
@InjectRepository(Modulo) private repository: Repository<Modulo>,
@InjectRepository(InformacionModuloView)
private informacionModuloView: Repository<InformacionModuloView>,
@InjectRepository(MinInformacionModuloView)
private minInformacionModuloView: Repository<MinInformacionModuloView>,
private institucionService: InstitucionService,
) {}
@@ -41,7 +44,7 @@ export class ModuloService {
? await this.institucionService.findInfoInstitucionById(id_institucion)
: id_institucion;
return this.informacionModuloView
return this.minInformacionModuloView
.findOne({
where: { id_institucion: institucion.id_institucion, modulo },
})
@@ -88,26 +91,42 @@ export class ModuloService {
throw new NotFoundException('No existe este id módulo.');
return this.repository.create({
id_modulo: infoModulo.id_modulo,
activo: infoModulo.activo === 1,
modulo: infoModulo.modulo,
institucion: {
id_institucion: infoModulo.id_institucion,
institucion: infoModulo.institucion,
},
});
});
}
async findInfoModuloAll(id_institucion: number, activo = 0) {
findMinInfoModuloById(id_modulo: number) {
return this.minInformacionModuloView
.findOne({ where: { id_modulo } })
.then((infoModulo) => {
if (!infoModulo)
throw new NotFoundException('No existe este id módulo.');
return this.repository.create({
id_modulo: infoModulo.id_modulo,
activo: infoModulo.activo_modulo === 1,
modulo: infoModulo.modulo,
institucion: {
id_institucion: infoModulo.id_institucion,
institucion: infoModulo.institucion,
activo: infoModulo.activo_institucion === 1,
},
});
});
}
async findMinInfoModuloAll(id_institucion: number, activo = 0) {
return this.institucionService
.findInfoInstitucionById(id_institucion)
.then((institucion) => {
const busqueda: { id_institucion: number; activo?: number } = {
const busqueda: { id_institucion: number; activo_modulo?: number } = {
id_institucion: institucion.id_institucion,
};
if (activo) busqueda.activo = activo;
return this.informacionModuloView.find({
if (activo) busqueda.activo_modulo = activo;
return this.minInformacionModuloView.find({
where: busqueda,
order: { modulo: 'ASC' },
});
@@ -119,10 +138,11 @@ export class ModuloService {
modulos.push(
this.repository.create({
id_modulo: infoModulos[i].id_modulo,
activo: infoModulos[i].activo === 1,
activo: infoModulos[i].activo_modulo === 1,
modulo: infoModulos[i].modulo,
institucion: {
id_institucion: infoModulos[i].id_institucion,
activo: infoModulos[i].activo_institucion === 1,
institucion: infoModulos[i].institucion,
},
}),