prestamo by

This commit is contained in:
xXpuma99Xx
2022-10-01 13:18:25 -05:00
parent 31db1ba89f
commit d05294551d
9 changed files with 78 additions and 692 deletions
-4
View File
@@ -88,8 +88,6 @@ 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 { FullInformacionPrestamoNumeroInventarioView } from './prestamo/entity/views/full-informacion-prestamo-numero-inventario.view';
import { FullInformacionPrestamoUsuarioView } from './prestamo/entity/views/full-informacion-prestamo-usuario.view';
import { InformacionPrestamoView } from './prestamo/entity/views/informacion-prestamo.view';
import { InformacionUsuarioView } from './usuario/entity/views/informacion-usuario.view';
@@ -168,8 +166,6 @@ import { InformacionUsuarioView } from './usuario/entity/views/informacion-usuar
InformacionMultaView,
InformacionOperadorView,
FullInformacionPrestamoView,
FullInformacionPrestamoNumeroInventarioView,
FullInformacionPrestamoUsuarioView,
InformacionPrestamoView,
InformacionUsuarioView,
],
@@ -1,90 +0,0 @@
import { DataSource, ViewEntity, ViewColumn } from 'typeorm';
import { Carrito } from '../../../carrito/entity/carrito.entity';
import { Equipo } from '../../../equipo/entity/equipo.entity';
import { Modulo } from '../../../modulo/entity/modulo.entity';
import { Prestamo } from '../prestamo.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.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('u.id_tipo_usuario', 'id_tipo_usuario')
.addSelect('u.nombre', 'nombre')
.addSelect('u.usuario', 'usuario')
.addSelect('c.id_modulo', 'id_modulo')
.addSelect('c.carrito', 'carrito')
.addSelect('m.id_institucion', 'id_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'),
})
export class FullInformacionPrestamoNumeroInventarioView {
@ViewColumn()
id_prestamo: number;
@ViewColumn()
activo: 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_usuario: number;
@ViewColumn()
id_usuario: number;
@ViewColumn()
nombre: string;
@ViewColumn()
usuario: string;
}
@@ -1,152 +0,0 @@
// 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 { Status } from '../../../status/entity/status.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_operador_entrega', 'id_operador_entrega')
// .addSelect('p.id_operador_regreso', 'id_operador_regreso')
// .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('e.numero_serie', 'numero_serie')
// .addSelect('oe.operador', 'operador_entrega')
// .addSelect('or.operador', 'operador_regreso')
// .addSelect('c.carrito', 'carrito')
// .addSelect('c.id_modulo', 'id_modulo')
// .addSelect('c.id_tipo_carrito', 'id_tipo_carrito')
// .addSelect('s.status', 'status')
// .addSelect('m.id_institucion', 'id_institucion')
// .addSelect('m.modulo', 'modulo')
// .addSelect('ic.id_institucion', 'id_institucion_u')
// .addSelect('tc.tipo_carrito', 'tipo_carrito')
// .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_entrega')
// .innerJoin(Operador, 'or', 'or.id_operador = p.id_operador_regreso')
// .innerJoin(Usuario, 'u', 'u.id_usuario = p.id_usuario')
// .innerJoin(Carrito, 'c', 'c.id_carrito = e.id_carrito')
// .innerJoin(Status, 's', 's.id_status = e.id_status')
// .innerJoin(InstitucionUsuario, 'is', 'is.id_usuario = u.id_usuario')
// .innerJoin(Modulo, 'm', 'm.id_modulo = c.id_modulo')
// .innerJoin(TipoCarrito, 'tc', 'tc.id_tipo_carrito = c.id_tipo_carrito')
// .innerJoin(
// InstitucionCarrera,
// 'ic',
// 'ic.id_institucion_carrera = is.id_institucion_carrera',
// )
// .innerJoin(Institucion, 'i', 'i.id_institucion = m.id_institucion')
// .orderBy('p.id_prestamo', 'DESC'),
// })
// export class FullInformacionPrestamoUsuarioView {
// @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_institucion_u: number;
// @ViewColumn()
// id_modulo: number;
// @ViewColumn()
// id_operador_entrega: number;
// @ViewColumn()
// id_operador_regreso: number;
// @ViewColumn()
// id_status: number;
// @ViewColumn()
// id_tipo_carrito: number;
// @ViewColumn()
// id_usuario: number;
// @ViewColumn()
// institucion: string;
// @ViewColumn()
// modulo: string;
// @ViewColumn()
// numero_inventario: string;
// @ViewColumn()
// numero_serie: string;
// @ViewColumn()
// operador_entrega: string;
// @ViewColumn()
// operador_regreso: string;
// @ViewColumn()
// status: string;
// @ViewColumn()
// tipo_carrito: string;
// }
@@ -1,98 +0,0 @@
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.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('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 FullInformacionPrestamoUsuarioView {
@ViewColumn()
id_prestamo: number;
@ViewColumn()
activo: number;
@ViewColumn()
carrito: string;
@ViewColumn()
equipo: string;
@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_usuario: number;
@ViewColumn()
institucion: string;
@ViewColumn()
modulo: string;
@ViewColumn()
numero_inventario: string;
@ViewColumn()
tipo_carrito: string;
}
@@ -1,181 +0,0 @@
// import { DataSource, ViewEntity, ViewColumn } from 'typeorm';
// import { Carrera } from '../../../institucion-carrera/entity/carrera.entity';
// 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 { Status } from '../../../status/entity/status.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_operador_entrega', 'id_operador_entrega')
// .addSelect('p.id_operador_regreso', 'id_operador_regreso')
// .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('e.numero_serie', 'numero_serie')
// .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')
// .addSelect('c.carrito', 'carrito')
// .addSelect('c.id_modulo', 'id_modulo')
// .addSelect('c.id_tipo_carrito', 'id_tipo_carrito')
// .addSelect('s.status', 'status')
// .addSelect('is.id_institucion_usuario', 'id_institucion_usuario')
// .addSelect('m.id_institucion', 'id_institucion')
// .addSelect('m.modulo', 'modulo')
// .addSelect('ic.id_institucion_carrera', 'id_institucion_carrera')
// .addSelect('ic.id_institucion', 'id_institucion_u')
// .addSelect('ic.id_carrera', 'id_carrera')
// .addSelect('tc.tipo_carrito', 'tipo_carrito')
// .addSelect('i.institucion', 'institucion')
// .addSelect('ca.carrera', 'carrera')
// .from(Prestamo, 'p')
// .innerJoin(Equipo, 'e', 'e.id_equipo = p.id_equipo')
// .innerJoin(Operador, 'oe', 'oe.id_operador = p.id_operador_entrega')
// .innerJoin(Operador, 'or', 'or.id_operador = p.id_operador_regreso')
// .innerJoin(Usuario, 'u', 'u.id_usuario = p.id_usuario')
// .innerJoin(Carrito, 'c', 'c.id_carrito = e.id_carrito')
// .innerJoin(Status, 's', 's.id_status = e.id_status')
// .innerJoin(InstitucionUsuario, 'is', 'is.id_usuario = u.id_usuario')
// .innerJoin(Modulo, 'm', 'm.id_modulo = c.id_modulo')
// .innerJoin(TipoCarrito, 'tc', 'tc.id_tipo_carrito = c.id_tipo_carrito')
// .innerJoin(
// InstitucionCarrera,
// 'ic',
// 'ic.id_institucion_carrera = is.id_institucion_carrera',
// )
// .innerJoin(Institucion, 'i', 'i.id_institucion = m.id_institucion')
// .innerJoin(Carrera, 'ca', 'ca.id_carrera = ic.id_carrera'),
// })
// export class FullInformacionPrestamoView {
// @ViewColumn()
// id_prestamo: number;
// @ViewColumn()
// activo: number;
// @ViewColumn()
// carrera: string;
// @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_carrera: number;
// @ViewColumn()
// id_carrito: number;
// @ViewColumn()
// id_equipo: number;
// @ViewColumn()
// id_institucion: number;
// @ViewColumn()
// id_institucion_usuario: number;
// @ViewColumn()
// id_institucion_carrera: number;
// @ViewColumn()
// id_institucion_u: number;
// @ViewColumn()
// id_modulo: number;
// @ViewColumn()
// id_operador_entrega: number;
// @ViewColumn()
// id_operador_regreso: 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()
// numero_serie: string;
// @ViewColumn()
// operador_entrega: string;
// @ViewColumn()
// operador_regreso: string;
// @ViewColumn()
// status: string;
// @ViewColumn()
// tipo_carrito: string;
// @ViewColumn()
// usuario: string;
// }
@@ -1,14 +1,9 @@
import { DataSource, ViewEntity, ViewColumn } from 'typeorm';
import { Carrera } from '../../../institucion-carrera/entity/carrera.entity';
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 { Status } from '../../../status/entity/status.entity';
import { TipoCarrito } from '../../../institucion-tipo-carrito/entity/tipo-carrito.entity';
import { Usuario } from '../../../usuario/entity/usuario.entity';
@@ -26,49 +21,28 @@ import { Usuario } from '../../../usuario/entity/usuario.entity';
.addSelect('p.hora_inicio', 'hora_inicio')
.addSelect('p.hora_max_recoger', 'hora_max_recoger')
.addSelect('p.id_equipo', 'id_equipo')
.addSelect('p.id_operador_entrega', 'id_operador_entrega')
.addSelect('p.id_operador_regreso', 'id_operador_regreso')
.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('e.numero_serie', 'numero_serie')
.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')
.addSelect('c.carrito', 'carrito')
.addSelect('c.id_modulo', 'id_modulo')
.addSelect('c.id_tipo_carrito', 'id_tipo_carrito')
.addSelect('s.status', 'status')
.addSelect('is.id_institucion_usuario', 'id_institucion_usuario')
.addSelect('m.id_institucion', 'id_institucion')
.addSelect('m.modulo', 'modulo')
.addSelect('ic.id_institucion_carrera', 'id_institucion_carrera')
.addSelect('ic.id_institucion', 'id_institucion_u')
.addSelect('ic.id_carrera', 'id_carrera')
.addSelect('tc.tipo_carrito', 'tipo_carrito')
.addSelect('i.institucion', 'institucion')
.addSelect('ca.carrera', 'carrera')
.from(Prestamo, 'p')
.innerJoin(Equipo, 'e', 'e.id_equipo = p.id_equipo')
.innerJoin(Operador, 'oe', 'oe.id_operador = p.id_operador_entrega')
.innerJoin(Operador, 'or', 'or.id_operador = p.id_operador_regreso')
.innerJoin(Usuario, 'u', 'u.id_usuario = p.id_usuario')
.innerJoin(Carrito, 'c', 'c.id_carrito = e.id_carrito')
.innerJoin(Status, 's', 's.id_status = e.id_status')
.innerJoin(InstitucionUsuario, 'is', 'is.id_usuario = u.id_usuario')
.innerJoin(Modulo, 'm', 'm.id_modulo = c.id_modulo')
.innerJoin(TipoCarrito, 'tc', 'tc.id_tipo_carrito = c.id_tipo_carrito')
.innerJoin(
InstitucionCarrera,
'ic',
'ic.id_institucion_carrera = is.id_institucion_carrera',
)
.innerJoin(Institucion, 'i', 'i.id_institucion = m.id_institucion')
.innerJoin(Carrera, 'ca', 'ca.id_carrera = ic.id_carrera'),
.innerJoin(Institucion, 'i', 'i.id_institucion = m.id_institucion'),
})
export class FullInformacionPrestamoView {
@ViewColumn()
@@ -77,9 +51,6 @@ export class FullInformacionPrestamoView {
@ViewColumn()
activo: number;
@ViewColumn()
carrera: string;
@ViewColumn()
cancelado_operador: number;
@@ -107,9 +78,6 @@ export class FullInformacionPrestamoView {
@ViewColumn()
hora_max_recoger: Date;
@ViewColumn()
id_carrera: number;
@ViewColumn()
id_carrito: number;
@@ -119,24 +87,9 @@ export class FullInformacionPrestamoView {
@ViewColumn()
id_institucion: number;
@ViewColumn()
id_institucion_usuario: number;
@ViewColumn()
id_institucion_carrera: number;
@ViewColumn()
id_institucion_u: number;
@ViewColumn()
id_modulo: number;
@ViewColumn()
id_operador_entrega: number;
@ViewColumn()
id_operador_regreso: number;
@ViewColumn()
id_status: number;
@@ -161,18 +114,6 @@ export class FullInformacionPrestamoView {
@ViewColumn()
numero_inventario: string;
@ViewColumn()
numero_serie: string;
@ViewColumn()
operador_entrega: string;
@ViewColumn()
operador_regreso: string;
@ViewColumn()
status: string;
@ViewColumn()
tipo_carrito: string;
+3 -9
View File
@@ -361,9 +361,7 @@ export class PrestamoController {
if ('id_usuario' in usuarioOperador)
this.validarUsuarioService.validarUsuario(usuarioOperador);
else this.validarUsuarioService.validarAdminOperador(usuarioOperador);
return this.prestamoService.findFullInfoPrestamoById(
parseInt(query.id_prestamo),
);
return this.prestamoService.prestamoInfoById(parseInt(query.id_prestamo));
}
@Serealize(PrestamoOutputDto)
@@ -383,7 +381,7 @@ export class PrestamoController {
const usuario: Usuario = req.user.usuario;
this.validarUsuarioService.validarUsuario(usuario);
return this.prestamoService.findFullInfoPrestamoByIdUsuario(
return this.prestamoService.prestamoInfoByIdUsuario(
parseInt(query.id_usuario),
);
}
@@ -413,11 +411,7 @@ export class PrestamoController {
const operador: Operador = req.user.operador;
this.validarUsuarioService.validarAdminOperador(operador);
// return this.prestamoService.findByNumeroInventario(
// parseInt(query.id_institucion),
// query.numero_inventario,
// );
return this.prestamoService.findFullInfoPrestamoByNumeroInventario(
return this.prestamoService.prestamoInfoByNumeroInventario(
parseInt(query.id_institucion),
query.numero_inventario,
);
-4
View File
@@ -6,8 +6,6 @@ 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 { FullInformacionPrestamoNumeroInventarioView } from './entity/views/full-informacion-prestamo-numero-inventario.view';
import { FullInformacionPrestamoUsuarioView } from './entity/views/full-informacion-prestamo-usuario.view';
import { InformacionPrestamoView } from './entity/views/informacion-prestamo.view';
import { EquipoModule } from '../equipo/equipo.module';
import { InstitucionModule } from '../institucion/institucion.module';
@@ -37,8 +35,6 @@ import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module'
TypeOrmModule.forFeature([
Prestamo,
FullInformacionPrestamoView,
FullInformacionPrestamoNumeroInventarioView,
FullInformacionPrestamoUsuarioView,
InformacionPrestamoView,
]),
TipoUsuarioModule,
+74 -94
View File
@@ -18,8 +18,6 @@ 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 { FullInformacionPrestamoNumeroInventarioView } from './entity/views/full-informacion-prestamo-numero-inventario.view';
import { FullInformacionPrestamoUsuarioView } from './entity/views/full-informacion-prestamo-usuario.view';
import { InformacionPrestamoView } from './entity/views/informacion-prestamo.view';
import { EquipoService } from '../equipo/equipo.service';
import { InstitucionService } from '../institucion/institucion.service';
@@ -39,10 +37,6 @@ export class PrestamoService {
@InjectRepository(Prestamo) private repository: Repository<Prestamo>,
@InjectRepository(FullInformacionPrestamoView)
private fullInformacionPrestamoView: Repository<FullInformacionPrestamoView>,
@InjectRepository(FullInformacionPrestamoNumeroInventarioView)
private fullInformacionPrestamoNumeroInventarioView: Repository<FullInformacionPrestamoNumeroInventarioView>,
@InjectRepository(FullInformacionPrestamoUsuarioView)
private fullInformacionPrestamoUsuarioView: Repository<FullInformacionPrestamoUsuarioView>,
@InjectRepository(InformacionPrestamoView)
private informacionPrestamoView: Repository<InformacionPrestamoView>,
private appGateway: AppGateway,
@@ -116,7 +110,7 @@ export class PrestamoService {
id_programa?: number,
id_tipo_entrada?: number,
) {
const ahora = moment().add(4, 'h');
const ahora = moment();
const ahoraStr = ahora.format('YYYY-MM-DD');
const sistema = { id_operador: 1 };
const modulo = await this.moduloService.findById(id_modulo);
@@ -207,6 +201,41 @@ export class PrestamoService {
});
}
viewToPrestamo(infoPrestamo: InformacionPrestamoView) {
return this.repository.create({
id_prestamo: infoPrestamo.id_prestamo,
activo: infoPrestamo.activo === 1,
cancelado_operador: infoPrestamo.cancelado_operador === 1,
cancelado_usuario: infoPrestamo.cancelado_usuario === 1,
fecha_entrega: infoPrestamo.fecha_entrega,
fecha_inicio: infoPrestamo.fecha_inicio,
hora_fin: infoPrestamo.hora_fin,
hora_inicio: infoPrestamo.hora_inicio,
hora_max_recoger: infoPrestamo.hora_max_recoger,
equipo: {
id_equipo: infoPrestamo.id_equipo,
equipo: infoPrestamo.equipo,
numero_inventario: infoPrestamo.numero_inventario,
carrito: {
id_carrito: infoPrestamo.id_carrito,
carrito: infoPrestamo.carrito,
modulo: {
id_modulo: infoPrestamo.id_modulo,
institucion: { id_institucion: infoPrestamo.id_institucion },
},
tipoCarrito: {
id_tipo_carrito: infoPrestamo.id_tipo_carrito,
tipo_carrito: infoPrestamo.tipo_carrito,
},
},
status: { id_status: infoPrestamo.id_status },
},
operadorEntrega: { id_operador: infoPrestamo.id_operador_entrega },
operadorRegreso: { id_operador: infoPrestamo.id_operador_regreso },
usuario: { id_usuario: infoPrestamo.id_usuario },
});
}
async desactivarPrestamos() {
const ahora = moment();
@@ -301,7 +330,7 @@ export class PrestamoService {
)
: null;
const modulo = filtros.id_modulo
? await this.moduloService.findById(parseInt(filtros.id_modulo))
? await this.moduloService.findInfoModuloById(parseInt(filtros.id_modulo))
: null;
const operadorEntrega = filtros.id_operador_entrega
? await this.operadorService.findById(
@@ -446,7 +475,7 @@ export class PrestamoService {
}
async findAllByIdEquipo(id_equipo: number, pagina: number) {
return this.equipoService.findById(id_equipo).then((equipo) =>
return this.equipoService.findInfoEquipoById(id_equipo).then((equipo) =>
this.repository
.createQueryBuilder('p')
.innerJoinAndSelect('p.equipo', 'e', 'e.id_equipo = :id_equipo', {
@@ -501,87 +530,37 @@ export class PrestamoService {
});
}
async findByNumeroInventario(
id_institucion: number | Institucion,
numero_inventario: string,
) {
const institucion =
typeof id_institucion === 'number'
? await this.institucionService.findInfoInstitucionById(id_institucion)
: id_institucion;
return this.equipoService
.findInfoEquipoByNumeroInventario(institucion, numero_inventario)
.then((equipo) =>
this.repository
.createQueryBuilder('p')
.innerJoinAndSelect('p.equipo', 'e', 'e.id_equipo = :id_equipo', {
id_equipo: equipo.id_equipo,
})
.innerJoinAndSelect('p.usuario', 'u')
.innerJoinAndSelect('e.carrito', 'c')
.innerJoinAndSelect('e.status', 's')
.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')
.where('p.activo = 1')
.getOne(),
)
.then((prestamo) => {
if (!prestamo)
throw new NotFoundException(
'No existe un préstamo activo con este equipo de cómputo.',
);
return prestamo;
});
}
findInfoPrestamoById(id_prestamo: number) {
return this.informacionPrestamoView
.findOne({ where: { id_prestamo } })
.then((infoPrestamo) => {
if (!infoPrestamo)
throw new NotFoundException('No existe este id préstamo.');
return this.repository.create({
id_prestamo: infoPrestamo.id_prestamo,
activo: infoPrestamo.activo === 1,
cancelado_operador: infoPrestamo.cancelado_operador === 1,
cancelado_usuario: infoPrestamo.cancelado_usuario === 1,
fecha_entrega: infoPrestamo.fecha_entrega,
fecha_inicio: infoPrestamo.fecha_inicio,
hora_fin: infoPrestamo.hora_fin,
hora_inicio: infoPrestamo.hora_inicio,
hora_max_recoger: infoPrestamo.hora_max_recoger,
equipo: {
id_equipo: infoPrestamo.id_equipo,
equipo: infoPrestamo.equipo,
numero_inventario: infoPrestamo.numero_inventario,
carrito: {
id_carrito: infoPrestamo.id_carrito,
carrito: infoPrestamo.carrito,
modulo: {
id_modulo: infoPrestamo.id_modulo,
institucion: { id_institucion: infoPrestamo.id_institucion },
},
tipoCarrito: {
id_tipo_carrito: infoPrestamo.id_tipo_carrito,
tipo_carrito: infoPrestamo.tipo_carrito,
},
},
status: { id_status: infoPrestamo.id_status },
},
operadorEntrega: { id_operador: infoPrestamo.id_operador_entrega },
operadorRegreso: { id_operador: infoPrestamo.id_operador_regreso },
usuario: { id_usuario: infoPrestamo.id_usuario },
});
return this.viewToPrestamo(infoPrestamo);
});
}
findFullInfoPrestamoById(id_prestamo: number) {
async findInfoPrestamoByNumeroInventario(
institucion: Institucion,
numero_inventario: string,
) {
return this.informacionPrestamoView
.findOne({
where: {
id_institucion: institucion.id_institucion,
numero_inventario,
},
})
.then((infoPrestamo) => {
if (!infoPrestamo)
throw new NotFoundException(
'No existe un equipo con este número de inventario en esta institución.',
);
return this.viewToPrestamo(infoPrestamo);
});
}
prestamoInfoById(id_prestamo: number) {
return this.fullInformacionPrestamoView
.findOne({ where: { id_prestamo } })
.then((infoPrestamo) => {
@@ -623,8 +602,8 @@ export class PrestamoService {
});
}
findFullInfoPrestamoByIdUsuario(id_usuario: number) {
return this.fullInformacionPrestamoUsuarioView
prestamoInfoByIdUsuario(id_usuario: number) {
return this.fullInformacionPrestamoView
.findOne({ where: { activo: 1, id_usuario } })
.then((infoPrestamo) => {
if (!infoPrestamo)
@@ -664,19 +643,20 @@ export class PrestamoService {
});
}
async findFullInfoPrestamoByNumeroInventario(
id_institucion: number | Institucion,
prestamoInfoByNumeroInventario(
id_institucion: number,
numero_inventario: string,
) {
const institucion =
typeof id_institucion === 'number'
? await this.institucionService.findInfoInstitucionById(id_institucion)
: id_institucion;
return this.equipoService
.findInfoEquipoByNumeroInventario(institucion, numero_inventario)
return this.institucionService
.findInfoInstitucionById(id_institucion)
.then((institucion) =>
this.equipoService.findInfoEquipoByNumeroInventario(
institucion,
numero_inventario,
),
)
.then((equipo) =>
this.fullInformacionPrestamoNumeroInventarioView.findOne({
this.fullInformacionPrestamoView.findOne({
where: { activo: 1, id_equipo: equipo.id_equipo },
}),
)
@@ -820,7 +800,7 @@ export class PrestamoService {
descripcion?: string,
id_institucion_infraccion?: number,
) {
return this.findByNumeroInventario(
return this.findInfoPrestamoByNumeroInventario(
operador.institucion,
numero_inventario,
).then((prestamo) =>