una grafica faltante

This commit is contained in:
lemuel 2023-02-27 15:02:17 -06:00
parent 1c83cb9fb8
commit a4d80e3c31
4 changed files with 44 additions and 11 deletions

View File

@ -1,7 +1,15 @@
import { IsNumberString, IsOptional } from 'class-validator';
import { IsDateString, IsNumberString, IsOptional } from 'class-validator';
export class IdInstitucionOptionalDto {
@IsNumberString()
@IsOptional()
id_institucion?: string;
@IsDateString()
@IsOptional()
fechaFin?: string;
@IsDateString()
@IsOptional()
fechaInicio?: string;
}

View File

@ -86,6 +86,7 @@ export class ModuloMotivoController {
description: 'Id de la institución.',
name: 'id_institucion',
type: 'string',
required: false,
})
reporteActividadEspecial(
@Request() req,
@ -94,9 +95,6 @@ export class ModuloMotivoController {
const admin: Operador = req.user.operador;
this.validarUsuarioService.validarSuperAdminAdmin(admin);
return this.moduloMotivoService.findAllActividadEspecial(
admin,
parseInt(query.id_institucion),
);
return this.moduloMotivoService.findAllActividadEspecial(admin, query);
}
}

View File

@ -6,7 +6,13 @@ import {
Injectable,
} from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { FindManyOptions, FindOptionsWhere, Repository } from 'typeorm';
import {
Between,
FindManyOptions,
FindOptionsWhere,
MoreThanOrEqual,
Repository,
} from 'typeorm';
import { Modulo } from '../modulo/entity/modulo.entity';
import { ModuloMotivo } from './entity/modulo-motivo.entity';
import { Operador } from '../operador/entity/operador.entity';
@ -44,20 +50,39 @@ export class ModuloMotivoService {
async findAllActividadEspecial(
admin: Operador,
id_institucion?: number,
filtros: {
fechaFin?: string;
fechaInicio?: string;
id_institucion?: string;
},
): Promise<ModuloMotivo[]> {
const institucion = id_institucion
? await this.institucionService.findById(id_institucion)
const institucion = filtros.id_institucion
? await this.institucionService.findById(parseInt(filtros.id_institucion))
: null;
const busqueda: FindOptionsWhere<ModuloMotivo> = {};
if (admin.institucion) busqueda.modulo = { institucion: admin.institucion };
else if (institucion) busqueda.modulo = { institucion: institucion };
if (filtros.fechaInicio) {
if (filtros.fechaFin)
busqueda.fecha_creacion = Between(
new Date(`${filtros.fechaInicio} 00:00`),
new Date(`${filtros.fechaFin} 23:59`),
);
else
busqueda.fecha_creacion = MoreThanOrEqual(
new Date(`${filtros.fechaInicio} 00:00`),
);
}
return this.repository.find({
join: {
alias: 'mmo',
innerJoinAndSelect: { m: 'mmo.modulo', i: 'm.institucion' },
},
order: {
operador: { institucion: { institucion: 'ASC' } },
id_motivo: 'ASC',
},
where: busqueda,
});
}

View File

@ -389,10 +389,12 @@ export class PrestamoService {
const busqueda: FindOptionsWhere<FullInformacionPrestamoView> = {};
if (filtros.activo) {
if (typeof filtros.activo === 'boolean') {
if (typeof filtros.activo === 'boolean')
busqueda.activo = filtros.activo ? 1 : 0;
else {
busqueda.activo = filtros.activo === 'true' ? 1 : 0;
options.order.id_prestamo = 'ASC';
} else busqueda.activo = filtros.activo === 'true' ? 1 : 0;
}
}
if (filtros.cancelado_operador)
busqueda.cancelado_operador =