reporte multa
This commit is contained in:
parent
06a5b670fb
commit
d95c7ec44c
13
src/multa/dto/input/reporte.dto.ts
Normal file
13
src/multa/dto/input/reporte.dto.ts
Normal file
@ -0,0 +1,13 @@
|
||||
import { IsNotEmpty, IsOptional, IsString } from 'class-validator';
|
||||
|
||||
export class ReporteDto {
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
@IsOptional()
|
||||
nombre?: string;
|
||||
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
@IsOptional()
|
||||
usuario?: string;
|
||||
}
|
@ -26,6 +26,7 @@ import { IdUsuarioPaginaDto } from '../dto/input/id-usuario-pagina.dto';
|
||||
import { MultarDto } from './dto/input/multar.dto';
|
||||
import { MultasDto } from './dto/input/multas.dto';
|
||||
import { QuitarMultarDto } from './dto/input/quitar.dto';
|
||||
import { ReporteDto } from './dto/input/reporte.dto';
|
||||
import { MessageOutputDto } from '../dto/output/message.dto';
|
||||
import { MultasOutputDto } from './dto/output/multas.dto';
|
||||
import { MultasEquipoOutputDto } from './dto/output/multas-equipo.dto';
|
||||
@ -187,13 +188,13 @@ export class MultaController {
|
||||
return this.multaService.quitarMulta(admin, body.id_institucion_usuario);
|
||||
}
|
||||
|
||||
// @Get('reporte')
|
||||
// @UseGuards(AuthGuard('jwt'))
|
||||
// @ApiBearerAuth('jwt')
|
||||
// reporte(@Request() req) {
|
||||
// const operador: Operador = req.user.operador;
|
||||
@Get('reporte')
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@ApiBearerAuth('jwt')
|
||||
reporte(@Request() req, @Query() query: ReporteDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
// this.validarUsuarioService.validarAdminOperador(operador);
|
||||
// // return this.multaService.findAll(operador, query);
|
||||
// }
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.multaService.findAll(operador, query);
|
||||
}
|
||||
}
|
||||
|
@ -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[]> {
|
||||
|
Loading…
Reference in New Issue
Block a user