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 { MultarDto } from './dto/input/multar.dto';
|
||||||
import { MultasDto } from './dto/input/multas.dto';
|
import { MultasDto } from './dto/input/multas.dto';
|
||||||
import { QuitarMultarDto } from './dto/input/quitar.dto';
|
import { QuitarMultarDto } from './dto/input/quitar.dto';
|
||||||
|
import { ReporteDto } from './dto/input/reporte.dto';
|
||||||
import { MessageOutputDto } from '../dto/output/message.dto';
|
import { MessageOutputDto } from '../dto/output/message.dto';
|
||||||
import { MultasOutputDto } from './dto/output/multas.dto';
|
import { MultasOutputDto } from './dto/output/multas.dto';
|
||||||
import { MultasEquipoOutputDto } from './dto/output/multas-equipo.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);
|
return this.multaService.quitarMulta(admin, body.id_institucion_usuario);
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Get('reporte')
|
@Get('reporte')
|
||||||
// @UseGuards(AuthGuard('jwt'))
|
@UseGuards(AuthGuard('jwt'))
|
||||||
// @ApiBearerAuth('jwt')
|
@ApiBearerAuth('jwt')
|
||||||
// reporte(@Request() req) {
|
reporte(@Request() req, @Query() query: ReporteDto) {
|
||||||
// const operador: Operador = req.user.operador;
|
const operador: Operador = req.user.operador;
|
||||||
|
|
||||||
// this.validarUsuarioService.validarAdminOperador(operador);
|
this.validarUsuarioService.validarAdminOperador(operador);
|
||||||
// // return this.multaService.findAll(operador, query);
|
return this.multaService.findAll(operador, query);
|
||||||
// }
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,13 @@
|
|||||||
import * as moment from 'moment';
|
import * as moment from 'moment';
|
||||||
import { ConflictException, Injectable } from '@nestjs/common';
|
import { ConflictException, Injectable } from '@nestjs/common';
|
||||||
import { InjectRepository } from '@nestjs/typeorm';
|
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 { Modulo } from '../modulo/entity/modulo.entity';
|
||||||
import { Multa } from './entity/multa.entity';
|
import { Multa } from './entity/multa.entity';
|
||||||
import { Operador } from '../operador/entity/operador.entity';
|
import { Operador } from '../operador/entity/operador.entity';
|
||||||
@ -92,37 +98,41 @@ export class MultaService {
|
|||||||
findAll(
|
findAll(
|
||||||
operador: Operador,
|
operador: Operador,
|
||||||
filtros: {
|
filtros: {
|
||||||
pagina: string;
|
|
||||||
nombre?: string;
|
nombre?: string;
|
||||||
|
pagina?: string;
|
||||||
usuario?: string;
|
usuario?: string;
|
||||||
},
|
},
|
||||||
): Promise<[Multa[], number]> {
|
): Promise<FullInformacionMultaView[] | [Multa[], number]> {
|
||||||
const busqueda: FindOptionsWhere<FullInformacionMultaView> = {};
|
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.nombre) busqueda.nombre = Like(`%${filtros.nombre}%`);
|
||||||
if (filtros.usuario) busqueda.usuario = Like(`%${filtros.usuario}%`);
|
if (filtros.usuario) busqueda.usuario = Like(`%${filtros.usuario}%`);
|
||||||
if (operador) busqueda.id_institucion = operador.institucion.id_institucion;
|
options.where = busqueda;
|
||||||
return this.fullInformacionMultaView
|
if (filtros.pagina) {
|
||||||
.findAndCount({
|
options.skip = (parseInt(filtros.pagina) - 1) * 25;
|
||||||
where: busqueda,
|
options.take = 25;
|
||||||
order: {
|
return this.fullInformacionMultaView
|
||||||
institucion: 'ASC',
|
.findAndCount(options)
|
||||||
activo: 'DESC',
|
.then((infoMultas) => {
|
||||||
fecha_fin: 'ASC',
|
const multas: Multa[] = [];
|
||||||
usuario: 'ASC',
|
|
||||||
},
|
|
||||||
skip: (parseInt(filtros.pagina) - 1) * 25,
|
|
||||||
take: 25,
|
|
||||||
})
|
|
||||||
.then((infoMultas) => {
|
|
||||||
const multas: Multa[] = [];
|
|
||||||
|
|
||||||
for (let i = 0; i < infoMultas[0].length; i++)
|
for (let i = 0; i < infoMultas[0].length; i++)
|
||||||
multas.push(
|
multas.push(
|
||||||
this.repository.create(this.fullViewToMulta(infoMultas[0][i])),
|
this.repository.create(this.fullViewToMulta(infoMultas[0][i])),
|
||||||
);
|
);
|
||||||
return [multas, infoMultas[1]];
|
return [multas, infoMultas[1]];
|
||||||
});
|
});
|
||||||
|
} else return this.fullInformacionMultaView.find(options);
|
||||||
}
|
}
|
||||||
|
|
||||||
findAllActivasExpiradas(): Promise<Multa[]> {
|
findAllActivasExpiradas(): Promise<Multa[]> {
|
||||||
|
Loading…
Reference in New Issue
Block a user