institución infracción service final
This commit is contained in:
parent
1c9d1ce2de
commit
0563178460
@ -75,7 +75,7 @@ export class InstitucionDiaService {
|
||||
institucionDia.institucion.id_institucion
|
||||
)
|
||||
throw new ConflictException(
|
||||
'No puedes acceder a esta información porque no le pertenece a tu institución.',
|
||||
'No puedes modificar la información este día porque no pertenece a tu institución.',
|
||||
);
|
||||
// Validamos que hora_inicio no sea mayor a hora_fin
|
||||
if (
|
||||
|
@ -30,7 +30,9 @@ export class InstitucionInfraccion {
|
||||
@JoinColumn({ name: 'id_infraccion' })
|
||||
infraccion: Infraccion;
|
||||
|
||||
@ManyToOne(() => Institucion, (institucion) => institucion.infracciones)
|
||||
@ManyToOne(() => Institucion, (institucion) => institucion.infracciones, {
|
||||
eager: true,
|
||||
})
|
||||
@JoinColumn({ name: 'id_institucion' })
|
||||
institucion: Institucion;
|
||||
|
||||
|
@ -66,9 +66,7 @@ export class InstitucionInfraccionController {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.institucionInfraccionService.findAllByIdInstitucion(
|
||||
operador.institucion.id_institucion,
|
||||
);
|
||||
return this.institucionInfraccionService.findAllOperador(operador);
|
||||
}
|
||||
|
||||
@Serealize(MessageOutputDto)
|
||||
|
@ -6,10 +6,10 @@ import {
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { Not, Repository } from 'typeorm';
|
||||
import { Infraccion } from './entity/infraccion.entity';
|
||||
import { Institucion } from '../institucion/entity/institucion.entity';
|
||||
import { InstitucionInfraccion } from './entity/institucion-infraccion.entity';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { InstitucionService } from '../institucion/institucion.service';
|
||||
import { Institucion } from 'src/institucion/entity/institucion.entity';
|
||||
|
||||
@Injectable()
|
||||
export class InstitucionInfraccionService {
|
||||
@ -21,12 +21,12 @@ export class InstitucionInfraccionService {
|
||||
private institucionService: InstitucionService,
|
||||
) {}
|
||||
|
||||
create(infraccion: string) {
|
||||
// Buscamos una infracción con ese nombre
|
||||
create(infraccion: string): Promise<{ message: string }> {
|
||||
// Buscamos un registro con ese nombre
|
||||
return this.infraccionRepository
|
||||
.findOne({ where: { infraccion } })
|
||||
.then((existeInfraccion) => {
|
||||
// Saco error si existe
|
||||
// Sacamos error si existe
|
||||
if (existeInfraccion)
|
||||
throw new ConflictException('Ya existe esta infracción.');
|
||||
// Creamos y guardamos un registro
|
||||
@ -37,7 +37,7 @@ export class InstitucionInfraccionService {
|
||||
.then(async (infraccion) => {
|
||||
const instituciones = await this.institucionService.findAll();
|
||||
|
||||
// Le asigno la nueva infracción a todas las instituciones
|
||||
// Asociamos las nueva infracción con las instituciones
|
||||
for (let i = 0; i < instituciones.length; i++)
|
||||
await this.institucionInfraccionRepository.save(
|
||||
this.institucionInfraccionRepository.create({
|
||||
@ -49,39 +49,26 @@ export class InstitucionInfraccionService {
|
||||
});
|
||||
}
|
||||
|
||||
findAll() {
|
||||
findAll(): Promise<Infraccion[]> {
|
||||
return this.infraccionRepository.find({
|
||||
where: { id_infraccion: Not(1) },
|
||||
order: { infraccion: 'ASC' },
|
||||
});
|
||||
}
|
||||
|
||||
findAllByIdInstitucion(id_institucion: number) {
|
||||
return this.institucionService
|
||||
.findById(id_institucion)
|
||||
.then((institucion) =>
|
||||
this.institucionInfraccionRepository
|
||||
.createQueryBuilder('ii')
|
||||
.innerJoinAndSelect('ii.infraccion', 'inf')
|
||||
.innerJoinAndSelect('ii.institucion', 'i')
|
||||
.where(
|
||||
'i.id_institucion = :id_institucion && inf.id_infraccion != 1',
|
||||
{ id_institucion: institucion.id_institucion },
|
||||
)
|
||||
.orderBy('inf.infraccion')
|
||||
.getMany(),
|
||||
);
|
||||
findAllOperador(operador: Operador): Promise<InstitucionInfraccion[]> {
|
||||
return this.institucionInfraccionRepository.find({
|
||||
where: {
|
||||
infraccion: { id_infraccion: Not(1) },
|
||||
institucion: operador.institucion,
|
||||
},
|
||||
order: { infraccion: { infraccion: 'ASC' } },
|
||||
});
|
||||
}
|
||||
|
||||
findById(id_institucion_infraccion: number) {
|
||||
findById(id_institucion_infraccion: number): Promise<InstitucionInfraccion> {
|
||||
return this.institucionInfraccionRepository
|
||||
.findOne({
|
||||
join: {
|
||||
alias: 'ii',
|
||||
innerJoinAndSelect: { i: 'ii.institucion', in: 'ii.infraccion' },
|
||||
},
|
||||
where: { id_institucion_infraccion },
|
||||
})
|
||||
.findOne({ where: { id_institucion_infraccion } })
|
||||
.then((institucionInfraccion) => {
|
||||
if (!institucionInfraccion)
|
||||
throw new NotFoundException(
|
||||
@ -91,28 +78,25 @@ export class InstitucionInfraccionService {
|
||||
});
|
||||
}
|
||||
|
||||
findSinInfraccion(institucion: Institucion) {
|
||||
return this.institucionInfraccionRepository
|
||||
.createQueryBuilder('ii')
|
||||
.innerJoinAndSelect('ii.infraccion', 'inf')
|
||||
.innerJoinAndSelect('ii.institucion', 'i')
|
||||
.where('i.id_institucion = :id_institucion && inf.id_infraccion = 1', {
|
||||
id_institucion: institucion.id_institucion,
|
||||
})
|
||||
.getOne();
|
||||
findSinInfraccion(institucion: Institucion): Promise<InstitucionInfraccion> {
|
||||
return this.institucionInfraccionRepository.findOne({
|
||||
where: { infraccion: { id_infraccion: 1 }, institucion },
|
||||
});
|
||||
}
|
||||
|
||||
update(admin: Operador, attrs: Partial<InstitucionInfraccion>) {
|
||||
update(
|
||||
admin: Operador,
|
||||
attrs: Partial<InstitucionInfraccion>,
|
||||
): Promise<{ message: string }> {
|
||||
return this.findById(attrs.id_institucion_infraccion)
|
||||
.then((institucionInfraccion) => {
|
||||
// Validamos que la institucionInfraccion le pertenezca al operador que
|
||||
// realiza esta acción
|
||||
// Validamos que la institucion infraccion pertenezca a la institución del admin
|
||||
if (
|
||||
admin.institucion.id_institucion !=
|
||||
institucionInfraccion.institucion.id_institucion
|
||||
)
|
||||
throw new ConflictException(
|
||||
'No puedes actualizar la información de esta infraccion porque no le pertenece a tu institución.',
|
||||
'No puedes modificar la información este infracción porque no pertenece a tu institución.',
|
||||
);
|
||||
// Asignamos valores enviados al objeto
|
||||
Object.assign(institucionInfraccion, attrs);
|
||||
|
@ -25,7 +25,7 @@ export class InstitucionProgramaService {
|
||||
return this.programaRepository
|
||||
.findOne({ where: { programa } })
|
||||
.then((existePrograma) => {
|
||||
// Saco error si existe
|
||||
// Sacamos error si existe
|
||||
if (existePrograma)
|
||||
throw new ConflictException('Ya existe este programa.');
|
||||
// Creamos y guardamos un registro
|
||||
|
@ -25,7 +25,7 @@ export class InstitucionTipoCarritoService {
|
||||
return this.tipoCarritoRepository
|
||||
.findOne({ where: [{ letra }, { tipo_carrito }] })
|
||||
.then((existeTipoCarrito) => {
|
||||
// Saco error si existe
|
||||
// Sacamos error si existe
|
||||
if (existeTipoCarrito) {
|
||||
if (letra === existeTipoCarrito.letra)
|
||||
throw new ConflictException(
|
||||
|
@ -25,7 +25,7 @@ export class InstitucionTipoEntradaService {
|
||||
return this.tipoEntradaRepository
|
||||
.findOne({ where: { tipo_entrada } })
|
||||
.then((existeTipoEntrada) => {
|
||||
// Saco error si existe
|
||||
// Sacamos error si existe
|
||||
if (existeTipoEntrada)
|
||||
throw new ConflictException('Ya existe este tipo de entrada.');
|
||||
// Creamos y guardamos un registro
|
||||
|
@ -83,7 +83,7 @@ export class InstitucionService {
|
||||
admin.institucion.id_institucion != institucion.id_institucion
|
||||
)
|
||||
throw new ConflictException(
|
||||
'No puedes actualizar la información de esta institución porque no perteneces a ella.',
|
||||
'No puedes modificar la información esta institución porque no te pertenece.',
|
||||
);
|
||||
// Asignamos valores enviados al objeto
|
||||
Object.assign(institucion, attrs);
|
||||
|
@ -11,7 +11,7 @@ export class MarcaService {
|
||||
// Buscamos una marca con ese nombre
|
||||
return this.findByMarca(marca, tipo, false)
|
||||
.then((existeMarca) => {
|
||||
// Saco error si existe
|
||||
// Sacamos error si existe
|
||||
if (existeMarca) throw new ConflictException('Ya existe esta marca.');
|
||||
// Creamos y guardamos un registro
|
||||
return this.repository.save(this.repository.create({ marca, tipo }));
|
||||
|
@ -13,7 +13,7 @@ export class ModeloService {
|
||||
// Buscamos un modelo con ese nombre
|
||||
return this.findByModelo(modelo, tipo, false)
|
||||
.then((existeModelo) => {
|
||||
// Saco error si existe
|
||||
// Sacamos error si existe
|
||||
if (existeModelo) throw new ConflictException('Ya existe este modelo.');
|
||||
// Creamos y guardamos un registro
|
||||
return this.repository.save(this.repository.create({ modelo, tipo }));
|
||||
|
@ -111,7 +111,7 @@ export class PrestamoService {
|
||||
const prestamo = await this.prestamoInfoByUsuario(usuario);
|
||||
|
||||
this.validacionBasicaPrestamo(prestamo);
|
||||
// Saco error en status de equipo 3
|
||||
// Sacamos error en status de equipo 3
|
||||
if (prestamo.equipo.u === usuario.id_usuario) {
|
||||
if (prestamo.equipo.status.id_status === 3)
|
||||
throw new ConflictException(
|
||||
@ -215,7 +215,7 @@ export class PrestamoService {
|
||||
});
|
||||
})
|
||||
.then((existePrestamo) => {
|
||||
// Saco error si lo encuentra
|
||||
// Sacamos error si lo encuentra
|
||||
if (existePrestamo)
|
||||
throw new ConflictException(
|
||||
'Este usuario ya tiene un préstamo activo.',
|
||||
|
@ -18,7 +18,7 @@ export class TipoUsuarioService {
|
||||
return this.repository
|
||||
.findOne({ where: { tipo_usuario } })
|
||||
.then((existeTipoUsuario) => {
|
||||
// Saco error si existe
|
||||
// Sacamos error si existe
|
||||
if (existeTipoUsuario)
|
||||
throw new ConflictException('Ya existe este tipo usuario');
|
||||
// Creamos y guardamos un registro
|
||||
|
Loading…
Reference in New Issue
Block a user