carritos views
This commit is contained in:
@@ -71,6 +71,8 @@ import { TipoEntrada } from './institucion-tipo-entrada/entity/tipo-entrada.enti
|
||||
import { TipoUsuario } from './tipo-usuario/entity/tipo-usuario.entity';
|
||||
import { Usuario } from './usuario/entity/usuario.entity';
|
||||
|
||||
import { InformacionCarritoView } from './carrito/entity/views/informacion-carrito.view';
|
||||
import { MinInformacionCarritoView } from './carrito/entity/views/min-informacion-carrito.view';
|
||||
import { FullInformacionEquipoView } from './equipo/entity/views/full-informacion-equipo.view';
|
||||
import { InformacionEquipoView } from './equipo/entity/views/informacion-equipo.view';
|
||||
import { InformacionEquipoProgramaView } from './equipo-programa/entity/views/informacion-equipo-programa.view';
|
||||
@@ -144,6 +146,8 @@ import { InformacionUsuarioView } from './usuario/entity/views/informacion-usuar
|
||||
TipoEntrada,
|
||||
TipoUsuario,
|
||||
Usuario,
|
||||
InformacionCarritoView,
|
||||
MinInformacionCarritoView,
|
||||
FullInformacionEquipoView,
|
||||
InformacionEquipoView,
|
||||
InformacionEquipoProgramaView,
|
||||
|
||||
@@ -53,7 +53,7 @@ export class CarritoController {
|
||||
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.carritoService
|
||||
.findById(parseInt(query.id_carrito))
|
||||
.findFullInfoCarritoById(parseInt(query.id_carrito))
|
||||
.then((carrito) => {
|
||||
if (
|
||||
operador.tipoUsuario.id_tipo_usuario > 2 &&
|
||||
@@ -126,7 +126,7 @@ export class CarritoController {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.carritoService.findAll(operador, query);
|
||||
return this.carritoService.findMinInfoCarritoAll(query);
|
||||
}
|
||||
|
||||
@Post()
|
||||
@@ -139,7 +139,7 @@ export class CarritoController {
|
||||
description: 'Todas las variables son obligatorias.',
|
||||
examples: {
|
||||
ejemplo: {
|
||||
value: { id_modulo: 1, id_tipo_carrito: 1, marca: '', modelo: '' },
|
||||
value: { id_modulo: 1, id_tipo_carrito: 1, id_marca: 1, id_modelo: 1 },
|
||||
},
|
||||
},
|
||||
})
|
||||
@@ -169,7 +169,8 @@ export class CarritoController {
|
||||
ejemplo: {
|
||||
value: {
|
||||
id_carrito: 1,
|
||||
_activo: true,
|
||||
activo: true,
|
||||
motivo: '',
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
@@ -4,6 +4,8 @@ import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { CarritoController } from './carrito.controller';
|
||||
import { CarritoService } from './carrito.service';
|
||||
import { Carrito } from './entity/carrito.entity';
|
||||
import { InformacionCarritoView } from './entity/views/informacion-carrito.view';
|
||||
import { MinInformacionCarritoView } from './entity/views/min-informacion-carrito.view';
|
||||
import { CarritoMotivoModule } from '../carrito-motivo/carrito-motivo.module';
|
||||
import { InstitucionModule } from '../institucion/institucion.module';
|
||||
import { InstitucionTipoCarritoModule } from '../institucion-tipo-carrito/institucion-tipo-carrito.module';
|
||||
@@ -21,7 +23,11 @@ import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module'
|
||||
ModeloModule,
|
||||
ModuloModule,
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
TypeOrmModule.forFeature([Carrito]),
|
||||
TypeOrmModule.forFeature([
|
||||
Carrito,
|
||||
InformacionCarritoView,
|
||||
MinInformacionCarritoView,
|
||||
]),
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
controllers: [CarritoController],
|
||||
|
||||
+158
-87
@@ -7,8 +7,10 @@ import {
|
||||
NotFoundException,
|
||||
} from '@nestjs/common';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { Repository } from 'typeorm';
|
||||
import { FindOperator, Like, Repository } from 'typeorm';
|
||||
import { Carrito } from './entity/carrito.entity';
|
||||
import { InformacionCarritoView } from './entity/views/informacion-carrito.view';
|
||||
import { MinInformacionCarritoView } from './entity/views/min-informacion-carrito.view';
|
||||
import { Modulo } from '../modulo/entity/modulo.entity';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { TipoCarrito } from '../institucion-tipo-carrito/entity/tipo-carrito.entity';
|
||||
@@ -23,6 +25,10 @@ import { ModuloService } from '../modulo/modulo.service';
|
||||
export class CarritoService {
|
||||
constructor(
|
||||
@InjectRepository(Carrito) private repository: Repository<Carrito>,
|
||||
@InjectRepository(InformacionCarritoView)
|
||||
private informacionCarritoView: Repository<InformacionCarritoView>,
|
||||
@InjectRepository(MinInformacionCarritoView)
|
||||
private minInformacionCarritoView: Repository<MinInformacionCarritoView>,
|
||||
@Inject(forwardRef(() => CarritoMotivoService))
|
||||
private caritoMotivoService: CarritoMotivoService,
|
||||
private institucionService: InstitucionService,
|
||||
@@ -39,7 +45,7 @@ export class CarritoService {
|
||||
id_marca: number,
|
||||
id_modelo: number,
|
||||
) {
|
||||
const modulo = await this.moduloService.findById(id_modulo);
|
||||
const modulo = await this.moduloService.findInfoModuloById(id_modulo);
|
||||
const tipoCarrito =
|
||||
await this.institucionTipoCarritoService.findTipoCarritoById(
|
||||
id_tipo_carrito,
|
||||
@@ -51,8 +57,13 @@ export class CarritoService {
|
||||
throw new ForbiddenException(
|
||||
'No puedes crear un carrito para este módulo porque no pertenece a tu institución.',
|
||||
);
|
||||
return this.repository
|
||||
.count({ where: { modulo, tipoCarrito } })
|
||||
return this.informacionCarritoView
|
||||
.count({
|
||||
where: {
|
||||
id_modulo: modulo.id_modulo,
|
||||
id_tipo_carrito: tipoCarrito.id_tipo_carrito,
|
||||
},
|
||||
})
|
||||
.then((carritos) =>
|
||||
this.repository.save(
|
||||
this.repository.create({
|
||||
@@ -69,87 +80,6 @@ export class CarritoService {
|
||||
}));
|
||||
}
|
||||
|
||||
async findAll(
|
||||
operador: Operador,
|
||||
filtros: {
|
||||
pagina: string;
|
||||
activo?: string;
|
||||
carrito?: string;
|
||||
id_institucion?: string;
|
||||
id_marca?: string;
|
||||
id_modelo?: string;
|
||||
id_modulo?: string;
|
||||
id_tipo_carrito?: string;
|
||||
},
|
||||
) {
|
||||
const institucion = filtros.id_institucion
|
||||
? await this.institucionService.findById(parseInt(filtros.id_institucion))
|
||||
: null;
|
||||
const marca = filtros.id_marca
|
||||
? await this.marcaService.findById(parseInt(filtros.id_marca), 'c')
|
||||
: null;
|
||||
const modelo = filtros.id_modelo
|
||||
? await this.modeloService.findById(parseInt(filtros.id_modelo), 'c')
|
||||
: null;
|
||||
const modulo = filtros.id_modulo
|
||||
? await this.moduloService.findById(parseInt(filtros.id_modulo))
|
||||
: null;
|
||||
const tipoCarrito = filtros.id_tipo_carrito
|
||||
? await this.institucionTipoCarritoService.findTipoCarritoById(
|
||||
parseInt(filtros.id_tipo_carrito),
|
||||
)
|
||||
: null;
|
||||
const query = this.repository
|
||||
.createQueryBuilder('c')
|
||||
.innerJoinAndSelect('c.marca', 'ma')
|
||||
.innerJoinAndSelect('c.modelo', 'mo')
|
||||
.innerJoinAndSelect('c.modulo', 'm')
|
||||
.innerJoinAndSelect('c.tipoCarrito', 'tc')
|
||||
.innerJoinAndSelect('m.institucion', 'i')
|
||||
.orderBy('i.institucion')
|
||||
.addOrderBy('m.modulo')
|
||||
.addOrderBy('tc.tipo_carrito')
|
||||
.addOrderBy('c.carrito')
|
||||
.skip((parseInt(filtros.pagina) - 1) * 25)
|
||||
.take(25);
|
||||
|
||||
if (modulo) {
|
||||
if (
|
||||
operador.tipoUsuario.id_tipo_usuario > 2 &&
|
||||
operador.institucion.id_institucion != modulo.institucion.id_institucion
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No puedes acceder a esta información porque este módulo no pertenece a tu institución.',
|
||||
);
|
||||
query.andWhere('m.id_modulo = :id_modulo', {
|
||||
id_modulo: modulo.id_modulo,
|
||||
});
|
||||
}
|
||||
if (filtros.activo === 'true') query.andWhere('c.activo = 1');
|
||||
if (filtros.activo === 'false') query.andWhere('c.activo = 0');
|
||||
if (filtros.carrito)
|
||||
query.andWhere('c.carrito LIKE :carrito', {
|
||||
carrito: `%${filtros.carrito}%`,
|
||||
});
|
||||
if (institucion)
|
||||
query.andWhere('i.id_institucion = :id_institucion', {
|
||||
id_institucion: institucion.id_institucion,
|
||||
});
|
||||
if (marca)
|
||||
query.andWhere('ma.id_marca = :id_marca', {
|
||||
id_marca: marca.id_marca,
|
||||
});
|
||||
if (modelo)
|
||||
query.andWhere('mo.id_modelo = :id_modelo', {
|
||||
id_modelo: modelo.id_modelo,
|
||||
});
|
||||
if (tipoCarrito)
|
||||
query.andWhere('tc.id_tipo_carrito = :id_tipo_carrito', {
|
||||
id_tipo_carrito: tipoCarrito.id_tipo_carrito,
|
||||
});
|
||||
return query.getManyAndCount();
|
||||
}
|
||||
|
||||
findById(id_carrito: number) {
|
||||
return this.repository
|
||||
.findOne({ where: { id_carrito } })
|
||||
@@ -167,7 +97,7 @@ export class CarritoService {
|
||||
) {
|
||||
const modulo =
|
||||
typeof id_modulo === 'number'
|
||||
? await this.moduloService.findById(id_modulo)
|
||||
? await this.moduloService.findInfoModuloById(id_modulo)
|
||||
: id_modulo;
|
||||
const tipoCarrito =
|
||||
typeof id_tipo_carrito === 'number'
|
||||
@@ -185,8 +115,149 @@ export class CarritoService {
|
||||
});
|
||||
}
|
||||
|
||||
findInfoCarritoById(id_carrito: number) {
|
||||
return this.informacionCarritoView
|
||||
.findOne({ where: { id_carrito } })
|
||||
.then((infoCarrito) => {
|
||||
if (!infoCarrito)
|
||||
throw new NotFoundException('No existe este id carrito.');
|
||||
return this.repository.create({
|
||||
id_carrito: infoCarrito.id_carrito,
|
||||
tipoCarrito: {
|
||||
id_tipo_carrito: infoCarrito.id_tipo_carrito,
|
||||
},
|
||||
modulo: {
|
||||
id_modulo: infoCarrito.id_modulo,
|
||||
institucion: {
|
||||
id_institucion: infoCarrito.id_institucion,
|
||||
},
|
||||
},
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
findFullInfoCarritoById(id_carrito: number) {
|
||||
return this.minInformacionCarritoView
|
||||
.findOne({ where: { id_carrito } })
|
||||
.then((infoCarrito) => {
|
||||
if (!infoCarrito)
|
||||
throw new NotFoundException('No existe este id carrito.');
|
||||
return this.repository.create({
|
||||
id_carrito: infoCarrito.id_carrito,
|
||||
activo: infoCarrito.activo === 1,
|
||||
carrito: infoCarrito.carrito,
|
||||
marca: {
|
||||
id_marca: infoCarrito.id_marca,
|
||||
marca: infoCarrito.marca,
|
||||
},
|
||||
modelo: {
|
||||
id_modelo: infoCarrito.id_modelo,
|
||||
modelo: infoCarrito.modelo,
|
||||
},
|
||||
modulo: {
|
||||
id_modulo: infoCarrito.id_modulo,
|
||||
modulo: infoCarrito.modulo,
|
||||
institucion: {
|
||||
id_institucion: infoCarrito.id_institucion,
|
||||
institucion: infoCarrito.institucion,
|
||||
},
|
||||
},
|
||||
tipoCarrito: {
|
||||
id_tipo_carrito: infoCarrito.id_tipo_carrito,
|
||||
tipo_carrito: infoCarrito.tipo_carrito,
|
||||
},
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
async findMinInfoCarritoAll(filtros: {
|
||||
pagina: string;
|
||||
activo?: string;
|
||||
carrito?: string;
|
||||
id_institucion?: string;
|
||||
id_marca?: string;
|
||||
id_modelo?: string;
|
||||
id_modulo?: string;
|
||||
id_tipo_carrito?: string;
|
||||
}) {
|
||||
const institucion = filtros.id_institucion
|
||||
? await this.institucionService.findInfoInstitucionById(
|
||||
parseInt(filtros.id_institucion),
|
||||
)
|
||||
: null;
|
||||
const marca = filtros.id_marca
|
||||
? await this.marcaService.findById(parseInt(filtros.id_marca), 'c')
|
||||
: null;
|
||||
const modelo = filtros.id_modelo
|
||||
? await this.modeloService.findById(parseInt(filtros.id_modelo), 'c')
|
||||
: null;
|
||||
const modulo = filtros.id_modulo
|
||||
? await this.moduloService.findInfoModuloById(parseInt(filtros.id_modulo))
|
||||
: null;
|
||||
const tipoCarrito = filtros.id_tipo_carrito
|
||||
? await this.institucionTipoCarritoService.findTipoCarritoById(
|
||||
parseInt(filtros.id_tipo_carrito),
|
||||
)
|
||||
: null;
|
||||
const busqueda: {
|
||||
activo?: number;
|
||||
carrito?: FindOperator<string>;
|
||||
id_institucion?: number;
|
||||
id_marca?: number;
|
||||
id_modelo?: number;
|
||||
id_modulo?: number;
|
||||
id_tipo_carrito?: number;
|
||||
} = {};
|
||||
|
||||
if (filtros.activo === 'true') busqueda.activo = 1;
|
||||
if (filtros.activo === 'false') busqueda.activo = 0;
|
||||
if (filtros.carrito) busqueda.carrito = Like(`%${filtros.carrito}%`);
|
||||
if (institucion) busqueda.id_institucion = institucion.id_institucion;
|
||||
if (modulo) busqueda.id_modulo = modulo.id_modulo;
|
||||
if (marca) busqueda.id_marca = marca.id_marca;
|
||||
if (modelo) busqueda.id_modelo = modelo.id_modelo;
|
||||
if (tipoCarrito) busqueda.id_tipo_carrito = tipoCarrito.id_tipo_carrito;
|
||||
return this.minInformacionCarritoView
|
||||
.findAndCount({
|
||||
where: busqueda,
|
||||
order: {
|
||||
institucion: 'ASC',
|
||||
modulo: 'ASC',
|
||||
tipo_carrito: 'ASC',
|
||||
carrito: 'ASC',
|
||||
},
|
||||
take: 25,
|
||||
skip: (parseInt(filtros.pagina) - 1) * 25,
|
||||
})
|
||||
.then((infoCarritos) => {
|
||||
const carritos: Carrito[] = [];
|
||||
|
||||
for (let i = 0; i < infoCarritos[0].length; i++)
|
||||
carritos.push(
|
||||
this.repository.create({
|
||||
id_carrito: infoCarritos[0][i].id_carrito,
|
||||
activo: infoCarritos[0][i].activo === 1,
|
||||
carrito: infoCarritos[0][i].carrito,
|
||||
modulo: {
|
||||
id_modulo: infoCarritos[0][i].id_modulo,
|
||||
modulo: infoCarritos[0][i].modulo,
|
||||
institucion: {
|
||||
id_institucion: infoCarritos[0][i].id_institucion,
|
||||
institucion: infoCarritos[0][i].institucion,
|
||||
},
|
||||
},
|
||||
tipoCarrito: {
|
||||
id_tipo_carrito: infoCarritos[0][i].id_tipo_carrito,
|
||||
tipo_carrito: infoCarritos[0][i].tipo_carrito,
|
||||
},
|
||||
}),
|
||||
);
|
||||
return [carritos, infoCarritos[1]];
|
||||
});
|
||||
}
|
||||
|
||||
async update(operador: Operador, attrs: Partial<Carrito>, motivo: string) {
|
||||
return this.findById(attrs.id_carrito)
|
||||
return this.findInfoCarritoById(attrs.id_carrito)
|
||||
.then(async (carrito) => {
|
||||
if (
|
||||
operador.institucion.id_institucion !=
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
import { DataSource, ViewEntity, ViewColumn } from 'typeorm';
|
||||
import { Carrito } from '../carrito.entity';
|
||||
import { Modulo } from '../../../modulo/entity/modulo.entity';
|
||||
|
||||
@ViewEntity({
|
||||
expression: (dataSource: DataSource) =>
|
||||
dataSource
|
||||
.createQueryBuilder()
|
||||
.select('c.id_carrito', 'id_carrito')
|
||||
.addSelect('c.carrito', 'carrito')
|
||||
.addSelect('c.id_modulo', 'id_modulo')
|
||||
.addSelect('c.id_tipo_carrito', 'id_tipo_carrito')
|
||||
.addSelect('m.id_institucion', 'id_institucion')
|
||||
.from(Carrito, 'c')
|
||||
.innerJoin(Modulo, 'm', 'm.id_modulo = c.id_modulo'),
|
||||
})
|
||||
export class InformacionCarritoView {
|
||||
@ViewColumn()
|
||||
id_carrito: number;
|
||||
|
||||
@ViewColumn()
|
||||
carrito: string;
|
||||
|
||||
@ViewColumn()
|
||||
id_institucion: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_modulo: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_tipo_carrito: number;
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
import { DataSource, ViewEntity, ViewColumn } from 'typeorm';
|
||||
import { Carrito } from '../carrito.entity';
|
||||
import { Institucion } from '../../../institucion/entity/institucion.entity';
|
||||
import { Modulo } from '../../../modulo/entity/modulo.entity';
|
||||
import { Marca } from '../../../marca/entity/marca.entity';
|
||||
import { Modelo } from '../../../modelo/entity/modelo.entity';
|
||||
import { TipoCarrito } from '../../../institucion-tipo-carrito/entity/tipo-carrito.entity';
|
||||
|
||||
@ViewEntity({
|
||||
expression: (dataSource: DataSource) =>
|
||||
dataSource
|
||||
.createQueryBuilder()
|
||||
.select('c.id_carrito', 'id_carrito')
|
||||
.addSelect('c.activo', 'activo')
|
||||
.addSelect('c.carrito', 'carrito')
|
||||
.addSelect('c.id_marca', 'id_marca')
|
||||
.addSelect('c.id_modelo', 'id_modelo')
|
||||
.addSelect('c.id_modulo', 'id_modulo')
|
||||
.addSelect('c.id_tipo_carrito', 'id_tipo_carrito')
|
||||
.addSelect('m.id_institucion', 'id_institucion')
|
||||
.addSelect('m.modulo', 'modulo')
|
||||
.addSelect('ma.marca', 'marca')
|
||||
.addSelect('mo.modelo', 'modelo')
|
||||
.addSelect('tc.tipo_carrito', 'tipo_carrito')
|
||||
.addSelect('i.institucion', 'institucion')
|
||||
.from(Carrito, 'c')
|
||||
.innerJoin(Marca, 'ma', 'ma.id_marca = c.id_marca')
|
||||
.innerJoin(Modelo, 'mo', 'mo.id_modelo = c.id_modelo')
|
||||
.innerJoin(Modulo, 'm', 'm.id_modulo = c.id_modulo')
|
||||
.innerJoin(TipoCarrito, 'tc', 'tc.id_tipo_carrito = c.id_tipo_carrito')
|
||||
.innerJoin(Institucion, 'i', 'i.id_institucion = m.id_institucion'),
|
||||
})
|
||||
export class MinInformacionCarritoView {
|
||||
@ViewColumn()
|
||||
id_carrito: number;
|
||||
|
||||
@ViewColumn()
|
||||
activo: number;
|
||||
|
||||
@ViewColumn()
|
||||
carrito: string;
|
||||
|
||||
@ViewColumn()
|
||||
id_institucion: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_marca: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_modelo: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_modulo: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_tipo_carrito: number;
|
||||
|
||||
@ViewColumn()
|
||||
institucion: string;
|
||||
|
||||
@ViewColumn()
|
||||
marca: string;
|
||||
|
||||
@ViewColumn()
|
||||
modelo: string;
|
||||
|
||||
@ViewColumn()
|
||||
modulo: string;
|
||||
|
||||
@ViewColumn()
|
||||
tipo_carrito: string;
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
import { DataSource, ViewEntity, ViewColumn } from 'typeorm';
|
||||
import { Modulo } from '../modulo.entity';
|
||||
import { Institucion } from '../../../institucion/entity/institucion.entity';
|
||||
|
||||
@ViewEntity({
|
||||
expression: (dataSource: DataSource) =>
|
||||
@@ -8,8 +7,7 @@ import { Institucion } from '../../../institucion/entity/institucion.entity';
|
||||
.createQueryBuilder()
|
||||
.select('m.id_modulo', 'id_modulo')
|
||||
.addSelect('m.id_institucion', 'id_institucion')
|
||||
.from(Modulo, 'm')
|
||||
.innerJoin(Institucion, 'i', 'i.id_institucion = m.id_institucion'),
|
||||
.from(Modulo, 'm'),
|
||||
})
|
||||
export class InformacionModuloView {
|
||||
@ViewColumn()
|
||||
|
||||
@@ -10,8 +10,8 @@ import { Institucion } from '../../../institucion/entity/institucion.entity';
|
||||
.addSelect('m.activo', 'activo_modulo')
|
||||
.addSelect('m.modulo', 'modulo')
|
||||
.addSelect('m.id_institucion', 'id_institucion')
|
||||
.addSelect('i.institucion', 'institucion')
|
||||
.addSelect('i.activo', 'activo_institucion')
|
||||
.addSelect('i.institucion', 'institucion')
|
||||
.from(Modulo, 'm')
|
||||
.innerJoin(Institucion, 'i', 'i.id_institucion = m.id_institucion'),
|
||||
})
|
||||
@@ -20,10 +20,10 @@ export class MinInformacionModuloView {
|
||||
id_modulo: number;
|
||||
|
||||
@ViewColumn()
|
||||
activo_modulo: number;
|
||||
activo_institucion: number;
|
||||
|
||||
@ViewColumn()
|
||||
activo_institucion: number;
|
||||
activo_modulo: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_institucion: number;
|
||||
|
||||
@@ -250,20 +250,13 @@ export class UploadFileService {
|
||||
if (equipo) {
|
||||
errores.push(
|
||||
`${error} ya existe un equipo de cómputo con el sobrenombre: ${equipo.equipo} en el carrito: ${equipo.carrito}.`,
|
||||
// `${error} ya existe un equipo de cómputo con el sobrenombre: ${equipo.equipo} en el carrito: ${equipo.carrito.carrito}.`,
|
||||
);
|
||||
return;
|
||||
} else {
|
||||
// equipo = await this.equipoService.findByNumeroInventario(
|
||||
// institucion,
|
||||
// dataEquipo.numero_inventario,
|
||||
// false,
|
||||
// );
|
||||
equipo = await this.equipoService.informacionEquipoNumeroInventario(
|
||||
institucion.id_institucion,
|
||||
dataEquipo.numero_inventario,
|
||||
);
|
||||
|
||||
if (equipo) {
|
||||
errores.push(
|
||||
`${error} ya existe un equipo con ese número de inventario en esta institución.`,
|
||||
|
||||
Reference in New Issue
Block a user