modified table
This commit is contained in:
@@ -33,22 +33,22 @@ export class FiltrosTablaDto {
|
|||||||
|
|
||||||
@IsArray()
|
@IsArray()
|
||||||
@IsString({ each: true })
|
@IsString({ each: true })
|
||||||
adscripciones?: number[]
|
adscripciones?: string[]
|
||||||
|
|
||||||
@IsOptional()
|
@IsOptional()
|
||||||
@IsArray()
|
@IsArray()
|
||||||
@IsString({ each: true })
|
@IsString({ each: true })
|
||||||
procesadores?: number[]
|
procesadores?: string[]
|
||||||
|
|
||||||
@IsOptional()
|
@IsOptional()
|
||||||
@IsArray()
|
@IsArray()
|
||||||
@IsString({ each: true })
|
@IsString({ each: true })
|
||||||
sistemas?: number[]
|
sistemas?: string[]
|
||||||
|
|
||||||
@IsOptional()
|
@IsOptional()
|
||||||
@IsArray()
|
@IsArray()
|
||||||
@IsString({ each: true })
|
@IsString({ each: true })
|
||||||
usos?: number[]
|
usos?: string[]
|
||||||
|
|
||||||
@IsOptional()
|
@IsOptional()
|
||||||
@IsArray()
|
@IsArray()
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ export class EquipoController {
|
|||||||
@Post('excel/tabla')
|
@Post('excel/tabla')
|
||||||
async exceltabla(
|
async exceltabla(
|
||||||
@Res() res: Response,
|
@Res() res: Response,
|
||||||
@Body() filtros: FiltrosGraficaDto
|
@Body() filtros: FiltrosTablaDto
|
||||||
) {
|
) {
|
||||||
const buffer = await this.equipoService.tablaExcel(filtros);
|
const buffer = await this.equipoService.tablaExcel(filtros);
|
||||||
|
|
||||||
@@ -87,7 +87,7 @@ export class EquipoController {
|
|||||||
|
|
||||||
res.send(buffer);
|
res.send(buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UseGuards(AuthGuard('jwt'))
|
@UseGuards(AuthGuard('jwt'))
|
||||||
@Get('buscar/:inv')
|
@Get('buscar/:inv')
|
||||||
async serch(@Param('inv') inv: string) {
|
async serch(@Param('inv') inv: string) {
|
||||||
|
|||||||
+104
-46
@@ -28,7 +28,7 @@ import { CreateEquipoDto } from './dto/create-equipo.dto';
|
|||||||
|
|
||||||
import { MovimientoService } from 'src/movimiento/movimiento.service';
|
import { MovimientoService } from 'src/movimiento/movimiento.service';
|
||||||
import { Cron } from '@nestjs/schedule';
|
import { Cron } from '@nestjs/schedule';
|
||||||
import { FiltrosGraficaDto } from './dto/grafica.dto';
|
import { FiltrosGraficaDto, FiltrosTablaDto } from './dto/grafica.dto';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class EquipoService {
|
export class EquipoService {
|
||||||
@@ -1269,7 +1269,7 @@ export class EquipoService {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async tabla(filtros?: FiltrosGraficaDto) {
|
async tabla(filtros?: FiltrosTablaDto) {
|
||||||
const qb = this.equipoRepository
|
const qb = this.equipoRepository
|
||||||
.createQueryBuilder('equipo')
|
.createQueryBuilder('equipo')
|
||||||
.select([])
|
.select([])
|
||||||
@@ -1283,40 +1283,70 @@ export class EquipoService {
|
|||||||
qb.addSelect('adscripcion.adscripcion', 'adscripcion')
|
qb.addSelect('adscripcion.adscripcion', 'adscripcion')
|
||||||
qb.addSelect('equipo.lugar', 'ubicacion')
|
qb.addSelect('equipo.lugar', 'ubicacion')
|
||||||
|
|
||||||
|
const tieneFiltroReal = (arr?: string[]) => arr?.length && !arr.includes("0")
|
||||||
|
|
||||||
|
console.log(filtros)
|
||||||
|
|
||||||
|
// ADSCRIPCIONES
|
||||||
if (filtros?.adscripciones?.length) {
|
if (filtros?.adscripciones?.length) {
|
||||||
qb.andWhere('adscripcion.id_adscripcion IN (:...adscripciones)', {
|
|
||||||
adscripciones: filtros.adscripciones
|
// siempre selecciona
|
||||||
})
|
qb.addSelect('adscripcion.adscripcion', 'adscripcion')
|
||||||
|
|
||||||
|
// solo filtra si no es "Todos"
|
||||||
|
if (tieneFiltroReal(filtros.adscripciones)) {
|
||||||
|
qb.andWhere('adscripcion.id_adscripcion IN (:...adscripciones)', {
|
||||||
|
adscripciones: filtros.adscripciones
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// PROCESADOR
|
||||||
if (filtros?.procesadores?.length) {
|
if (filtros?.procesadores?.length) {
|
||||||
qb.andWhere('procesador.id_procesador IN (:...procesadores)', {
|
|
||||||
procesadores: filtros.procesadores
|
|
||||||
})
|
|
||||||
.addSelect('procesador.procesador', 'procesador')
|
|
||||||
|
|
||||||
|
qb.addSelect('procesador.procesador', 'procesador')
|
||||||
|
|
||||||
|
if (tieneFiltroReal(filtros.procesadores)) {
|
||||||
|
qb.andWhere('procesador.id_procesador IN (:...procesadores)', {
|
||||||
|
procesadores: filtros.procesadores
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SISTEMA OPERATIVO
|
||||||
if (filtros?.sistemas?.length) {
|
if (filtros?.sistemas?.length) {
|
||||||
qb.andWhere('sistemaOperativo.id_sistema_operativo IN (:...sistemas)', {
|
|
||||||
sistemas: filtros.sistemas
|
|
||||||
})
|
|
||||||
.addSelect('sistemaOperativo.sistema_operativo', 'so')
|
|
||||||
|
|
||||||
|
qb.addSelect('sistemaOperativo.sistema_operativo', 'so')
|
||||||
|
|
||||||
|
if (tieneFiltroReal(filtros.sistemas)) {
|
||||||
|
qb.andWhere('sistemaOperativo.id_sistema_operativo IN (:...sistemas)', {
|
||||||
|
sistemas: filtros.sistemas
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// USO
|
||||||
if (filtros?.usos?.length) {
|
if (filtros?.usos?.length) {
|
||||||
qb.andWhere('tipoUso.id_uso IN (:...usos)', {
|
|
||||||
usos: filtros.usos
|
qb.addSelect('tipoUso.tipo_uso', 'uso')
|
||||||
})
|
|
||||||
.addSelect('tipoUso.tipo_uso', 'uso')
|
if (tieneFiltroReal(filtros.usos)) {
|
||||||
|
qb.andWhere('tipoUso.id_uso IN (:...usos)', {
|
||||||
|
usos: filtros.usos
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ANTIGÜEDAD
|
||||||
if (filtros?.antiguedad?.length) {
|
if (filtros?.antiguedad?.length) {
|
||||||
qb.andWhere('equipo.antiguedad IN (:...antiguedad)', {
|
|
||||||
antiguedad: filtros.antiguedad
|
qb.addSelect('equipo.antiguedad', 'antiguedad')
|
||||||
})
|
|
||||||
.addSelect('equipo.antiguedad', 'antiguedad')
|
if (tieneFiltroReal(filtros.antiguedad)) {
|
||||||
|
qb.andWhere('equipo.antiguedad IN (:...antiguedad)', {
|
||||||
|
antiguedad: filtros.antiguedad
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return qb
|
return qb
|
||||||
@@ -1324,7 +1354,7 @@ export class EquipoService {
|
|||||||
.getRawMany()
|
.getRawMany()
|
||||||
}
|
}
|
||||||
|
|
||||||
async tablaCount(filtros?: FiltrosGraficaDto) {
|
async tablaCount(filtros?: FiltrosTablaDto) {
|
||||||
const qb = this.equipoRepository
|
const qb = this.equipoRepository
|
||||||
.createQueryBuilder('equipo')
|
.createQueryBuilder('equipo')
|
||||||
.select([])
|
.select([])
|
||||||
@@ -1334,11 +1364,11 @@ export class EquipoService {
|
|||||||
qb.leftJoin('equipo.sistemaOperativo', 'sistemaOperativo')
|
qb.leftJoin('equipo.sistemaOperativo', 'sistemaOperativo')
|
||||||
qb.leftJoin('equipo.tipoUso', 'tipoUso')
|
qb.leftJoin('equipo.tipoUso', 'tipoUso')
|
||||||
|
|
||||||
|
qb.addSelect('adscripcion.adscripcion', 'adscripcion')
|
||||||
if (filtros?.adscripciones?.length) {
|
if (filtros?.adscripciones?.length) {
|
||||||
qb.andWhere('adscripcion.id_adscripcion IN (:...adscripciones)', {
|
qb.andWhere('adscripcion.id_adscripcion IN (:...adscripciones)', {
|
||||||
adscripciones: filtros.adscripciones
|
adscripciones: filtros.adscripciones
|
||||||
})
|
})
|
||||||
qb.addSelect('adscripcion.adscripcion', 'adscripcion')
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filtros?.procesadores?.length) {
|
if (filtros?.procesadores?.length) {
|
||||||
@@ -1372,7 +1402,7 @@ export class EquipoService {
|
|||||||
.getRawMany()
|
.getRawMany()
|
||||||
}
|
}
|
||||||
|
|
||||||
async tablaExcel(filtros?: FiltrosGraficaDto) {
|
async tablaExcel(filtros?: FiltrosTablaDto) {
|
||||||
const qb = this.equipoRepository
|
const qb = this.equipoRepository
|
||||||
.createQueryBuilder('equipo')
|
.createQueryBuilder('equipo')
|
||||||
.select([]);
|
.select([]);
|
||||||
@@ -1384,40 +1414,68 @@ export class EquipoService {
|
|||||||
|
|
||||||
qb.addSelect('equipo.inventario', 'inventario');
|
qb.addSelect('equipo.inventario', 'inventario');
|
||||||
qb.addSelect('adscripcion.adscripcion', 'adscripcion');
|
qb.addSelect('adscripcion.adscripcion', 'adscripcion');
|
||||||
qb.addSelect('equipo.lugar', 'ubicacion')
|
qb.addSelect('equipo.lugar', 'ubicacion');
|
||||||
|
|
||||||
|
const tieneFiltroReal = (arr?: string[]) => arr?.length && !arr.includes("0");
|
||||||
|
|
||||||
|
// ADSCRIPCIONES
|
||||||
if (filtros?.adscripciones?.length) {
|
if (filtros?.adscripciones?.length) {
|
||||||
qb.andWhere('adscripcion.id_adscripcion IN (:...adscripciones)', {
|
|
||||||
adscripciones: filtros.adscripciones
|
qb.addSelect('adscripcion.adscripcion', 'adscripcion');
|
||||||
});
|
|
||||||
|
if (tieneFiltroReal(filtros.adscripciones)) {
|
||||||
|
qb.andWhere('adscripcion.id_adscripcion IN (:...adscripciones)', {
|
||||||
|
adscripciones: filtros.adscripciones
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// PROCESADOR
|
||||||
if (filtros?.procesadores?.length) {
|
if (filtros?.procesadores?.length) {
|
||||||
qb.andWhere('procesador.id_procesador IN (:...procesadores)', {
|
|
||||||
procesadores: filtros.procesadores
|
qb.addSelect('procesador.procesador', 'procesador');
|
||||||
})
|
|
||||||
.addSelect('procesador.procesador', 'procesador');
|
if (tieneFiltroReal(filtros.procesadores)) {
|
||||||
|
qb.andWhere('procesador.id_procesador IN (:...procesadores)', {
|
||||||
|
procesadores: filtros.procesadores
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SISTEMA OPERATIVO
|
||||||
if (filtros?.sistemas?.length) {
|
if (filtros?.sistemas?.length) {
|
||||||
qb.andWhere('sistemaOperativo.id_sistema_operativo IN (:...sistemas)', {
|
|
||||||
sistemas: filtros.sistemas
|
qb.addSelect('sistemaOperativo.sistema_operativo', 'so');
|
||||||
})
|
|
||||||
.addSelect('sistemaOperativo.sistema_operativo', 'so');
|
if (tieneFiltroReal(filtros.sistemas)) {
|
||||||
|
qb.andWhere('sistemaOperativo.id_sistema_operativo IN (:...sistemas)', {
|
||||||
|
sistemas: filtros.sistemas
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// USO
|
||||||
if (filtros?.usos?.length) {
|
if (filtros?.usos?.length) {
|
||||||
qb.andWhere('tipoUso.id_uso IN (:...usos)', {
|
|
||||||
usos: filtros.usos
|
qb.addSelect('tipoUso.tipo_uso', 'uso');
|
||||||
})
|
|
||||||
.addSelect('tipoUso.tipo_uso', 'uso');
|
if (tieneFiltroReal(filtros.usos)) {
|
||||||
|
qb.andWhere('tipoUso.id_uso IN (:...usos)', {
|
||||||
|
usos: filtros.usos
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ANTIGÜEDAD
|
||||||
if (filtros?.antiguedad?.length) {
|
if (filtros?.antiguedad?.length) {
|
||||||
qb.andWhere('equipo.antiguedad IN (:...antiguedad)', {
|
|
||||||
antiguedad: filtros.antiguedad
|
qb.addSelect('equipo.antiguedad', 'antiguedad');
|
||||||
})
|
|
||||||
.addSelect('equipo.antiguedad', 'antiguedad');
|
if (tieneFiltroReal(filtros.antiguedad)) {
|
||||||
|
qb.andWhere('equipo.antiguedad IN (:...antiguedad)', {
|
||||||
|
antiguedad: filtros.antiguedad
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const data = await qb
|
const data = await qb
|
||||||
@@ -1429,7 +1487,7 @@ export class EquipoService {
|
|||||||
|
|
||||||
const columns = [
|
const columns = [
|
||||||
{ header: 'Inventario', key: 'inventario', width: 20 },
|
{ header: 'Inventario', key: 'inventario', width: 20 },
|
||||||
{ header: 'Ubicacion', key: 'ubicacion', width: 40 },
|
{ header: 'Ubicación', key: 'ubicacion', width: 40 },
|
||||||
{ header: 'Adscripción', key: 'adscripcion', width: 40 },
|
{ header: 'Adscripción', key: 'adscripcion', width: 40 },
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -1469,12 +1527,12 @@ export class EquipoService {
|
|||||||
qb.leftJoin('equipo.procesador', 'procesador');
|
qb.leftJoin('equipo.procesador', 'procesador');
|
||||||
qb.leftJoin('equipo.sistemaOperativo', 'sistemaOperativo');
|
qb.leftJoin('equipo.sistemaOperativo', 'sistemaOperativo');
|
||||||
qb.leftJoin('equipo.tipoUso', 'tipoUso');
|
qb.leftJoin('equipo.tipoUso', 'tipoUso');
|
||||||
|
qb.addSelect('adscripcion.adscripcion', 'adscripcion');
|
||||||
|
|
||||||
if (filtros?.adscripciones?.length) {
|
if (filtros?.adscripciones?.length) {
|
||||||
qb.andWhere('adscripcion.id_adscripcion IN (:...adscripciones)', {
|
qb.andWhere('adscripcion.id_adscripcion IN (:...adscripciones)', {
|
||||||
adscripciones: filtros.adscripciones
|
adscripciones: filtros.adscripciones
|
||||||
});
|
});
|
||||||
qb.addSelect('adscripcion.adscripcion', 'adscripcion');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filtros?.procesadores?.length) {
|
if (filtros?.procesadores?.length) {
|
||||||
|
|||||||
Reference in New Issue
Block a user