multa a medias

This commit is contained in:
xXpuma99Xx 2022-04-23 22:45:57 -05:00
parent f277379132
commit 3194b12417
7 changed files with 88 additions and 3 deletions

14
package-lock.json generated
View File

@ -19,6 +19,7 @@
"bcrypt": "^5.0.1",
"class-transformer": "^0.5.1",
"class-validator": "^0.13.2",
"moment": "^2.29.3",
"mysql2": "^2.3.3",
"passport": "^0.5.2",
"passport-jwt": "^4.0.0",
@ -6877,6 +6878,14 @@
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
},
"node_modules/moment": {
"version": "2.29.3",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz",
"integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==",
"engines": {
"node": "*"
}
},
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@ -14976,6 +14985,11 @@
}
}
},
"moment": {
"version": "2.29.3",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz",
"integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw=="
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",

View File

@ -31,6 +31,7 @@
"bcrypt": "^5.0.1",
"class-transformer": "^0.5.1",
"class-validator": "^0.13.2",
"moment": "^2.29.3",
"mysql2": "^2.3.3",
"passport": "^0.5.2",
"passport-jwt": "^4.0.0",

View File

@ -13,5 +13,6 @@ import { InstitucionModule } from '../institucion/institucion.module';
],
controllers: [InstitucionInfraccionController],
providers: [InstitucionInfraccionService],
exports: [InstitucionInfraccionService],
})
export class InstitucionInfraccionModule {}

View File

@ -3,9 +3,21 @@ import { TypeOrmModule } from '@nestjs/typeorm';
import { MultaController } from './multa.controller';
import { MultaService } from './multa.service';
import { Multa } from './entity/multa.entity';
import { EquipoModule } from 'src/equipo/equipo.module';
import { InstitucionInfraccionModule } from 'src/institucion-infraccion/institucion-infraccion.module';
import { OperadorModule } from 'src/operador/operador.module';
import { PrestamoModule } from 'src/prestamo/prestamo.module';
import { UsuarioModule } from 'src/usuario/usuario.module';
@Module({
imports: [TypeOrmModule.forFeature([Multa])],
imports: [
TypeOrmModule.forFeature([Multa]),
EquipoModule,
InstitucionInfraccionModule,
OperadorModule,
PrestamoModule,
UsuarioModule,
],
controllers: [MultaController],
providers: [MultaService],
})

View File

@ -1,9 +1,58 @@
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import * as moment from 'moment';
import { InstitucionInfraccion } from '../institucion-infraccion/entity/institucion-infraccion.entity';
import { Multa } from './entity/multa.entity';
import { Prestamo } from '../prestamo/entity/prestamo.entity';
import { EquipoService } from 'src/equipo/equipo.service';
import { InstitucionInfraccionService } from 'src/institucion-infraccion/institucion-infraccion.service';
import { OperadorService } from 'src/operador/operador.service';
import { PrestamoService } from 'src/prestamo/prestamo.service';
import { UsuarioService } from 'src/usuario/usuario.service';
@Injectable()
export class MultaService {
constructor(@InjectRepository(Multa) private repository: Repository<Multa>) {}
constructor(
@InjectRepository(Multa) private repository: Repository<Multa>,
private equipoService: EquipoService,
private InstitucionInfraccionService: InstitucionInfraccionService,
private operadorService: OperadorService,
private prestamoService: PrestamoService,
private usuarioService: UsuarioService,
) {}
async create(
id_institucion_infraccion: number,
id_prestamo: number,
id_operador: number,
retraso: boolean,
) {
const prestamo = await this.prestamoService.findById(id_prestamo);
const operador = await this.operadorService.findById(id_operador);
const institucionInfraccion = id_institucion_infraccion
? await this.InstitucionInfraccionService.findById(
id_institucion_infraccion,
)
: null;
const data: {
prestamo: Prestamo;
institucionInfraccion?: InstitucionInfraccion;
retraso?: boolean;
} = { prestamo };
// const nuevo
// this.repository.create({
// institucionInfraccion,
// prestamo,
// fecha_inicio: new Date(),
// });
if (retraso) data.retraso = retraso;
if (institucionInfraccion) data.institucionInfraccion;
}
findAllByIdUsuario(id_usuario: number) {}
findAllByIdEquipo(id_eqipo: number) {}
}

View File

@ -8,5 +8,6 @@ import { Prestamo } from './entity/prestamo.entity';
imports: [TypeOrmModule.forFeature([Prestamo])],
controllers: [PrestamoController],
providers: [PrestamoService],
exports: [PrestamoService],
})
export class PrestamoModule {}

View File

@ -1,4 +1,4 @@
import { Injectable } from '@nestjs/common';
import { Injectable, NotFoundException } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import { Prestamo } from './entity/prestamo.entity';
@ -8,4 +8,11 @@ export class PrestamoService {
constructor(
@InjectRepository(Prestamo) private repository: Repository<Prestamo>,
) {}
findById(id_prestamo: number) {
return this.repository.findOne({ id_prestamo }).then((prestamo) => {
if (!prestamo) throw new NotFoundException('No existe este préstamo.');
return prestamo;
});
}
}