reporte multa

This commit is contained in:
xXpuma99Xx
2023-01-08 23:27:23 -06:00
parent 06a5b670fb
commit d95c7ec44c
3 changed files with 57 additions and 33 deletions
+35 -25
View File
@@ -1,7 +1,13 @@
import * as moment from 'moment';
import { ConflictException, Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { FindOptionsWhere, LessThanOrEqual, Like, Repository } from 'typeorm';
import {
FindManyOptions,
FindOptionsWhere,
LessThanOrEqual,
Like,
Repository,
} from 'typeorm';
import { Modulo } from '../modulo/entity/modulo.entity';
import { Multa } from './entity/multa.entity';
import { Operador } from '../operador/entity/operador.entity';
@@ -92,37 +98,41 @@ export class MultaService {
findAll(
operador: Operador,
filtros: {
pagina: string;
nombre?: string;
pagina?: string;
usuario?: string;
},
): Promise<[Multa[], number]> {
const busqueda: FindOptionsWhere<FullInformacionMultaView> = {};
): Promise<FullInformacionMultaView[] | [Multa[], number]> {
const busqueda: FindOptionsWhere<FullInformacionMultaView> = {
id_institucion: operador.institucion.id_institucion,
};
const options: FindManyOptions<FullInformacionMultaView> = {
order: {
institucion: 'ASC',
activo: 'DESC',
fecha_fin: 'ASC',
usuario: 'ASC',
},
};
if (filtros.nombre) busqueda.nombre = Like(`%${filtros.nombre}%`);
if (filtros.usuario) busqueda.usuario = Like(`%${filtros.usuario}%`);
if (operador) busqueda.id_institucion = operador.institucion.id_institucion;
return this.fullInformacionMultaView
.findAndCount({
where: busqueda,
order: {
institucion: 'ASC',
activo: 'DESC',
fecha_fin: 'ASC',
usuario: 'ASC',
},
skip: (parseInt(filtros.pagina) - 1) * 25,
take: 25,
})
.then((infoMultas) => {
const multas: Multa[] = [];
options.where = busqueda;
if (filtros.pagina) {
options.skip = (parseInt(filtros.pagina) - 1) * 25;
options.take = 25;
return this.fullInformacionMultaView
.findAndCount(options)
.then((infoMultas) => {
const multas: Multa[] = [];
for (let i = 0; i < infoMultas[0].length; i++)
multas.push(
this.repository.create(this.fullViewToMulta(infoMultas[0][i])),
);
return [multas, infoMultas[1]];
});
for (let i = 0; i < infoMultas[0].length; i++)
multas.push(
this.repository.create(this.fullViewToMulta(infoMultas[0][i])),
);
return [multas, infoMultas[1]];
});
} else return this.fullInformacionMultaView.find(options);
}
findAllActivasExpiradas(): Promise<Multa[]> {