listo reportes lab movil

This commit is contained in:
lemuel 2023-01-17 09:31:48 -06:00
parent 5ceaf53583
commit b4a717e0fa
8 changed files with 35 additions and 9 deletions

View File

@ -91,7 +91,7 @@ export class CarritoMotivoController {
laboratorioMovil(@Request() req, @Query() query: LaboratorioMovilDto) { laboratorioMovil(@Request() req, @Query() query: LaboratorioMovilDto) {
const admin: Operador = req.user.operador; const admin: Operador = req.user.operador;
this.validarUsuarioService.validarAdmin(admin); this.validarUsuarioService.validarSuperAdminAdmin(admin);
return this.carritoMotivoService.findAllLaboratorioMovil(admin, query); return this.carritoMotivoService.findAllLaboratorioMovil(admin, query);
} }

View File

@ -5,6 +5,7 @@ import { CarritoMotivoController } from './carrito-motivo.controller';
import { CarritoMotivoService } from './carrito-motivo.service'; import { CarritoMotivoService } from './carrito-motivo.service';
import { CarritoMotivo } from './entity/carrito-motivo.entity'; import { CarritoMotivo } from './entity/carrito-motivo.entity';
import { CarritoModule } from '../carrito/carrito.module'; import { CarritoModule } from '../carrito/carrito.module';
import { InstitucionModule } from '../institucion/institucion.module';
import { InstitucionTipoCarritoModule } from '../institucion-tipo-carrito/institucion-tipo-carrito.module'; import { InstitucionTipoCarritoModule } from '../institucion-tipo-carrito/institucion-tipo-carrito.module';
import { MarcaModule } from '../marca/marca.module'; import { MarcaModule } from '../marca/marca.module';
import { ModeloModule } from '../modelo/modelo.module'; import { ModeloModule } from '../modelo/modelo.module';
@ -14,6 +15,7 @@ import { StatusModule } from '../status/status.module';
@Module({ @Module({
imports: [ imports: [
forwardRef(() => CarritoModule), forwardRef(() => CarritoModule),
InstitucionModule,
InstitucionTipoCarritoModule, InstitucionTipoCarritoModule,
MarcaModule, MarcaModule,
ModeloModule, ModeloModule,

View File

@ -11,6 +11,7 @@ import { Carrito } from '../carrito/entity/carrito.entity';
import { CarritoMotivo } from './entity/carrito-motivo.entity'; import { CarritoMotivo } from './entity/carrito-motivo.entity';
import { Operador } from '../operador/entity/operador.entity'; import { Operador } from '../operador/entity/operador.entity';
import { CarritoService } from '../carrito/carrito.service'; import { CarritoService } from '../carrito/carrito.service';
import { InstitucionService } from '../institucion/institucion.service';
import { InstitucionTipoCarritoService } from '../institucion-tipo-carrito/institucion-tipo-carrito.service'; import { InstitucionTipoCarritoService } from '../institucion-tipo-carrito/institucion-tipo-carrito.service';
import { MarcaService } from '../marca/marca.service'; import { MarcaService } from '../marca/marca.service';
import { ModeloService } from '../modelo/modelo.service'; import { ModeloService } from '../modelo/modelo.service';
@ -23,6 +24,7 @@ export class CarritoMotivoService {
private repository: Repository<CarritoMotivo>, private repository: Repository<CarritoMotivo>,
@Inject(forwardRef(() => CarritoService)) @Inject(forwardRef(() => CarritoService))
private carritoService: CarritoService, private carritoService: CarritoService,
private institucionService: InstitucionService,
private institucionTipoCarritoService: InstitucionTipoCarritoService, private institucionTipoCarritoService: InstitucionTipoCarritoService,
private marcaService: MarcaService, private marcaService: MarcaService,
private modeloService: ModeloService, private modeloService: ModeloService,
@ -75,12 +77,16 @@ export class CarritoMotivoService {
admin: Operador, admin: Operador,
filtros: { filtros: {
carrito?: string; carrito?: string;
id_institucion?: string;
id_marca?: string; id_marca?: string;
id_modelo?: string; id_modelo?: string;
id_modulo?: string; id_modulo?: string;
id_tipo_carrito?: string; id_tipo_carrito?: string;
}, },
): Promise<CarritoMotivo[]> { ): Promise<CarritoMotivo[]> {
const institucion = filtros.id_institucion
? await this.institucionService.findById(parseInt(filtros.id_institucion))
: null;
const marca = filtros.id_marca const marca = filtros.id_marca
? await this.marcaService.findById(parseInt(filtros.id_marca), 'c') ? await this.marcaService.findById(parseInt(filtros.id_marca), 'c')
: null; : null;
@ -95,17 +101,18 @@ export class CarritoMotivoService {
parseInt(filtros.id_tipo_carrito), parseInt(filtros.id_tipo_carrito),
) )
: null; : null;
const busquedaCarrito: FindOptionsWhere<Carrito> = { const busquedaCarrito: FindOptionsWhere<Carrito> = {};
modulo: { institucion: admin.institucion },
};
const busqueda: FindOptionsWhere<CarritoMotivo> = { const busqueda: FindOptionsWhere<CarritoMotivo> = {
laboratorioMovil: true, laboratorioMovil: true,
}; };
if (filtros.carrito) busquedaCarrito.carrito = filtros.carrito; if (filtros.carrito) busquedaCarrito.carrito = filtros.carrito;
if (admin.institucion)
busquedaCarrito.modulo = { institucion: admin.institucion };
else if (institucion) busquedaCarrito.modulo = { institucion };
if (marca) busquedaCarrito.marca = marca; if (marca) busquedaCarrito.marca = marca;
if (modelo) busquedaCarrito.modelo = modelo; if (modelo) busquedaCarrito.modelo = modelo;
if (modulo) busquedaCarrito.modulo = modulo; if (modulo && admin.institucion) busquedaCarrito.modulo = modulo;
if (tipoCarrito) busquedaCarrito.tipoCarrito = tipoCarrito; if (tipoCarrito) busquedaCarrito.tipoCarrito = tipoCarrito;
busqueda.carrito = busquedaCarrito; busqueda.carrito = busquedaCarrito;
return this.repository.find({ return this.repository.find({

View File

@ -11,6 +11,10 @@ export class LaboratorioMovilDto {
@IsOptional() @IsOptional()
carrito?: string; carrito?: string;
@IsNumberString()
@IsOptional()
id_institucion?: string;
@IsNumberString() @IsNumberString()
@IsOptional() @IsOptional()
id_marca?: string; id_marca?: string;

View File

@ -109,7 +109,7 @@ export class CarritoController {
carritos(@Request() req, @Query() query: CarritosDto) { carritos(@Request() req, @Query() query: CarritosDto) {
const operador: Operador = req.user.operador; const operador: Operador = req.user.operador;
this.validarUsuarioService.validarAdminOperador(operador); this.validarUsuarioService.validarOperador(operador);
return this.carritoService.findAll(operador, query); return this.carritoService.findAll(operador, query);
} }

View File

@ -7,6 +7,7 @@ import { Carrito } from './entity/carrito.entity';
import { FullInformacionCarritoView } from './entity/views/full-informacion-carrito.view'; import { FullInformacionCarritoView } from './entity/views/full-informacion-carrito.view';
import { InformacionCarritoView } from './entity/views/informacion-carrito.view'; import { InformacionCarritoView } from './entity/views/informacion-carrito.view';
import { CarritoMotivoModule } from '../carrito-motivo/carrito-motivo.module'; import { CarritoMotivoModule } from '../carrito-motivo/carrito-motivo.module';
import { InstitucionModule } from '../institucion/institucion.module';
import { InstitucionTipoCarritoModule } from '../institucion-tipo-carrito/institucion-tipo-carrito.module'; import { InstitucionTipoCarritoModule } from '../institucion-tipo-carrito/institucion-tipo-carrito.module';
import { MarcaModule } from '../marca/marca.module'; import { MarcaModule } from '../marca/marca.module';
import { ModeloModule } from '../modelo/modelo.module'; import { ModeloModule } from '../modelo/modelo.module';
@ -15,6 +16,7 @@ import { ModuloModule } from '../modulo/modulo.module';
@Module({ @Module({
imports: [ imports: [
forwardRef(() => CarritoMotivoModule), forwardRef(() => CarritoMotivoModule),
InstitucionModule,
InstitucionTipoCarritoModule, InstitucionTipoCarritoModule,
MarcaModule, MarcaModule,
ModeloModule, ModeloModule,

View File

@ -14,6 +14,7 @@ import { Modulo } from '../modulo/entity/modulo.entity';
import { Operador } from '../operador/entity/operador.entity'; import { Operador } from '../operador/entity/operador.entity';
import { TipoCarrito } from '../institucion-tipo-carrito/entity/tipo-carrito.entity'; import { TipoCarrito } from '../institucion-tipo-carrito/entity/tipo-carrito.entity';
import { CarritoMotivoService } from '../carrito-motivo/carrito-motivo.service'; import { CarritoMotivoService } from '../carrito-motivo/carrito-motivo.service';
import { InstitucionService } from '../institucion/institucion.service';
import { InstitucionTipoCarritoService } from '../institucion-tipo-carrito/institucion-tipo-carrito.service'; import { InstitucionTipoCarritoService } from '../institucion-tipo-carrito/institucion-tipo-carrito.service';
import { MarcaService } from '../marca/marca.service'; import { MarcaService } from '../marca/marca.service';
import { ModeloService } from '../modelo/modelo.service'; import { ModeloService } from '../modelo/modelo.service';
@ -29,6 +30,7 @@ export class CarritoService {
private informacionCarritoView: Repository<InformacionCarritoView>, private informacionCarritoView: Repository<InformacionCarritoView>,
@Inject(forwardRef(() => CarritoMotivoService)) @Inject(forwardRef(() => CarritoMotivoService))
private caritoMotivoService: CarritoMotivoService, private caritoMotivoService: CarritoMotivoService,
private institucionService: InstitucionService,
private institucionTipoCarritoService: InstitucionTipoCarritoService, private institucionTipoCarritoService: InstitucionTipoCarritoService,
private marcaService: MarcaService, private marcaService: MarcaService,
private modeloService: ModeloService, private modeloService: ModeloService,
@ -72,6 +74,7 @@ export class CarritoService {
pagina?: string; pagina?: string;
activo?: string; activo?: string;
carrito?: string; carrito?: string;
id_institucion?: string;
id_marca?: string; id_marca?: string;
id_modelo?: string; id_modelo?: string;
id_modulo?: string; id_modulo?: string;
@ -79,6 +82,9 @@ export class CarritoService {
}, },
): Promise<Carrito[] | [Carrito[], number]> { ): Promise<Carrito[] | [Carrito[], number]> {
const carritos: Carrito[] = []; const carritos: Carrito[] = [];
const institucion = filtros.id_institucion
? await this.institucionService.findById(parseInt(filtros.id_institucion))
: null;
const marca = filtros.id_marca const marca = filtros.id_marca
? await this.marcaService.findById(parseInt(filtros.id_marca), 'c') ? await this.marcaService.findById(parseInt(filtros.id_marca), 'c')
: null; : null;
@ -94,13 +100,14 @@ export class CarritoService {
) )
: null; : null;
const options: FindManyOptions<FullInformacionCarritoView> = {}; const options: FindManyOptions<FullInformacionCarritoView> = {};
const busqueda: FindOptionsWhere<FullInformacionCarritoView> = { const busqueda: FindOptionsWhere<FullInformacionCarritoView> = {};
id_institucion: operador.institucion.id_institucion,
};
if (filtros.activo === 'true') busqueda.activo = 1; if (filtros.activo === 'true') busqueda.activo = 1;
if (filtros.activo === 'false') busqueda.activo = 0; if (filtros.activo === 'false') busqueda.activo = 0;
if (filtros.carrito) busqueda.carrito = Like(`%${filtros.carrito}%`); if (filtros.carrito) busqueda.carrito = Like(`%${filtros.carrito}%`);
if (operador.institucion)
busqueda.id_institucion = operador.institucion.id_institucion;
else if (institucion) busqueda.id_institucion = institucion.id_institucion;
if (marca) busqueda.id_marca = marca.id_marca; if (marca) busqueda.id_marca = marca.id_marca;
if (modelo) busqueda.id_modelo = modelo.id_modelo; if (modelo) busqueda.id_modelo = modelo.id_modelo;
if (modulo) busqueda.id_modulo = modulo.id_modulo; if (modulo) busqueda.id_modulo = modulo.id_modulo;

View File

@ -16,6 +16,10 @@ export class CarritosDto {
@IsOptional() @IsOptional()
carrito?: string; carrito?: string;
@IsNumberString()
@IsOptional()
id_institucion?: string;
@IsNumberString() @IsNumberString()
@IsOptional() @IsOptional()
id_marca?: string; id_marca?: string;