find all view
This commit is contained in:
+5
-5
@@ -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',
|
||||
],
|
||||
},
|
||||
})
|
||||
|
||||
@@ -88,6 +88,7 @@ import { FullInformacionMultaView } from './multa/entity/views/full-informacion-
|
||||
import { InformacionMultaView } from './multa/entity/views/informacion-multa.view';
|
||||
import { InformacionOperadorView } from './operador/entity/views/informacion-operador.view';
|
||||
import { FullInformacionPrestamoView } from './prestamo/entity/views/full-informacion-prestamo.view';
|
||||
import { PrestamoInformacionView } from './prestamo/entity/views/prestamo-informacion.view';
|
||||
import { InformacionPrestamoView } from './prestamo/entity/views/informacion-prestamo.view';
|
||||
import { InformacionUsuarioView } from './usuario/entity/views/informacion-usuario.view';
|
||||
|
||||
@@ -166,6 +167,7 @@ import { InformacionUsuarioView } from './usuario/entity/views/informacion-usuar
|
||||
InformacionMultaView,
|
||||
InformacionOperadorView,
|
||||
FullInformacionPrestamoView,
|
||||
PrestamoInformacionView,
|
||||
InformacionPrestamoView,
|
||||
InformacionUsuarioView,
|
||||
],
|
||||
|
||||
@@ -4,7 +4,7 @@ import {
|
||||
NotFoundException,
|
||||
} from '@nestjs/common';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { Repository } from 'typeorm';
|
||||
import { FindOptionsWhere, Repository } from 'typeorm';
|
||||
import { Institucion } from '../institucion/entity/institucion.entity';
|
||||
import { Modulo } from './entity/modulo.entity';
|
||||
import { InformacionModuloView } from './entity/views/informacion-modulo.view';
|
||||
@@ -121,7 +121,7 @@ export class ModuloService {
|
||||
return this.institucionService
|
||||
.findInfoInstitucionById(id_institucion)
|
||||
.then((institucion) => {
|
||||
const busqueda: { id_institucion: number; activo_modulo?: number } = {
|
||||
const busqueda: FindOptionsWhere<MinInformacionModuloView> = {
|
||||
id_institucion: institucion.id_institucion,
|
||||
};
|
||||
|
||||
|
||||
@@ -2,7 +2,10 @@ import { DataSource, ViewEntity, ViewColumn } from 'typeorm';
|
||||
import { Carrito } from '../../../carrito/entity/carrito.entity';
|
||||
import { Equipo } from '../../../equipo/entity/equipo.entity';
|
||||
import { Institucion } from '../../../institucion/entity/institucion.entity';
|
||||
import { InstitucionCarrera } from '../../../institucion-carrera/entity/institucion-carrera.entity';
|
||||
import { InstitucionUsuario } from '../../../institucion-usuario/entity/institucion-usuario.entity';
|
||||
import { Modulo } from '../../../modulo/entity/modulo.entity';
|
||||
import { Operador } from '../../../operador/entity/operador.entity';
|
||||
import { Prestamo } from '../prestamo.entity';
|
||||
import { TipoCarrito } from '../../../institucion-tipo-carrito/entity/tipo-carrito.entity';
|
||||
import { Usuario } from '../../../usuario/entity/usuario.entity';
|
||||
@@ -22,10 +25,13 @@ import { Usuario } from '../../../usuario/entity/usuario.entity';
|
||||
.addSelect('p.hora_max_recoger', 'hora_max_recoger')
|
||||
.addSelect('p.id_equipo', 'id_equipo')
|
||||
.addSelect('p.id_usuario', 'id_usuario')
|
||||
.addSelect('p.id_operador_entrega', 'id_operador_entrega')
|
||||
.addSelect('p.id_operador_regreso', 'id_operador_regreso')
|
||||
.addSelect('e.equipo', 'equipo')
|
||||
.addSelect('e.id_carrito', 'id_carrito')
|
||||
.addSelect('e.id_status', 'id_status')
|
||||
.addSelect('e.numero_inventario', 'numero_inventario')
|
||||
.addSelect('oe.operador', 'operador_entrega')
|
||||
.addSelect('or.operador', 'operador_regreso')
|
||||
.addSelect('u.id_tipo_usuario', 'id_tipo_usuario')
|
||||
.addSelect('u.nombre', 'nombre')
|
||||
.addSelect('u.usuario', 'usuario')
|
||||
@@ -38,11 +44,21 @@ import { Usuario } from '../../../usuario/entity/usuario.entity';
|
||||
.addSelect('i.institucion', 'institucion')
|
||||
.from(Prestamo, 'p')
|
||||
.innerJoin(Equipo, 'e', 'e.id_equipo = p.id_equipo')
|
||||
.innerJoin(Operador, 'oe', 'oe.id_operador = p.id_operador_regreso')
|
||||
.innerJoin(Operador, 'or', 'or.id_operador = p.id_operador_entrega')
|
||||
.innerJoin(Usuario, 'u', 'u.id_usuario = p.id_usuario')
|
||||
.innerJoin(Carrito, 'c', 'c.id_carrito = e.id_carrito')
|
||||
.innerJoin(InstitucionUsuario, 'iu', 'iu.id_usuario = u.id_usuario')
|
||||
.innerJoin(
|
||||
InstitucionCarrera,
|
||||
'ic',
|
||||
'ic.id_institucion_carrera = iu.id_institucion_carrera',
|
||||
)
|
||||
.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'),
|
||||
.innerJoin(Institucion, 'i', 'i.id_institucion = m.id_institucion')
|
||||
.where('i.id_institucion = ic.id_institucion')
|
||||
.orderBy('i.institucion'),
|
||||
})
|
||||
export class FullInformacionPrestamoView {
|
||||
@ViewColumn()
|
||||
@@ -91,7 +107,10 @@ export class FullInformacionPrestamoView {
|
||||
id_modulo: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_status: number;
|
||||
id_operador_entrega: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_operador_regreso: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_tipo_carrito: number;
|
||||
@@ -114,6 +133,12 @@ export class FullInformacionPrestamoView {
|
||||
@ViewColumn()
|
||||
numero_inventario: string;
|
||||
|
||||
@ViewColumn()
|
||||
operador_entrega: string;
|
||||
|
||||
@ViewColumn()
|
||||
operador_regreso: string;
|
||||
|
||||
@ViewColumn()
|
||||
tipo_carrito: string;
|
||||
|
||||
|
||||
@@ -0,0 +1,122 @@
|
||||
import { DataSource, ViewEntity, ViewColumn } from 'typeorm';
|
||||
import { Carrito } from '../../../carrito/entity/carrito.entity';
|
||||
import { Equipo } from '../../../equipo/entity/equipo.entity';
|
||||
import { Institucion } from '../../../institucion/entity/institucion.entity';
|
||||
import { Modulo } from '../../../modulo/entity/modulo.entity';
|
||||
import { Prestamo } from '../prestamo.entity';
|
||||
import { TipoCarrito } from '../../../institucion-tipo-carrito/entity/tipo-carrito.entity';
|
||||
import { Usuario } from '../../../usuario/entity/usuario.entity';
|
||||
|
||||
@ViewEntity({
|
||||
expression: (dataSource: DataSource) =>
|
||||
dataSource
|
||||
.createQueryBuilder()
|
||||
.select('p.id_prestamo', 'id_prestamo')
|
||||
.addSelect('p.activo', 'activo')
|
||||
.addSelect('p.cancelado_operador', 'cancelado_operador')
|
||||
.addSelect('p.cancelado_usuario', 'cancelado_usuario')
|
||||
.addSelect('p.fecha_entrega', 'fecha_entrega')
|
||||
.addSelect('p.fecha_inicio', 'fecha_inicio')
|
||||
.addSelect('p.hora_fin', 'hora_fin')
|
||||
.addSelect('p.hora_inicio', 'hora_inicio')
|
||||
.addSelect('p.hora_max_recoger', 'hora_max_recoger')
|
||||
.addSelect('p.id_equipo', 'id_equipo')
|
||||
.addSelect('p.id_usuario', 'id_usuario')
|
||||
.addSelect('e.equipo', 'equipo')
|
||||
.addSelect('e.id_carrito', 'id_carrito')
|
||||
.addSelect('e.id_status', 'id_status')
|
||||
.addSelect('e.numero_inventario', 'numero_inventario')
|
||||
.addSelect('u.id_tipo_usuario', 'id_tipo_usuario')
|
||||
.addSelect('u.nombre', 'nombre')
|
||||
.addSelect('u.usuario', 'usuario')
|
||||
.addSelect('c.carrito', 'carrito')
|
||||
.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('tc.tipo_carrito', 'tipo_carrito')
|
||||
.addSelect('i.institucion', 'institucion')
|
||||
.from(Prestamo, 'p')
|
||||
.innerJoin(Equipo, 'e', 'e.id_equipo = p.id_equipo')
|
||||
.innerJoin(Usuario, 'u', 'u.id_usuario = p.id_usuario')
|
||||
.innerJoin(Carrito, 'c', 'c.id_carrito = e.id_carrito')
|
||||
.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 PrestamoInformacionView {
|
||||
@ViewColumn()
|
||||
id_prestamo: number;
|
||||
|
||||
@ViewColumn()
|
||||
activo: number;
|
||||
|
||||
@ViewColumn()
|
||||
cancelado_operador: number;
|
||||
|
||||
@ViewColumn()
|
||||
cancelado_usuario: number;
|
||||
|
||||
@ViewColumn()
|
||||
carrito: string;
|
||||
|
||||
@ViewColumn()
|
||||
equipo: string;
|
||||
|
||||
@ViewColumn()
|
||||
fecha_entrega: Date;
|
||||
|
||||
@ViewColumn()
|
||||
fecha_inicio: Date;
|
||||
|
||||
@ViewColumn()
|
||||
hora_fin: Date;
|
||||
|
||||
@ViewColumn()
|
||||
hora_inicio: Date;
|
||||
|
||||
@ViewColumn()
|
||||
hora_max_recoger: Date;
|
||||
|
||||
@ViewColumn()
|
||||
id_carrito: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_equipo: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_institucion: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_modulo: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_status: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_tipo_carrito: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_tipo_usuario: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_usuario: number;
|
||||
|
||||
@ViewColumn()
|
||||
institucion: string;
|
||||
|
||||
@ViewColumn()
|
||||
modulo: string;
|
||||
|
||||
@ViewColumn()
|
||||
nombre: string;
|
||||
|
||||
@ViewColumn()
|
||||
numero_inventario: string;
|
||||
|
||||
@ViewColumn()
|
||||
tipo_carrito: string;
|
||||
|
||||
@ViewColumn()
|
||||
usuario: string;
|
||||
}
|
||||
@@ -115,7 +115,8 @@ export class PrestamoController {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.prestamoService.findAll(query);
|
||||
// return this.prestamoService.findAll(query);
|
||||
return this.prestamoService.findInfoPrestamoAll(query);
|
||||
}
|
||||
|
||||
@Put('cancelar-operador')
|
||||
@@ -253,7 +254,8 @@ export class PrestamoController {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
this.validarUsuarioService.validarOperador(operador);
|
||||
return this.prestamoService.findAll(query);
|
||||
// return this.prestamoService.findAll(query);
|
||||
return this.prestamoService.findInfoPrestamoAll(query);
|
||||
}
|
||||
|
||||
@Serealize(PrestamosEquipoOutputDto)
|
||||
|
||||
@@ -6,6 +6,7 @@ import { PrestamoController } from './prestamo.controller';
|
||||
import { PrestamoService } from './prestamo.service';
|
||||
import { Prestamo } from './entity/prestamo.entity';
|
||||
import { FullInformacionPrestamoView } from './entity/views/full-informacion-prestamo.view';
|
||||
import { PrestamoInformacionView } from './entity/views/prestamo-informacion.view';
|
||||
import { InformacionPrestamoView } from './entity/views/informacion-prestamo.view';
|
||||
import { EquipoModule } from '../equipo/equipo.module';
|
||||
import { InstitucionModule } from '../institucion/institucion.module';
|
||||
@@ -34,8 +35,9 @@ import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module'
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
TypeOrmModule.forFeature([
|
||||
Prestamo,
|
||||
FullInformacionPrestamoView,
|
||||
InformacionPrestamoView,
|
||||
FullInformacionPrestamoView,
|
||||
PrestamoInformacionView,
|
||||
]),
|
||||
TipoUsuarioModule,
|
||||
UsuarioModule,
|
||||
|
||||
@@ -9,7 +9,14 @@ import {
|
||||
NotFoundException,
|
||||
} from '@nestjs/common';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { Repository } from 'typeorm';
|
||||
import {
|
||||
FindManyOptions,
|
||||
FindOptionsWhere,
|
||||
LessThanOrEqual,
|
||||
Like,
|
||||
MoreThanOrEqual,
|
||||
Repository,
|
||||
} from 'typeorm';
|
||||
import { AppGateway } from '../app.gateway';
|
||||
import { Institucion } from '../institucion/entity/institucion.entity';
|
||||
import { InstitucionUsuario } from '../institucion-usuario/entity/institucion-usuario.entity';
|
||||
@@ -18,6 +25,7 @@ import { Operador } from '../operador/entity/operador.entity';
|
||||
import { Prestamo } from './entity/prestamo.entity';
|
||||
import { Usuario } from '../usuario/entity/usuario.entity';
|
||||
import { FullInformacionPrestamoView } from './entity/views/full-informacion-prestamo.view';
|
||||
import { PrestamoInformacionView } from './entity/views/prestamo-informacion.view';
|
||||
import { InformacionPrestamoView } from './entity/views/informacion-prestamo.view';
|
||||
import { EquipoService } from '../equipo/equipo.service';
|
||||
import { InstitucionService } from '../institucion/institucion.service';
|
||||
@@ -35,10 +43,12 @@ import { UsuarioService } from '../usuario/usuario.service';
|
||||
export class PrestamoService {
|
||||
constructor(
|
||||
@InjectRepository(Prestamo) private repository: Repository<Prestamo>,
|
||||
@InjectRepository(FullInformacionPrestamoView)
|
||||
private fullInformacionPrestamoView: Repository<FullInformacionPrestamoView>,
|
||||
@InjectRepository(InformacionPrestamoView)
|
||||
private informacionPrestamoView: Repository<InformacionPrestamoView>,
|
||||
@InjectRepository(FullInformacionPrestamoView)
|
||||
private fullInformacionPrestamoView: Repository<FullInformacionPrestamoView>,
|
||||
@InjectRepository(PrestamoInformacionView)
|
||||
private prestamoInformacionView: Repository<PrestamoInformacionView>,
|
||||
private appGateway: AppGateway,
|
||||
private equipoService: EquipoService,
|
||||
private institucionService: InstitucionService,
|
||||
@@ -138,34 +148,34 @@ 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}.`,
|
||||
// );
|
||||
// }
|
||||
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 } })
|
||||
.then((existePrestamo) => {
|
||||
@@ -530,6 +540,149 @@ export class PrestamoService {
|
||||
});
|
||||
}
|
||||
|
||||
async findInfoPrestamoAll(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 options: FindManyOptions<FullInformacionPrestamoView> = {
|
||||
order: { id_prestamo: 'DESC' },
|
||||
};
|
||||
const busqueda: FindOptionsWhere<FullInformacionPrestamoView> = {};
|
||||
|
||||
if (filtros.pagina) {
|
||||
options.take = 25;
|
||||
options.skip = (parseInt(filtros.pagina) - 1) * 25;
|
||||
}
|
||||
if (filtros.activo) {
|
||||
if (typeof filtros.activo === 'boolean')
|
||||
busqueda.activo = filtros.activo ? 1 : 0;
|
||||
else busqueda.activo = filtros.activo === 'true' ? 1 : 0;
|
||||
}
|
||||
if (filtros.cancelado_operador)
|
||||
busqueda.cancelado_operador =
|
||||
filtros.cancelado_operador === 'true' ? 1 : 0;
|
||||
if (filtros.cancelado_usuario)
|
||||
busqueda.cancelado_usuario = filtros.cancelado_usuario === 'true' ? 1 : 0;
|
||||
if (filtros.fechaInicio)
|
||||
busqueda.fecha_inicio = MoreThanOrEqual(new Date(filtros.fechaInicio));
|
||||
if (filtros.fechaFin)
|
||||
busqueda.fecha_inicio = LessThanOrEqual(new Date(filtros.fechaFin));
|
||||
if (filtros.id_prestamo)
|
||||
busqueda.id_prestamo = parseInt(filtros.id_prestamo);
|
||||
if (filtros.carrito) busqueda.carrito = Like(`%${filtros.carrito}%`);
|
||||
if (filtros.equipo) busqueda.equipo = Like(`%${filtros.equipo}%`);
|
||||
if (filtros.usuario) busqueda.usuario = Like(`%${filtros.usuario}%`);
|
||||
if (institucion) busqueda.id_institucion = institucion.id_institucion;
|
||||
if (modulo) busqueda.id_modulo = modulo.id_modulo;
|
||||
if (tipoCarrito) busqueda.id_tipo_carrito = tipoCarrito.id_tipo_carrito;
|
||||
if (tipoUsuario) busqueda.id_tipo_usuario = tipoUsuario.id_tipo_usuario;
|
||||
if (operadorEntrega)
|
||||
busqueda.id_operador_entrega = operadorEntrega.id_operador;
|
||||
if (operadorRegreso)
|
||||
busqueda.id_operador_regreso = operadorRegreso.id_operador;
|
||||
options.where = busqueda;
|
||||
return this.fullInformacionPrestamoView
|
||||
.findAndCount(options)
|
||||
.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,
|
||||
},
|
||||
},
|
||||
},
|
||||
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]];
|
||||
});
|
||||
}
|
||||
|
||||
findInfoPrestamoById(id_prestamo: number) {
|
||||
return this.informacionPrestamoView
|
||||
.findOne({ where: { id_prestamo } })
|
||||
@@ -561,7 +714,7 @@ export class PrestamoService {
|
||||
}
|
||||
|
||||
prestamoInfoById(id_prestamo: number) {
|
||||
return this.fullInformacionPrestamoView
|
||||
return this.prestamoInformacionView
|
||||
.findOne({ where: { id_prestamo } })
|
||||
.then((infoPrestamo) => {
|
||||
if (!infoPrestamo)
|
||||
@@ -603,7 +756,7 @@ export class PrestamoService {
|
||||
}
|
||||
|
||||
prestamoInfoByIdUsuario(id_usuario: number) {
|
||||
return this.fullInformacionPrestamoView
|
||||
return this.prestamoInformacionView
|
||||
.findOne({ where: { activo: 1, id_usuario } })
|
||||
.then((infoPrestamo) => {
|
||||
if (!infoPrestamo)
|
||||
@@ -656,7 +809,7 @@ export class PrestamoService {
|
||||
),
|
||||
)
|
||||
.then((equipo) =>
|
||||
this.fullInformacionPrestamoView.findOne({
|
||||
this.prestamoInformacionView.findOne({
|
||||
where: { activo: 1, id_equipo: equipo.id_equipo },
|
||||
}),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user