equipo tipo entrada actualizado

This commit is contained in:
2022-10-15 17:29:24 -05:00
parent 449e2acb5d
commit ace78c2a62
6 changed files with 132 additions and 89 deletions
+28 -26
View File
@@ -46,24 +46,24 @@ export class EquipoProgramaService {
'No puedes modificar la información este equipo porque no pertenece a tu institución.',
);
// Verifica que no eixsta un registro con estos ids
return this.findInfoEquipoProgramaByIdEquipoIdPrograma(
equipo.id_equipo,
programa.id_programa,
).then((existeEquipoPrograma) => {
// Error si existe
if (existeEquipoPrograma)
throw new ConflictException(
'Este software ya fue asignado a este equipo.',
);
// Creo registro
return this.create(equipo, programa);
});
return this.findInfoEquipoProgramaByEquipoPrograma(equipo, programa).then(
(existeEquipoPrograma) => {
// Error si existe
if (existeEquipoPrograma)
throw new ConflictException(
'Este software ya fue asignado a este equipo.',
);
// Creo registro
return this.create(equipo, programa);
},
);
}
async create(equipo: Equipo, programa: Programa) {
create(equipo: Equipo, programa: Programa) {
// Ver si tiene programa "Sin programa"
return this.findInfoEquipoProgramaByIdEquipoIdPrograma(equipo.id_equipo, 1)
return this.findInfoEquipoProgramaByEquipoPrograma(equipo, {
id_programa: 1,
})
.then(async (existeEquipoSinPrograma) => {
// Si tiene lo elimino
if (existeEquipoSinPrograma)
@@ -79,7 +79,7 @@ export class EquipoProgramaService {
}));
}
async createSinPrograma(equipo: Equipo) {
createSinPrograma(equipo: Equipo) {
return this.repository.save(
this.repository.create({ equipo, programa: { id_programa: 1 } }),
);
@@ -136,14 +136,17 @@ export class EquipoProgramaService {
findInfoEquipoProgramaById(id_equipo_programa: number) {
return this.informacionEquipoProgramaView
.findOne({ where: { id_equipo_programa } })
.then((infoEquipoPrograma) =>
this.repository.create({
.then((infoEquipoPrograma) => {
if (!infoEquipoPrograma)
throw new ConflictException('No existe este id equipo programa.');
return this.repository.create({
id_equipo_programa: infoEquipoPrograma.id_equipo_programa,
equipo: {
id_equipo: infoEquipoPrograma.id_equipo,
carrito: {
id_carrito: infoEquipoPrograma.id_carrito,
modulo: {
id_modulo: infoEquipoPrograma.id_modulo,
institucion: {
id_institucion: infoEquipoPrograma.id_institucion,
},
@@ -153,16 +156,15 @@ export class EquipoProgramaService {
},
},
},
}),
);
programa: { id_programa: infoEquipoPrograma.id_programa },
});
});
}
findInfoEquipoProgramaByIdEquipoIdPrograma(
id_equipo: number,
id_programa: number,
findInfoEquipoProgramaByEquipoPrograma(
equipo: Equipo,
programa: Programa | Partial<Programa>,
) {
return this.repository.findOne({
where: { equipo: { id_equipo }, programa: { id_programa } },
});
return this.repository.findOne({ where: { equipo, programa } });
}
}