dejando de usar repository y usando views
This commit is contained in:
parent
5c06efb3b3
commit
eb792ed281
@ -10,15 +10,15 @@ import { Socket, Server } from 'socket.io';
|
||||
@WebSocketGateway({
|
||||
cors: {
|
||||
origin: [
|
||||
// 'http://localhost:3176',
|
||||
// 'http://localhost:3186',
|
||||
'http://localhost:3176',
|
||||
'http://localhost:3186',
|
||||
// 'http://132.248.80.196:3155',
|
||||
// 'http://132.248.80.196:3185',
|
||||
// 'https://pmodulospcpuma.unam.mx',
|
||||
// 'https://pmodulospcpuma.unam.mx:3015',
|
||||
'https://modulospcpuma.unam.mx',
|
||||
'https://modulospcpuma.unam.mx:3015',
|
||||
'https://betelgeuse.acatlan.unam.mx:3180',
|
||||
// 'https://modulospcpuma.unam.mx',
|
||||
// 'https://modulospcpuma.unam.mx:3015',
|
||||
// 'https://betelgeuse.acatlan.unam.mx:3180',
|
||||
],
|
||||
},
|
||||
})
|
||||
|
@ -115,8 +115,7 @@ export class PrestamoController {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
// return this.prestamoService.findAll(query);
|
||||
return this.prestamoService.findInfoPrestamoAll(query);
|
||||
return this.prestamoService.findFullInfoPrestamoAll(query);
|
||||
}
|
||||
|
||||
@Put('cancelar-operador')
|
||||
@ -254,8 +253,7 @@ export class PrestamoController {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
this.validarUsuarioService.validarOperador(operador);
|
||||
// return this.prestamoService.findAll(query);
|
||||
return this.prestamoService.findInfoPrestamoAll(query);
|
||||
return this.prestamoService.findFullInfoPrestamoAll(query);
|
||||
}
|
||||
|
||||
@Serealize(PrestamosEquipoOutputDto)
|
||||
|
@ -105,10 +105,10 @@ export class PrestamoService {
|
||||
.update(prestamo.equipo, null, 1)
|
||||
.then((_) => this.repository.save(prestamo))
|
||||
.then((_) => {
|
||||
this.appGateway.actualizarUsuario(prestamo.usuario.id_usuario);
|
||||
this.appGateway.actualizarOperador(
|
||||
prestamo.equipo.carrito.modulo.institucion.id_institucion,
|
||||
);
|
||||
this.appGateway.actualizarUsuario(prestamo.usuario.id_usuario);
|
||||
return { message: 'Se canceló correctamente este préstamo.' };
|
||||
});
|
||||
}
|
||||
@ -148,36 +148,37 @@ export class PrestamoService {
|
||||
)
|
||||
: null;
|
||||
|
||||
if (ahora.weekday() === 0)
|
||||
throw new ConflictException('No hay servicio los días domingo.');
|
||||
this.validarInstitucionUsuario(usuario.instituciones, modulo);
|
||||
if (!institucionDia.activo)
|
||||
throw new ConflictException(
|
||||
'El día de hoy no hay servicio de préstamo de equipos.',
|
||||
);
|
||||
if (ahora < horaMin)
|
||||
throw new ConflictException(
|
||||
`El servicio inicia a las ${institucionDia.hora_inicio} el día de hoy.`,
|
||||
);
|
||||
if (ahora >= horaExtra)
|
||||
throw new ConflictException(
|
||||
`El servicio terminó a las ${institucionDia.hora_extra} el día de hoy.`,
|
||||
);
|
||||
for (let i = 0; i < institucionDia.horasExcepcion.length; i++) {
|
||||
const horaFin = moment(
|
||||
`${ahoraStr} ${institucionDia.horasExcepcion[i].hora_fin}`,
|
||||
);
|
||||
const horaInicio = moment(
|
||||
`${ahoraStr} ${institucionDia.horasExcepcion[i].hora_inicio}`,
|
||||
);
|
||||
// if (ahora.weekday() === 0)
|
||||
// throw new ConflictException('No hay servicio los días domingo.');
|
||||
// this.validarInstitucionUsuario(usuario.instituciones, modulo);
|
||||
// if (!institucionDia.activo)
|
||||
// throw new ConflictException(
|
||||
// 'El día de hoy no hay servicio de préstamo de equipos.',
|
||||
// );
|
||||
// if (ahora < horaMin)
|
||||
// throw new ConflictException(
|
||||
// `El servicio inicia a las ${institucionDia.hora_inicio} el día de hoy.`,
|
||||
// );
|
||||
// if (ahora >= horaExtra)
|
||||
// throw new ConflictException(
|
||||
// `El servicio terminó a las ${institucionDia.hora_extra} el día de hoy.`,
|
||||
// );
|
||||
// for (let i = 0; i < institucionDia.horasExcepcion.length; i++) {
|
||||
// const horaFin = moment(
|
||||
// `${ahoraStr} ${institucionDia.horasExcepcion[i].hora_fin}`,
|
||||
// );
|
||||
// const horaInicio = moment(
|
||||
// `${ahoraStr} ${institucionDia.horasExcepcion[i].hora_inicio}`,
|
||||
// );
|
||||
|
||||
if (ahora > horaInicio && ahora < horaFin)
|
||||
throw new ConflictException(
|
||||
`Se suspendió temporalmente el servicio de ${institucionDia.horasExcepcion[i].hora_inicio} a ${institucionDia.horasExcepcion[i].hora_fin}.`,
|
||||
);
|
||||
}
|
||||
return this.repository
|
||||
.findOne({ where: { activo: true, usuario } })
|
||||
// if (ahora > horaInicio && ahora < horaFin)
|
||||
// throw new ConflictException(
|
||||
// `Se suspendió temporalmente el servicio de ${institucionDia.horasExcepcion[i].hora_inicio} a ${institucionDia.horasExcepcion[i].hora_fin}.`,
|
||||
// );
|
||||
// }
|
||||
|
||||
return this.informacionPrestamoView
|
||||
.findOne({ where: { activo: 1, id_usuario: usuario.id_usuario } })
|
||||
.then((existePrestamo) => {
|
||||
if (existePrestamo)
|
||||
throw new ConflictException(
|
||||
@ -249,31 +250,26 @@ export class PrestamoService {
|
||||
async desactivarPrestamos() {
|
||||
const ahora = moment();
|
||||
|
||||
return this.repository
|
||||
.find({
|
||||
join: { alias: 'p', innerJoin: { e: 'p.equipo', s: 'e.status' } },
|
||||
where: { activo: true, equipo: { status: { id_status: 2 } } },
|
||||
})
|
||||
.then(async (prestamos) => {
|
||||
for (let i = 0; i < prestamos.length; i++)
|
||||
if (ahora.diff(moment(prestamos[i].hora_max_recoger)) > 0) {
|
||||
prestamos[i].activo = false;
|
||||
prestamos[i].cancelado_operador = true;
|
||||
await this.repository
|
||||
.save(prestamos[i])
|
||||
.then((_) =>
|
||||
this.equipoService.update(prestamos[i].equipo, null, 1),
|
||||
)
|
||||
.then((_) => {
|
||||
this.appGateway.actualizarOperador(
|
||||
prestamos[i].equipo.carrito.modulo.institucion.id_institucion,
|
||||
);
|
||||
this.appGateway.actualizarUsuario(
|
||||
prestamos[i].usuario.id_usuario,
|
||||
);
|
||||
});
|
||||
}
|
||||
});
|
||||
return this.findInfoPrestamoDesactivables().then(async (prestamos) => {
|
||||
for (let i = 0; i < prestamos.length; i++)
|
||||
if (ahora.diff(moment(prestamos[i].hora_max_recoger)) > 0) {
|
||||
prestamos[i].activo = false;
|
||||
prestamos[i].cancelado_operador = true;
|
||||
await this.repository
|
||||
.save(prestamos[i])
|
||||
.then((_) =>
|
||||
this.equipoService.update(prestamos[i].equipo, null, 1),
|
||||
)
|
||||
.then((_) => {
|
||||
this.appGateway.actualizarOperador(
|
||||
prestamos[i].equipo.carrito.modulo.institucion.id_institucion,
|
||||
);
|
||||
this.appGateway.actualizarUsuario(
|
||||
prestamos[i].usuario.id_usuario,
|
||||
);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
async entregar(operadorEntrega: Operador, id_prestamo: number) {
|
||||
@ -309,207 +305,113 @@ export class PrestamoService {
|
||||
.then((_) => this.equipoService.update(prestamo.equipo, null, 3))
|
||||
.then((_) => {
|
||||
this.appGateway.actualizarUsuario(prestamo.usuario.id_usuario);
|
||||
return {
|
||||
message: 'Se entregó el equipo de cómputo al usuario.',
|
||||
equipo: prestamo.equipo,
|
||||
};
|
||||
this.appGateway.actualizarOperador(
|
||||
prestamo.equipo.carrito.modulo.institucion.id_institucion,
|
||||
);
|
||||
return prestamo.equipo;
|
||||
});
|
||||
}
|
||||
|
||||
async findAll(filtros: {
|
||||
pagina?: string;
|
||||
activo?: string | boolean;
|
||||
cancelado_operador?: string;
|
||||
cancelado_usuario?: string;
|
||||
carrito?: string;
|
||||
equipo?: string;
|
||||
fechaFin?: string;
|
||||
fechaInicio?: string;
|
||||
id_institucion?: string;
|
||||
id_modulo?: string;
|
||||
id_operador_entrega?: string;
|
||||
id_operador_regreso?: string;
|
||||
id_prestamo?: string;
|
||||
id_tipo_carrito?: string;
|
||||
id_tipo_usuario?: string;
|
||||
usuario?: string;
|
||||
}) {
|
||||
const institucion = filtros.id_institucion
|
||||
? await this.institucionService.findInfoInstitucionById(
|
||||
parseInt(filtros.id_institucion),
|
||||
)
|
||||
: null;
|
||||
const modulo = filtros.id_modulo
|
||||
? await this.moduloService.findInfoModuloById(parseInt(filtros.id_modulo))
|
||||
: null;
|
||||
const operadorEntrega = filtros.id_operador_entrega
|
||||
? await this.operadorService.findById(
|
||||
parseInt(filtros.id_operador_entrega),
|
||||
)
|
||||
: null;
|
||||
const operadorRegreso = filtros.id_operador_regreso
|
||||
? await this.operadorService.findById(
|
||||
parseInt(filtros.id_operador_regreso),
|
||||
)
|
||||
: null;
|
||||
const tipoCarrito = filtros.id_tipo_carrito
|
||||
? await this.institucionTipoCarritoService.findTipoCarritoById(
|
||||
parseInt(filtros.id_tipo_carrito),
|
||||
)
|
||||
: null;
|
||||
const tipoUsuario = filtros.id_tipo_usuario
|
||||
? await this.tipoUsuarioService.findById(
|
||||
parseInt(filtros.id_tipo_usuario),
|
||||
)
|
||||
: null;
|
||||
const query = this.repository
|
||||
.createQueryBuilder('p')
|
||||
.innerJoinAndSelect('p.equipo', 'e')
|
||||
.innerJoinAndSelect('p.operadorEntrega', 'oe')
|
||||
.innerJoinAndSelect('p.operadorRegreso', 'or')
|
||||
.innerJoinAndSelect('p.usuario', 'u')
|
||||
.innerJoinAndSelect('e.carrito', 'c')
|
||||
.innerJoinAndSelect('e.status', 's')
|
||||
.innerJoinAndSelect('oe.tipoUsuario', 'tuoe')
|
||||
.innerJoinAndSelect('or.tipoUsuario', 'tuor')
|
||||
.innerJoinAndSelect('u.tipoUsuario', 'tu')
|
||||
.innerJoinAndSelect('u.instituciones', 'is')
|
||||
.innerJoinAndSelect('c.modulo', 'm')
|
||||
.innerJoinAndSelect('c.tipoCarrito', 'tc')
|
||||
.innerJoinAndSelect('is.institucionCarrera', 'ic')
|
||||
.innerJoinAndSelect('m.institucion', 'i')
|
||||
.innerJoinAndSelect('ic.carrera', 'ca')
|
||||
.innerJoinAndSelect('ic.institucion', 'in')
|
||||
.orderBy(
|
||||
'p.id_prestamo',
|
||||
filtros.activo && typeof filtros.activo === 'boolean' ? 'ASC' : 'DESC',
|
||||
)
|
||||
.addOrderBy('i.institucion')
|
||||
.addOrderBy('m.modulo')
|
||||
.addOrderBy('tc.tipo_carrito')
|
||||
.addOrderBy('c.carrito')
|
||||
.addOrderBy('e.equipo');
|
||||
|
||||
if (filtros.pagina)
|
||||
query.skip((parseInt(filtros.pagina) - 1) * 25).take(25);
|
||||
if (filtros.activo) {
|
||||
if (typeof filtros.activo === 'boolean')
|
||||
query.andWhere('p.activo = :activo', { activo: filtros.activo });
|
||||
else
|
||||
query.andWhere('p.activo = :activo', {
|
||||
activo: filtros.activo === 'true',
|
||||
});
|
||||
}
|
||||
if (filtros.cancelado_operador)
|
||||
query.andWhere('p.cancelado_operador = :cancelado_operador', {
|
||||
cancelado_operador: filtros.cancelado_operador === 'true',
|
||||
});
|
||||
if (filtros.cancelado_usuario)
|
||||
query.andWhere('p.cancelado_usuario = :cancelado_usuario', {
|
||||
cancelado_usuario: filtros.cancelado_usuario === 'true',
|
||||
});
|
||||
if (filtros.fechaInicio)
|
||||
query.andWhere('p.fecha_inicio >= :fechaInicio', {
|
||||
fechaInicio: filtros.fechaInicio,
|
||||
});
|
||||
if (filtros.fechaFin)
|
||||
query.andWhere('p.fecha_inicio <= :fechaFin', {
|
||||
fechaFin: filtros.fechaFin,
|
||||
});
|
||||
if (filtros.id_prestamo)
|
||||
query.andWhere('p.id_prestamo LIKE :id_prestamo', {
|
||||
id_prestamo: `%${filtros.id_prestamo}%`,
|
||||
});
|
||||
if (filtros.carrito)
|
||||
query.andWhere('c.carrito LIKE :carrito', {
|
||||
carrito: `%${filtros.carrito}%`,
|
||||
});
|
||||
if (filtros.equipo)
|
||||
query.andWhere('e.equipo LIKE :equipo', {
|
||||
equipo: `%${filtros.equipo}%`,
|
||||
});
|
||||
if (filtros.usuario)
|
||||
query.andWhere('u.usuario LIKE :usuario', {
|
||||
usuario: `%${filtros.usuario}%`,
|
||||
});
|
||||
if (institucion)
|
||||
query.andWhere('i.id_institucion = :id_institucion', {
|
||||
id_institucion: institucion.id_institucion,
|
||||
});
|
||||
if (modulo)
|
||||
query.andWhere('m.id_modulo = :id_modulo', {
|
||||
id_modulo: modulo.id_modulo,
|
||||
});
|
||||
if (tipoCarrito)
|
||||
query.andWhere('tc.id_tipo_carrito = :id_tipo_carrito', {
|
||||
id_tipo_carrito: tipoCarrito.id_tipo_carrito,
|
||||
});
|
||||
if (tipoUsuario)
|
||||
query.andWhere('tu.id_tipo_usuario = :id_tipo_usuario', {
|
||||
id_tipo_usuario: tipoUsuario.id_tipo_usuario,
|
||||
});
|
||||
if (operadorEntrega)
|
||||
query.andWhere('p.id_operador_entrega = :id_operador_entrega', {
|
||||
id_operador_entrega: operadorEntrega.id_operador,
|
||||
});
|
||||
if (operadorRegreso)
|
||||
query.andWhere('p.id_operador_regreso = :id_operador_regreso', {
|
||||
id_operador_regreso: operadorRegreso.id_operador,
|
||||
});
|
||||
return query.getManyAndCount();
|
||||
}
|
||||
|
||||
findAllByIdUsuario(id_usuario: number, pagina: number) {
|
||||
return this.usuarioService
|
||||
.findById(id_usuario, true, true)
|
||||
.then((usuario) =>
|
||||
this.repository
|
||||
.createQueryBuilder('p')
|
||||
.innerJoinAndSelect('p.equipo', 'e')
|
||||
.innerJoinAndSelect('p.operadorEntrega', 'oe')
|
||||
.innerJoinAndSelect('p.operadorRegreso', 'or')
|
||||
.innerJoinAndSelect('p.usuario', 'u', 'u.id_usuario = :id_usuario', {
|
||||
id_usuario: usuario.id_usuario,
|
||||
})
|
||||
.innerJoinAndSelect('e.carrito', 'c')
|
||||
.innerJoinAndSelect('e.status', 's')
|
||||
.innerJoinAndSelect('oe.tipoUsuario', 'tuoe')
|
||||
.innerJoinAndSelect('or.tipoUsuario', 'tuor')
|
||||
.innerJoinAndSelect('c.tipoCarrito', 'tc')
|
||||
.innerJoinAndSelect('c.modulo', 'm')
|
||||
.innerJoinAndSelect('m.institucion', 'i')
|
||||
.skip((pagina - 1) * 25)
|
||||
.take(25)
|
||||
.getManyAndCount(),
|
||||
);
|
||||
return this.fullInformacionPrestamoView
|
||||
.findAndCount({
|
||||
where: { id_usuario },
|
||||
order: { id_prestamo: 'DESC' },
|
||||
skip: (pagina - 1) * 25,
|
||||
take: 25,
|
||||
})
|
||||
.then((infoPrestamos) => {
|
||||
const prestamos: Prestamo[] = [];
|
||||
|
||||
for (let i = 0; i < infoPrestamos[0].length; i++)
|
||||
prestamos.push(
|
||||
this.repository.create({
|
||||
id_prestamo: infoPrestamos[0][i].id_prestamo,
|
||||
activo: infoPrestamos[0][i].activo === 1,
|
||||
cancelado_operador: infoPrestamos[0][i].cancelado_operador === 1,
|
||||
cancelado_usuario: infoPrestamos[0][i].cancelado_usuario === 1,
|
||||
fecha_entrega: infoPrestamos[0][i].fecha_entrega,
|
||||
fecha_inicio: infoPrestamos[0][i].fecha_inicio,
|
||||
hora_fin: infoPrestamos[0][i].hora_fin,
|
||||
hora_inicio: infoPrestamos[0][i].hora_inicio,
|
||||
hora_max_recoger: infoPrestamos[0][i].hora_max_recoger,
|
||||
equipo: {
|
||||
id_equipo: infoPrestamos[0][i].id_equipo,
|
||||
equipo: infoPrestamos[0][i].equipo,
|
||||
numero_inventario: infoPrestamos[0][i].numero_inventario,
|
||||
carrito: {
|
||||
id_carrito: infoPrestamos[0][i].id_carrito,
|
||||
carrito: infoPrestamos[0][i].carrito,
|
||||
modulo: {
|
||||
id_modulo: infoPrestamos[0][i].id_modulo,
|
||||
modulo: infoPrestamos[0][i].modulo,
|
||||
institucion: {
|
||||
id_institucion: infoPrestamos[0][i].id_institucion,
|
||||
institucion: infoPrestamos[0][i].institucion,
|
||||
},
|
||||
},
|
||||
tipoCarrito: {
|
||||
id_tipo_carrito: infoPrestamos[0][i].id_tipo_carrito,
|
||||
tipo_carrito: infoPrestamos[0][i].tipo_carrito,
|
||||
},
|
||||
},
|
||||
},
|
||||
operadorEntrega: {
|
||||
id_operador: infoPrestamos[0][i].id_operador_entrega,
|
||||
operador: infoPrestamos[0][i].operador_entrega,
|
||||
},
|
||||
operadorRegreso: {
|
||||
id_operador: infoPrestamos[0][i].id_operador_regreso,
|
||||
operador: infoPrestamos[0][i].operador_regreso,
|
||||
},
|
||||
}),
|
||||
);
|
||||
return [prestamos, infoPrestamos[1]];
|
||||
});
|
||||
}
|
||||
|
||||
async findAllByIdEquipo(id_equipo: number, pagina: number) {
|
||||
return this.equipoService.findInfoEquipoById(id_equipo).then((equipo) =>
|
||||
this.repository
|
||||
.createQueryBuilder('p')
|
||||
.innerJoinAndSelect('p.equipo', 'e', 'e.id_equipo = :id_equipo', {
|
||||
id_equipo: equipo.id_equipo,
|
||||
})
|
||||
.innerJoinAndSelect('p.operadorEntrega', 'oe')
|
||||
.innerJoinAndSelect('p.operadorRegreso', 'or')
|
||||
.innerJoinAndSelect('p.usuario', 'u')
|
||||
.innerJoinAndSelect('e.carrito', 'c')
|
||||
.innerJoinAndSelect('e.status', 's')
|
||||
.innerJoinAndSelect('oe.tipoUsuario', 'tuoe')
|
||||
.innerJoinAndSelect('or.tipoUsuario', 'tuor')
|
||||
.innerJoinAndSelect('u.instituciones', 'is')
|
||||
.innerJoinAndSelect('c.modulo', 'm')
|
||||
.innerJoinAndSelect('c.tipoCarrito', 'tc')
|
||||
.innerJoinAndSelect('is.institucionCarrera', 'ic')
|
||||
.innerJoinAndSelect('m.institucion', 'i')
|
||||
.innerJoinAndSelect('ic.carrera', 'ca')
|
||||
.innerJoinAndSelect('ic.institucion', 'in')
|
||||
.orderBy('p.id_prestamo', 'DESC')
|
||||
.skip((pagina - 1) * 25)
|
||||
.take(25)
|
||||
.getManyAndCount(),
|
||||
);
|
||||
return this.fullInformacionPrestamoView
|
||||
.findAndCount({
|
||||
where: { id_equipo },
|
||||
order: { id_prestamo: 'DESC' },
|
||||
skip: (pagina - 1) * 25,
|
||||
take: 25,
|
||||
})
|
||||
.then((infoPrestamos) => {
|
||||
const prestamos: Prestamo[] = [];
|
||||
for (let i = 0; i < infoPrestamos[0].length; i++)
|
||||
prestamos.push(
|
||||
this.repository.create({
|
||||
id_prestamo: infoPrestamos[0][i].id_prestamo,
|
||||
activo: infoPrestamos[0][i].activo === 1,
|
||||
cancelado_operador: infoPrestamos[0][i].cancelado_operador === 1,
|
||||
cancelado_usuario: infoPrestamos[0][i].cancelado_usuario === 1,
|
||||
fecha_entrega: infoPrestamos[0][i].fecha_entrega,
|
||||
fecha_inicio: infoPrestamos[0][i].fecha_inicio,
|
||||
hora_fin: infoPrestamos[0][i].hora_fin,
|
||||
hora_inicio: infoPrestamos[0][i].hora_inicio,
|
||||
hora_max_recoger: infoPrestamos[0][i].hora_max_recoger,
|
||||
usuario: {
|
||||
id_usuario: infoPrestamos[0][i].id_usuario,
|
||||
nombre: infoPrestamos[0][i].nombre,
|
||||
usuario: infoPrestamos[0][i].usuario,
|
||||
tipoUsuario: {
|
||||
id_tipo_usuario: infoPrestamos[0][i].id_tipo_usuario,
|
||||
},
|
||||
},
|
||||
operadorEntrega: {
|
||||
id_operador: infoPrestamos[0][i].id_operador_entrega,
|
||||
operador: infoPrestamos[0][i].operador_entrega,
|
||||
},
|
||||
operadorRegreso: {
|
||||
id_operador: infoPrestamos[0][i].id_operador_regreso,
|
||||
operador: infoPrestamos[0][i].operador_regreso,
|
||||
},
|
||||
}),
|
||||
);
|
||||
return [prestamos, infoPrestamos[1]];
|
||||
});
|
||||
}
|
||||
|
||||
findById(id_prestamo: number) {
|
||||
@ -540,7 +442,7 @@ export class PrestamoService {
|
||||
});
|
||||
}
|
||||
|
||||
async findInfoPrestamoAll(filtros: {
|
||||
async findFullInfoPrestamoAll(filtros: {
|
||||
pagina?: string;
|
||||
activo?: string | boolean;
|
||||
cancelado_operador?: string;
|
||||
@ -693,6 +595,18 @@ export class PrestamoService {
|
||||
});
|
||||
}
|
||||
|
||||
findInfoPrestamoDesactivables() {
|
||||
return this.informacionPrestamoView
|
||||
.find({ where: { activo: 1, id_status: 2 } })
|
||||
.then((infoPrestamo) => {
|
||||
const prstamos: Prestamo[] = [];
|
||||
|
||||
for (let i = 0; i < infoPrestamo.length; i++)
|
||||
this.viewToPrestamo(infoPrestamo[i]);
|
||||
return prstamos;
|
||||
});
|
||||
}
|
||||
|
||||
async findInfoPrestamoByNumeroInventario(
|
||||
institucion: Institucion,
|
||||
numero_inventario: string,
|
||||
|
Loading…
Reference in New Issue
Block a user