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) { 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 return this.operadorService
.informacionOperador(modulo.institucion, operador) .informacionOperador(modulo.institucion, operador)

View File

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

View File

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

View File

@ -24,8 +24,8 @@ export class ModuloService {
) {} ) {}
async create(admin: Operador, modulo: string) { async create(admin: Operador, modulo: string) {
return this.existeModulo(admin.institucion, modulo) return this.findModulo(admin.institucion, modulo, true)
.then(() => .then((_) =>
this.repository.save( this.repository.save(
this.repository.create({ this.repository.create({
institucion: admin.institucion, 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) { findById(id_modulo: number) {
return this.repository.findOne({ where: { id_modulo } }).then((modulo) => { return this.repository.findOne({ where: { id_modulo } }).then((modulo) => {
if (!modulo) throw new NotFoundException('No existe este id módulo.'); 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) { findInfoModuloById(id_modulo: number) {
return this.informacionModuloView return this.informacionModuloView
.findOne({ where: { id_modulo } }) .findOne({ where: { id_modulo } })
@ -91,28 +53,7 @@ export class ModuloService {
throw new NotFoundException('No existe este id módulo.'); throw new NotFoundException('No existe este id módulo.');
return this.repository.create({ return this.repository.create({
id_modulo: infoModulo.id_modulo, id_modulo: infoModulo.id_modulo,
institucion: { institucion: { id_institucion: infoModulo.id_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,
},
}); });
}); });
} }
@ -139,7 +80,6 @@ export class ModuloService {
modulo: infoModulos[i].modulo, modulo: infoModulos[i].modulo,
institucion: { institucion: {
id_institucion: infoModulos[i].id_institucion, id_institucion: infoModulos[i].id_institucion,
activo: infoModulos[i].activo_institucion === 1,
institucion: infoModulos[i].institucion, 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>) { update(admin: Operador, attrs: Partial<Modulo>) {
return this.findInfoModuloById(attrs.id_modulo) return this.findInfoModuloById(attrs.id_modulo)
.then(async (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.', 'No puedes actualizar la información de este módulo porque no le pertenece a tu institución.',
); );
if (attrs.modulo) if (attrs.modulo)
await this.existeModulo(modulo.institucion, attrs.modulo); await this.findModulo(modulo.institucion, attrs.modulo, true);
Object.assign(modulo, attrs); Object.assign(modulo, attrs);
return this.repository.save(modulo); return this.repository.save(modulo);
}) })

View File

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