modulo final

This commit is contained in:
xXpuma99Xx 2022-10-04 20:46:31 -05:00
parent 9084d5eeda
commit 79fbef48a8
5 changed files with 42 additions and 71 deletions

View File

@ -37,7 +37,7 @@ export class AuthService {
}
async loginOperador(id_modulo: number, operador: string, password: string) {
const modulo = await this.moduloService.findById(id_modulo);
const modulo = await this.moduloService.findInfoModuloById(id_modulo);
return this.operadorService
.informacionOperador(modulo.institucion, operador)

View File

@ -140,7 +140,7 @@ export class EquipoService {
? await this.modeloService.findById(parseInt(filtros.id_modelo), 'e')
: null;
const modulo = filtros.id_modulo
? await this.moduloService.findById(parseInt(filtros.id_modulo))
? await this.moduloService.findInfoModuloById(parseInt(filtros.id_modulo))
: null;
const programa = filtros.id_programa
? await this.institucionProgramaService.findProgramaById(

View File

@ -10,7 +10,6 @@ import { Institucion } from '../../../institucion/entity/institucion.entity';
.addSelect('m.activo', 'activo_modulo')
.addSelect('m.modulo', 'modulo')
.addSelect('m.id_institucion', 'id_institucion')
.addSelect('i.activo', 'activo_institucion')
.addSelect('i.institucion', 'institucion')
.from(Modulo, 'm')
.innerJoin(Institucion, 'i', 'i.id_institucion = m.id_institucion')
@ -21,9 +20,6 @@ export class MinInformacionModuloView {
@ViewColumn()
id_modulo: number;
@ViewColumn()
activo_institucion: number;
@ViewColumn()
activo_modulo: number;

View File

@ -24,8 +24,8 @@ export class ModuloService {
) {}
async create(admin: Operador, modulo: string) {
return this.existeModulo(admin.institucion, modulo)
.then(() =>
return this.findModulo(admin.institucion, modulo, true)
.then((_) =>
this.repository.save(
this.repository.create({
institucion: admin.institucion,
@ -38,25 +38,6 @@ export class ModuloService {
}));
}
async existeModulo(id_institucion: number | Institucion, modulo: string) {
const institucion =
typeof id_institucion === 'number'
? await this.institucionService.findInfoInstitucionById(id_institucion)
: id_institucion;
return this.minInformacionModuloView
.findOne({
where: { id_institucion: institucion.id_institucion, modulo },
})
.then((existeModulo) => {
if (existeModulo)
throw new ConflictException(
'Ya existe un módulo en esta institución con este nombre, intente con otro nombre.',
);
return;
});
}
findById(id_modulo: number) {
return this.repository.findOne({ where: { id_modulo } }).then((modulo) => {
if (!modulo) throw new NotFoundException('No existe este id módulo.');
@ -64,25 +45,6 @@ export class ModuloService {
});
}
async findModulo(
id_institucion: number | Institucion,
modulo: string,
validarNoExiste = true,
) {
const institucion =
typeof id_institucion === 'number'
? await this.institucionService.findInfoInstitucionById(id_institucion)
: id_institucion;
return this.repository
.findOne({ where: { institucion, modulo } })
.then((modulo) => {
if (validarNoExiste && !modulo)
throw new ConflictException('No existe este módulo.');
return modulo;
});
}
findInfoModuloById(id_modulo: number) {
return this.informacionModuloView
.findOne({ where: { id_modulo } })
@ -91,28 +53,7 @@ export class ModuloService {
throw new NotFoundException('No existe este id módulo.');
return this.repository.create({
id_modulo: infoModulo.id_modulo,
institucion: {
id_institucion: infoModulo.id_institucion,
},
});
});
}
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,
},
institucion: { id_institucion: infoModulo.id_institucion },
});
});
}
@ -139,7 +80,6 @@ export class ModuloService {
modulo: infoModulos[i].modulo,
institucion: {
id_institucion: infoModulos[i].id_institucion,
activo: infoModulos[i].activo_institucion === 1,
institucion: infoModulos[i].institucion,
},
}),
@ -148,6 +88,42 @@ export class ModuloService {
});
}
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,
},
});
});
}
findModulo(institucion: Institucion, modulo: string, validarExiste = false) {
return this.minInformacionModuloView
.findOne({
where: { id_institucion: institucion.id_institucion, modulo },
})
.then((infoModulo) => {
if (!infoModulo) return null;
if (validarExiste)
throw new ConflictException(
'Ya existe un módulo en esta institución con este nombre, intente con otro.',
);
return this.repository.create({
id_modulo: infoModulo.id_modulo,
institucion: { id_institucion: infoModulo.id_institucion },
});
});
}
update(admin: Operador, attrs: Partial<Modulo>) {
return this.findInfoModuloById(attrs.id_modulo)
.then(async (modulo) => {
@ -158,7 +134,7 @@ export class ModuloService {
'No puedes actualizar la información de este módulo porque no le pertenece a tu institución.',
);
if (attrs.modulo)
await this.existeModulo(modulo.institucion, attrs.modulo);
await this.findModulo(modulo.institucion, attrs.modulo, true);
Object.assign(modulo, attrs);
return this.repository.save(modulo);
})

View File

@ -194,7 +194,6 @@ export class UploadFileService {
const modulo = await this.moduloService.findModulo(
institucion,
dataEquipo.modulo,
false,
);
const marca = await this.marcaService.findByMarca(
dataEquipo.marca,