modified table
This commit is contained in:
@@ -33,22 +33,22 @@ export class FiltrosTablaDto {
|
||||
|
||||
@IsArray()
|
||||
@IsString({ each: true })
|
||||
adscripciones?: number[]
|
||||
adscripciones?: string[]
|
||||
|
||||
@IsOptional()
|
||||
@IsArray()
|
||||
@IsString({ each: true })
|
||||
procesadores?: number[]
|
||||
procesadores?: string[]
|
||||
|
||||
@IsOptional()
|
||||
@IsArray()
|
||||
@IsString({ each: true })
|
||||
sistemas?: number[]
|
||||
sistemas?: string[]
|
||||
|
||||
@IsOptional()
|
||||
@IsArray()
|
||||
@IsString({ each: true })
|
||||
usos?: number[]
|
||||
usos?: string[]
|
||||
|
||||
@IsOptional()
|
||||
@IsArray()
|
||||
|
||||
@@ -59,7 +59,7 @@ export class EquipoController {
|
||||
@Post('excel/tabla')
|
||||
async exceltabla(
|
||||
@Res() res: Response,
|
||||
@Body() filtros: FiltrosGraficaDto
|
||||
@Body() filtros: FiltrosTablaDto
|
||||
) {
|
||||
const buffer = await this.equipoService.tablaExcel(filtros);
|
||||
|
||||
@@ -87,7 +87,7 @@ export class EquipoController {
|
||||
|
||||
res.send(buffer);
|
||||
}
|
||||
|
||||
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@Get('buscar/:inv')
|
||||
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 { Cron } from '@nestjs/schedule';
|
||||
import { FiltrosGraficaDto } from './dto/grafica.dto';
|
||||
import { FiltrosGraficaDto, FiltrosTablaDto } from './dto/grafica.dto';
|
||||
|
||||
@Injectable()
|
||||
export class EquipoService {
|
||||
@@ -1269,7 +1269,7 @@ export class EquipoService {
|
||||
|
||||
}
|
||||
|
||||
async tabla(filtros?: FiltrosGraficaDto) {
|
||||
async tabla(filtros?: FiltrosTablaDto) {
|
||||
const qb = this.equipoRepository
|
||||
.createQueryBuilder('equipo')
|
||||
.select([])
|
||||
@@ -1283,40 +1283,70 @@ export class EquipoService {
|
||||
qb.addSelect('adscripcion.adscripcion', 'adscripcion')
|
||||
qb.addSelect('equipo.lugar', 'ubicacion')
|
||||
|
||||
const tieneFiltroReal = (arr?: string[]) => arr?.length && !arr.includes("0")
|
||||
|
||||
console.log(filtros)
|
||||
|
||||
// ADSCRIPCIONES
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
qb.andWhere('tipoUso.id_uso IN (:...usos)', {
|
||||
usos: filtros.usos
|
||||
})
|
||||
.addSelect('tipoUso.tipo_uso', 'uso')
|
||||
|
||||
qb.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) {
|
||||
qb.andWhere('equipo.antiguedad IN (:...antiguedad)', {
|
||||
antiguedad: filtros.antiguedad
|
||||
})
|
||||
.addSelect('equipo.antiguedad', 'antiguedad')
|
||||
|
||||
qb.addSelect('equipo.antiguedad', 'antiguedad')
|
||||
|
||||
if (tieneFiltroReal(filtros.antiguedad)) {
|
||||
qb.andWhere('equipo.antiguedad IN (:...antiguedad)', {
|
||||
antiguedad: filtros.antiguedad
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
return qb
|
||||
@@ -1324,7 +1354,7 @@ export class EquipoService {
|
||||
.getRawMany()
|
||||
}
|
||||
|
||||
async tablaCount(filtros?: FiltrosGraficaDto) {
|
||||
async tablaCount(filtros?: FiltrosTablaDto) {
|
||||
const qb = this.equipoRepository
|
||||
.createQueryBuilder('equipo')
|
||||
.select([])
|
||||
@@ -1334,11 +1364,11 @@ export class EquipoService {
|
||||
qb.leftJoin('equipo.sistemaOperativo', 'sistemaOperativo')
|
||||
qb.leftJoin('equipo.tipoUso', 'tipoUso')
|
||||
|
||||
qb.addSelect('adscripcion.adscripcion', 'adscripcion')
|
||||
if (filtros?.adscripciones?.length) {
|
||||
qb.andWhere('adscripcion.id_adscripcion IN (:...adscripciones)', {
|
||||
adscripciones: filtros.adscripciones
|
||||
})
|
||||
qb.addSelect('adscripcion.adscripcion', 'adscripcion')
|
||||
}
|
||||
|
||||
if (filtros?.procesadores?.length) {
|
||||
@@ -1372,7 +1402,7 @@ export class EquipoService {
|
||||
.getRawMany()
|
||||
}
|
||||
|
||||
async tablaExcel(filtros?: FiltrosGraficaDto) {
|
||||
async tablaExcel(filtros?: FiltrosTablaDto) {
|
||||
const qb = this.equipoRepository
|
||||
.createQueryBuilder('equipo')
|
||||
.select([]);
|
||||
@@ -1384,40 +1414,68 @@ export class EquipoService {
|
||||
|
||||
qb.addSelect('equipo.inventario', 'inventario');
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
qb.andWhere('tipoUso.id_uso IN (:...usos)', {
|
||||
usos: filtros.usos
|
||||
})
|
||||
.addSelect('tipoUso.tipo_uso', 'uso');
|
||||
|
||||
qb.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) {
|
||||
qb.andWhere('equipo.antiguedad IN (:...antiguedad)', {
|
||||
antiguedad: filtros.antiguedad
|
||||
})
|
||||
.addSelect('equipo.antiguedad', 'antiguedad');
|
||||
|
||||
qb.addSelect('equipo.antiguedad', 'antiguedad');
|
||||
|
||||
if (tieneFiltroReal(filtros.antiguedad)) {
|
||||
qb.andWhere('equipo.antiguedad IN (:...antiguedad)', {
|
||||
antiguedad: filtros.antiguedad
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const data = await qb
|
||||
@@ -1429,7 +1487,7 @@ export class EquipoService {
|
||||
|
||||
const columns = [
|
||||
{ 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 },
|
||||
];
|
||||
|
||||
@@ -1469,12 +1527,12 @@ export class EquipoService {
|
||||
qb.leftJoin('equipo.procesador', 'procesador');
|
||||
qb.leftJoin('equipo.sistemaOperativo', 'sistemaOperativo');
|
||||
qb.leftJoin('equipo.tipoUso', 'tipoUso');
|
||||
qb.addSelect('adscripcion.adscripcion', 'adscripcion');
|
||||
|
||||
if (filtros?.adscripciones?.length) {
|
||||
qb.andWhere('adscripcion.id_adscripcion IN (:...adscripciones)', {
|
||||
adscripciones: filtros.adscripciones
|
||||
});
|
||||
qb.addSelect('adscripcion.adscripcion', 'adscripcion');
|
||||
}
|
||||
|
||||
if (filtros?.procesadores?.length) {
|
||||
|
||||
Reference in New Issue
Block a user