endpoints de un solo prestamo con views
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',
|
||||
],
|
||||
},
|
||||
})
|
||||
|
||||
+2
-2
@@ -88,7 +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 { FullInformacionPrestamoEquipoView } from './prestamo/entity/views/full-informacion-prestamo-equipo.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,7 +168,7 @@ import { InformacionUsuarioView } from './usuario/entity/views/informacion-usuar
|
||||
InformacionMultaView,
|
||||
InformacionOperadorView,
|
||||
FullInformacionPrestamoView,
|
||||
FullInformacionPrestamoEquipoView,
|
||||
FullInformacionPrestamoNumeroInventarioView,
|
||||
FullInformacionPrestamoUsuarioView,
|
||||
InformacionPrestamoView,
|
||||
InformacionUsuarioView,
|
||||
|
||||
+14
-23
@@ -2,7 +2,6 @@ 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 { Operador } from '../../../operador/entity/operador.entity';
|
||||
import { Prestamo } from '../prestamo.entity';
|
||||
import { Usuario } from '../../../usuario/entity/usuario.entity';
|
||||
|
||||
@@ -12,34 +11,29 @@ import { Usuario } from '../../../usuario/entity/usuario.entity';
|
||||
.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('oe.operador', 'operador_entrega')
|
||||
.addSelect('or.operador', 'operador_regreso')
|
||||
.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(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(Modulo, 'm', 'm.id_modulo = c.id_modulo')
|
||||
|
||||
.orderBy('p.id_prestamo', 'DESC'),
|
||||
.innerJoin(Modulo, 'm', 'm.id_modulo = c.id_modulo'),
|
||||
})
|
||||
export class FullInformacionPrestamoEquipoView {
|
||||
export class FullInformacionPrestamoNumeroInventarioView {
|
||||
@ViewColumn()
|
||||
id_prestamo: number;
|
||||
|
||||
@@ -47,10 +41,10 @@ export class FullInformacionPrestamoEquipoView {
|
||||
activo: number;
|
||||
|
||||
@ViewColumn()
|
||||
cancelado_operador: boolean;
|
||||
carrito: string;
|
||||
|
||||
@ViewColumn()
|
||||
cancelado_usuario: boolean;
|
||||
equipo: string;
|
||||
|
||||
@ViewColumn()
|
||||
fecha_entrega: Date;
|
||||
@@ -67,6 +61,9 @@ export class FullInformacionPrestamoEquipoView {
|
||||
@ViewColumn()
|
||||
hora_max_recoger: Date;
|
||||
|
||||
@ViewColumn()
|
||||
id_carrito: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_equipo: number;
|
||||
|
||||
@@ -74,10 +71,10 @@ export class FullInformacionPrestamoEquipoView {
|
||||
id_institucion: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_operador_entrega: number;
|
||||
id_modulo: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_operador_regreso: number;
|
||||
id_status: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_tipo_usuario: number;
|
||||
@@ -88,12 +85,6 @@ export class FullInformacionPrestamoEquipoView {
|
||||
@ViewColumn()
|
||||
nombre: string;
|
||||
|
||||
@ViewColumn()
|
||||
operador_entrega: string;
|
||||
|
||||
@ViewColumn()
|
||||
operador_regreso: string;
|
||||
|
||||
@ViewColumn()
|
||||
usuario: string;
|
||||
}
|
||||
@@ -0,0 +1,152 @@
|
||||
// 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;
|
||||
// }
|
||||
@@ -2,12 +2,8 @@ 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';
|
||||
|
||||
@@ -17,50 +13,30 @@ import { Usuario } from '../../../usuario/entity/usuario.entity';
|
||||
.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'),
|
||||
.innerJoin(Institucion, 'i', 'i.id_institucion = m.id_institucion'),
|
||||
})
|
||||
export class FullInformacionPrestamoUsuarioView {
|
||||
@ViewColumn()
|
||||
@@ -69,21 +45,12 @@ export class FullInformacionPrestamoUsuarioView {
|
||||
@ViewColumn()
|
||||
activo: number;
|
||||
|
||||
@ViewColumn()
|
||||
cancelado_operador: boolean;
|
||||
|
||||
@ViewColumn()
|
||||
cancelado_usuario: boolean;
|
||||
|
||||
@ViewColumn()
|
||||
carrito: string;
|
||||
|
||||
@ViewColumn()
|
||||
equipo: string;
|
||||
|
||||
@ViewColumn()
|
||||
fecha_entrega: Date;
|
||||
|
||||
@ViewColumn()
|
||||
fecha_inicio: Date;
|
||||
|
||||
@@ -105,18 +72,9 @@ export class FullInformacionPrestamoUsuarioView {
|
||||
@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;
|
||||
|
||||
@@ -135,18 +93,6 @@ export class FullInformacionPrestamoUsuarioView {
|
||||
@ViewColumn()
|
||||
numero_inventario: string;
|
||||
|
||||
@ViewColumn()
|
||||
numero_serie: string;
|
||||
|
||||
@ViewColumn()
|
||||
operador_entrega: string;
|
||||
|
||||
@ViewColumn()
|
||||
operador_regreso: string;
|
||||
|
||||
@ViewColumn()
|
||||
status: string;
|
||||
|
||||
@ViewColumn()
|
||||
tipo_carrito: string;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,181 @@
|
||||
// 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;
|
||||
// }
|
||||
@@ -81,10 +81,10 @@ export class FullInformacionPrestamoView {
|
||||
carrera: string;
|
||||
|
||||
@ViewColumn()
|
||||
cancelado_operador: boolean;
|
||||
cancelado_operador: number;
|
||||
|
||||
@ViewColumn()
|
||||
cancelado_usuario: boolean;
|
||||
cancelado_usuario: number;
|
||||
|
||||
@ViewColumn()
|
||||
carrito: string;
|
||||
|
||||
@@ -4,6 +4,7 @@ import { Prestamo } from '../prestamo.entity';
|
||||
import { Equipo } from '../../../equipo/entity/equipo.entity';
|
||||
import { Modulo } from '../../../modulo/entity/modulo.entity';
|
||||
import { Status } from '../../../status/entity/status.entity';
|
||||
import { TipoCarrito } from '../../../institucion-tipo-carrito/entity/tipo-carrito.entity';
|
||||
|
||||
@ViewEntity({
|
||||
expression: (dataSource: DataSource) =>
|
||||
@@ -22,30 +23,40 @@ import { Status } from '../../../status/entity/status.entity';
|
||||
.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('c.carrito', 'carrito')
|
||||
.addSelect('c.id_modulo', 'id_modulo')
|
||||
.addSelect('c.id_tipo_carrito', 'id_tipo_carrito')
|
||||
.addSelect('m.id_institucion', 'id_institucion')
|
||||
.addSelect('tc.tipo_carrito', 'tipo_carrito')
|
||||
.from(Prestamo, 'p')
|
||||
.innerJoin(Equipo, 'e', 'e.id_equipo = p.id_equipo')
|
||||
.innerJoin(Carrito, 'c', 'c.id_carrito = e.id_carrito')
|
||||
.innerJoin(Status, 's', 's.id_status = e.id_status')
|
||||
.innerJoin(Modulo, 'm', 'm.id_modulo = c.id_modulo'),
|
||||
.innerJoin(Modulo, 'm', 'm.id_modulo = c.id_modulo')
|
||||
.innerJoin(TipoCarrito, 'tc', 'tc.id_tipo_carrito = c.id_tipo_carrito'),
|
||||
})
|
||||
export class InformacionPrestamoView {
|
||||
@ViewColumn()
|
||||
id_prestamo: number;
|
||||
|
||||
@ViewColumn()
|
||||
activo: boolean;
|
||||
activo: number;
|
||||
|
||||
@ViewColumn()
|
||||
cancelado_operador: boolean;
|
||||
cancelado_operador: number;
|
||||
|
||||
@ViewColumn()
|
||||
cancelado_usuario: boolean;
|
||||
cancelado_usuario: number;
|
||||
|
||||
@ViewColumn()
|
||||
carrito: string;
|
||||
|
||||
@ViewColumn()
|
||||
equipo: string;
|
||||
|
||||
@ViewColumn()
|
||||
fecha_entrega: Date;
|
||||
@@ -91,4 +102,7 @@ export class InformacionPrestamoView {
|
||||
|
||||
@ViewColumn()
|
||||
numero_inventario: string;
|
||||
|
||||
@ViewColumn()
|
||||
tipo_carrito: string;
|
||||
}
|
||||
|
||||
@@ -361,7 +361,9 @@ export class PrestamoController {
|
||||
if ('id_usuario' in usuarioOperador)
|
||||
this.validarUsuarioService.validarUsuario(usuarioOperador);
|
||||
else this.validarUsuarioService.validarAdminOperador(usuarioOperador);
|
||||
return this.prestamoService.findById(parseInt(query.id_prestamo));
|
||||
return this.prestamoService.findFullInfoPrestamoById(
|
||||
parseInt(query.id_prestamo),
|
||||
);
|
||||
}
|
||||
|
||||
@Serealize(PrestamoOutputDto)
|
||||
@@ -381,10 +383,9 @@ export class PrestamoController {
|
||||
const usuario: Usuario = req.user.usuario;
|
||||
|
||||
this.validarUsuarioService.validarUsuario(usuario);
|
||||
return this.prestamoService.findByIdUsuario(parseInt(query.id_usuario));
|
||||
// return this.prestamoService.findFullInfoPrestamoByIdUsuario(
|
||||
// parseInt(query.id_usuario),
|
||||
// );
|
||||
return this.prestamoService.findFullInfoPrestamoByIdUsuario(
|
||||
parseInt(query.id_usuario),
|
||||
);
|
||||
}
|
||||
|
||||
@Serealize(PrestamoEquipoOutputDto)
|
||||
@@ -412,14 +413,14 @@ 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.findByNumeroInventario(
|
||||
// parseInt(query.id_institucion),
|
||||
// query.numero_inventario,
|
||||
// );
|
||||
return this.prestamoService.findFullInfoPrestamoByNumeroInventario(
|
||||
parseInt(query.id_institucion),
|
||||
query.numero_inventario,
|
||||
);
|
||||
}
|
||||
|
||||
@Put('regresar-id-prestamo')
|
||||
|
||||
@@ -6,7 +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 { FullInformacionPrestamoEquipoView } from './entity/views/full-informacion-prestamo-equipo.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';
|
||||
@@ -37,7 +37,7 @@ import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module'
|
||||
TypeOrmModule.forFeature([
|
||||
Prestamo,
|
||||
FullInformacionPrestamoView,
|
||||
FullInformacionPrestamoEquipoView,
|
||||
FullInformacionPrestamoNumeroInventarioView,
|
||||
FullInformacionPrestamoUsuarioView,
|
||||
InformacionPrestamoView,
|
||||
]),
|
||||
|
||||
+210
-224
@@ -18,7 +18,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 { FullInformacionPrestamoEquipoView } from './entity/views/full-informacion-prestamo-equipo.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';
|
||||
@@ -39,8 +39,8 @@ export class PrestamoService {
|
||||
@InjectRepository(Prestamo) private repository: Repository<Prestamo>,
|
||||
@InjectRepository(FullInformacionPrestamoView)
|
||||
private fullInformacionPrestamoView: Repository<FullInformacionPrestamoView>,
|
||||
@InjectRepository(FullInformacionPrestamoEquipoView)
|
||||
private fullInformacionPrestamoEquipoView: Repository<FullInformacionPrestamoEquipoView>,
|
||||
@InjectRepository(FullInformacionPrestamoNumeroInventarioView)
|
||||
private fullInformacionPrestamoNumeroInventarioView: Repository<FullInformacionPrestamoNumeroInventarioView>,
|
||||
@InjectRepository(FullInformacionPrestamoUsuarioView)
|
||||
private fullInformacionPrestamoUsuarioView: Repository<FullInformacionPrestamoUsuarioView>,
|
||||
@InjectRepository(InformacionPrestamoView)
|
||||
@@ -66,7 +66,7 @@ export class PrestamoService {
|
||||
motivo: string,
|
||||
) {
|
||||
const ahora = moment();
|
||||
const prestamo = await this.findById(id_prestamo);
|
||||
const prestamo = await this.findInfoPrestamoById(id_prestamo);
|
||||
|
||||
this.validacionBasicaPrestamo(prestamo, operadorRegreso);
|
||||
prestamo.activo = false;
|
||||
@@ -77,21 +77,17 @@ export class PrestamoService {
|
||||
.update(prestamo.equipo, null, 6, operadorRegreso, motivo)
|
||||
.then((_) => this.repository.save(prestamo))
|
||||
.then((_) => {
|
||||
console.log(prestamo.usuario.id_usuario);
|
||||
console.log(operadorRegreso.institucion.id_institucion);
|
||||
this.appGateway.actualizarUsuario(prestamo.usuario.id_usuario);
|
||||
this.appGateway.actualizarOperador(
|
||||
operadorRegreso.institucion.id_institucion,
|
||||
);
|
||||
return {
|
||||
message: 'Se canceló correctamente este préstamo.',
|
||||
};
|
||||
return { message: 'Se canceló correctamente este préstamo.' };
|
||||
});
|
||||
}
|
||||
|
||||
async cancelarUsuario(id_prestamo: number) {
|
||||
const ahora = moment();
|
||||
const prestamo = await this.findById(id_prestamo);
|
||||
const prestamo = await this.findInfoPrestamoById(id_prestamo);
|
||||
|
||||
this.validacionBasicaPrestamo(prestamo);
|
||||
if (prestamo.equipo.status.id_status === 3)
|
||||
@@ -109,11 +105,7 @@ export class PrestamoService {
|
||||
prestamo.equipo.carrito.modulo.institucion.id_institucion,
|
||||
);
|
||||
this.appGateway.actualizarUsuario(prestamo.usuario.id_usuario);
|
||||
console.log(prestamo.usuario.id_usuario);
|
||||
console.log(prestamo.equipo.carrito.modulo.institucion.id_institucion);
|
||||
return {
|
||||
message: 'Se canceló correctamente este préstamo.',
|
||||
};
|
||||
return { message: 'Se canceló correctamente este préstamo.' };
|
||||
});
|
||||
}
|
||||
|
||||
@@ -124,7 +116,7 @@ export class PrestamoService {
|
||||
id_programa?: number,
|
||||
id_tipo_entrada?: number,
|
||||
) {
|
||||
const ahora = moment();
|
||||
const ahora = moment().add(4, 'h');
|
||||
const ahoraStr = ahora.format('YYYY-MM-DD');
|
||||
const sistema = { id_operador: 1 };
|
||||
const modulo = await this.moduloService.findById(id_modulo);
|
||||
@@ -152,34 +144,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) => {
|
||||
@@ -248,7 +240,7 @@ export class PrestamoService {
|
||||
async entregar(operadorEntrega: Operador, id_prestamo: number) {
|
||||
const ahora = moment();
|
||||
const ahoraStr = ahora.format('YYYY-MM-DD');
|
||||
const prestamo = await this.findById(id_prestamo);
|
||||
const prestamo = await this.findInfoPrestamoById(id_prestamo);
|
||||
const institucionDia =
|
||||
await this.institucionDiaService.findByInstitucionDia(
|
||||
operadorEntrega.institucion,
|
||||
@@ -509,37 +501,6 @@ export class PrestamoService {
|
||||
});
|
||||
}
|
||||
|
||||
findByIdUsuario(id_usuario: number) {
|
||||
return this.usuarioService
|
||||
.findById(id_usuario, true, true)
|
||||
.then((usuario) =>
|
||||
this.repository
|
||||
.createQueryBuilder('p')
|
||||
.innerJoinAndSelect('p.equipo', 'e')
|
||||
.innerJoinAndSelect('p.usuario', 'u', 'u.id_usuario = :id_usuario', {
|
||||
id_usuario: usuario.id_usuario,
|
||||
})
|
||||
.innerJoinAndSelect('e.carrito', 'c')
|
||||
.innerJoinAndSelect('e.programas', 'ps')
|
||||
.innerJoinAndSelect('e.status', 's')
|
||||
.innerJoinAndSelect('e.tiposEntradas', 'tes')
|
||||
.innerJoinAndSelect('c.modulo', 'm')
|
||||
.innerJoinAndSelect('c.tipoCarrito', 'tc')
|
||||
.innerJoinAndSelect('ps.programa', 'pr')
|
||||
.innerJoinAndSelect('tes.tipoEntrada', 'te')
|
||||
.innerJoinAndSelect('m.institucion', 'i')
|
||||
.where('p.activo = 1')
|
||||
.getOne(),
|
||||
)
|
||||
.then((prestamo) => {
|
||||
if (!prestamo)
|
||||
throw new NotFoundException(
|
||||
'Este usuario no tiene un préstamo activo.',
|
||||
);
|
||||
return prestamo;
|
||||
});
|
||||
}
|
||||
|
||||
async findByNumeroInventario(
|
||||
id_institucion: number | Institucion,
|
||||
numero_inventario: string,
|
||||
@@ -579,155 +540,181 @@ export class PrestamoService {
|
||||
});
|
||||
}
|
||||
|
||||
// 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,
|
||||
// cancelado_operador: infoPrestamo.cancelado_operador,
|
||||
// cancelado_usuario: infoPrestamo.cancelado_usuario,
|
||||
// fecha_entrega: infoPrestamo.fecha_entrega,
|
||||
// fecha_inicio: infoPrestamo.fecha_inicio,
|
||||
// hora_inicio: infoPrestamo.hora_inicio,
|
||||
// hora_fin: infoPrestamo.hora_fin,
|
||||
// hora_max_recoger: infoPrestamo.hora_max_recoger,
|
||||
// equipo: {
|
||||
// id_equipo: infoPrestamo.id_equipo,
|
||||
// numero_inventario: infoPrestamo.numero_inventario,
|
||||
// carrito: {
|
||||
// id_carrito: infoPrestamo.id_carrito,
|
||||
// modulo: {
|
||||
// id_modulo: infoPrestamo.id_modulo,
|
||||
// institucion: { id_institucion: infoPrestamo.id_institucion },
|
||||
// },
|
||||
// tipoCarrito: { id_tipo_carrito: infoPrestamo.id_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 },
|
||||
// });
|
||||
// });
|
||||
// }
|
||||
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 },
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// findFullInfoPrestamoByIdUsuario(id_usuario: number) {
|
||||
// return this.fullInformacionPrestamoUsuarioView
|
||||
// .findOne({ where: { activo: 1, id_usuario } })
|
||||
// .then((infoPrestamo) => {
|
||||
// if (!infoPrestamo)
|
||||
// throw new NotFoundException(
|
||||
// 'Este usuario no tiene un préstamo activo.',
|
||||
// );
|
||||
// return this.repository.create({
|
||||
// id_prestamo: infoPrestamo.id_prestamo,
|
||||
// activo: infoPrestamo.activo === 1,
|
||||
// cancelado_operador: infoPrestamo.cancelado_operador,
|
||||
// cancelado_usuario: infoPrestamo.cancelado_usuario,
|
||||
// fecha_entrega: infoPrestamo.fecha_entrega,
|
||||
// fecha_inicio: infoPrestamo.fecha_inicio,
|
||||
// hora_inicio: infoPrestamo.hora_inicio,
|
||||
// hora_fin: infoPrestamo.hora_fin,
|
||||
// hora_max_recoger: infoPrestamo.hora_max_recoger,
|
||||
// equipo: {
|
||||
// id_equipo: infoPrestamo.id_equipo,
|
||||
// equipo: infoPrestamo.equipo,
|
||||
// numero_inventario: infoPrestamo.numero_inventario,
|
||||
// numero_serie: infoPrestamo.numero_serie,
|
||||
// carrito: {
|
||||
// id_carrito: infoPrestamo.id_carrito,
|
||||
// carrito: infoPrestamo.carrito,
|
||||
// modulo: {
|
||||
// id_modulo: infoPrestamo.id_modulo,
|
||||
// modulo: infoPrestamo.modulo,
|
||||
// institucion: {
|
||||
// id_institucion: infoPrestamo.id_institucion,
|
||||
// institucion: infoPrestamo.institucion,
|
||||
// },
|
||||
// },
|
||||
// tipoCarrito: {
|
||||
// id_tipo_carrito: infoPrestamo.id_tipo_carrito,
|
||||
// tipo_carrito: infoPrestamo.tipo_carrito,
|
||||
// },
|
||||
// },
|
||||
// status: {
|
||||
// id_status: infoPrestamo.id_status,
|
||||
// status: infoPrestamo.status,
|
||||
// },
|
||||
// },
|
||||
// operadorEntrega: {
|
||||
// id_operador: infoPrestamo.id_operador_entrega,
|
||||
// operador: infoPrestamo.operador_entrega,
|
||||
// },
|
||||
// operadorRegreso: {
|
||||
// id_operador: infoPrestamo.id_operador_regreso,
|
||||
// operador: infoPrestamo.operador_regreso,
|
||||
// },
|
||||
// usuario: { id_usuario: infoPrestamo.id_usuario },
|
||||
// });
|
||||
// });
|
||||
// }
|
||||
findFullInfoPrestamoById(id_prestamo: number) {
|
||||
return this.fullInformacionPrestamoView
|
||||
.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,
|
||||
modulo: infoPrestamo.modulo,
|
||||
institucion: {
|
||||
id_institucion: infoPrestamo.id_institucion,
|
||||
institucion: infoPrestamo.institucion,
|
||||
},
|
||||
},
|
||||
tipoCarrito: {
|
||||
id_tipo_carrito: infoPrestamo.id_tipo_carrito,
|
||||
tipo_carrito: infoPrestamo.tipo_carrito,
|
||||
},
|
||||
},
|
||||
status: { id_status: infoPrestamo.id_status },
|
||||
},
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// async findFullInfoPrestamoByNumeroInventario(
|
||||
// id_institucion: number | Institucion,
|
||||
// numero_inventario: string,
|
||||
// ) {
|
||||
// const institucion =
|
||||
// typeof id_institucion === 'number'
|
||||
// ? await this.institucionService.findInfoInstitucionById(id_institucion)
|
||||
// : id_institucion;
|
||||
findFullInfoPrestamoByIdUsuario(id_usuario: number) {
|
||||
return this.fullInformacionPrestamoUsuarioView
|
||||
.findOne({ where: { activo: 1, id_usuario } })
|
||||
.then((infoPrestamo) => {
|
||||
if (!infoPrestamo)
|
||||
throw new NotFoundException(
|
||||
'Este usuario no tiene un préstamo activo.',
|
||||
);
|
||||
return this.repository.create({
|
||||
id_prestamo: infoPrestamo.id_prestamo,
|
||||
activo: infoPrestamo.activo === 1,
|
||||
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,
|
||||
modulo: infoPrestamo.modulo,
|
||||
institucion: {
|
||||
id_institucion: infoPrestamo.id_institucion,
|
||||
institucion: infoPrestamo.institucion,
|
||||
},
|
||||
},
|
||||
tipoCarrito: {
|
||||
id_tipo_carrito: infoPrestamo.id_tipo_carrito,
|
||||
tipo_carrito: infoPrestamo.tipo_carrito,
|
||||
},
|
||||
},
|
||||
status: { id_status: infoPrestamo.id_status },
|
||||
},
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// return this.equipoService
|
||||
// .findInfoEquipoByNumeroInventario(institucion, numero_inventario)
|
||||
// .then((equipo) =>
|
||||
// this.fullInformacionPrestamoEquipoView.findOne({
|
||||
// where: { activo: 1, id_equipo: equipo.id_equipo },
|
||||
// }),
|
||||
// )
|
||||
// .then((infoPrestamo) => {
|
||||
// if (!infoPrestamo)
|
||||
// throw new NotFoundException(
|
||||
// 'No existe un préstamo activo con este equipo de cómputo.',
|
||||
// );
|
||||
// return this.repository.create({
|
||||
// id_prestamo: infoPrestamo.id_prestamo,
|
||||
// activo: infoPrestamo.activo === 1,
|
||||
// cancelado_operador: infoPrestamo.cancelado_operador,
|
||||
// cancelado_usuario: infoPrestamo.cancelado_usuario,
|
||||
// fecha_entrega: infoPrestamo.fecha_entrega,
|
||||
// fecha_inicio: infoPrestamo.fecha_inicio,
|
||||
// hora_inicio: infoPrestamo.hora_inicio,
|
||||
// hora_fin: infoPrestamo.hora_fin,
|
||||
// hora_max_recoger: infoPrestamo.hora_max_recoger,
|
||||
// equipo: {
|
||||
// id_equipo: infoPrestamo.id_equipo,
|
||||
// carrito: {
|
||||
// modulo: {
|
||||
// institucion: { id_institucion: infoPrestamo.id_institucion },
|
||||
// },
|
||||
// },
|
||||
// },
|
||||
// operadorEntrega: {
|
||||
// id_operador: infoPrestamo.id_operador_entrega,
|
||||
// operador: infoPrestamo.operador_entrega,
|
||||
// },
|
||||
// operadorRegreso: {
|
||||
// id_operador: infoPrestamo.id_operador_regreso,
|
||||
// operador: infoPrestamo.operador_regreso,
|
||||
// },
|
||||
// usuario: {
|
||||
// id_usuario: infoPrestamo.id_usuario,
|
||||
// usuario: infoPrestamo.usuario,
|
||||
// nombre: infoPrestamo.nombre,
|
||||
// tipoUsuario: { id_tipo_usuario: infoPrestamo.id_tipo_usuario },
|
||||
// },
|
||||
// });
|
||||
// });
|
||||
// }
|
||||
async findFullInfoPrestamoByNumeroInventario(
|
||||
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.fullInformacionPrestamoNumeroInventarioView.findOne({
|
||||
where: { activo: 1, id_equipo: equipo.id_equipo },
|
||||
}),
|
||||
)
|
||||
.then((infoPrestamo) => {
|
||||
if (!infoPrestamo)
|
||||
throw new NotFoundException(
|
||||
'No existe un préstamo activo con este equipo de cómputo.',
|
||||
);
|
||||
return this.repository.create({
|
||||
id_prestamo: infoPrestamo.id_prestamo,
|
||||
activo: infoPrestamo.activo === 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,
|
||||
carrito: {
|
||||
id_carrito: infoPrestamo.id_carrito,
|
||||
carrito: infoPrestamo.carrito,
|
||||
modulo: {
|
||||
id_modulo: infoPrestamo.id_modulo,
|
||||
institucion: { id_institucion: infoPrestamo.id_institucion },
|
||||
},
|
||||
},
|
||||
status: { id_status: infoPrestamo.id_status },
|
||||
},
|
||||
usuario: {
|
||||
id_usuario: infoPrestamo.id_usuario,
|
||||
usuario: infoPrestamo.usuario,
|
||||
nombre: infoPrestamo.nombre,
|
||||
tipoUsuario: { id_tipo_usuario: infoPrestamo.id_tipo_usuario },
|
||||
},
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
private mensajeNoPoderPedir() {
|
||||
return 'No puedes pedir equipos de cómputo porque:';
|
||||
@@ -813,7 +800,7 @@ export class PrestamoService {
|
||||
descripcion?: string,
|
||||
id_institucion_infraccion?: number,
|
||||
) {
|
||||
return this.findById(id_prestamo).then((prestamo) =>
|
||||
return this.findInfoPrestamoById(id_prestamo).then((prestamo) =>
|
||||
this.regresar(
|
||||
prestamo,
|
||||
operador,
|
||||
@@ -863,11 +850,10 @@ export class PrestamoService {
|
||||
operador &&
|
||||
operador.institucion.id_institucion !=
|
||||
prestamo.equipo.carrito.modulo.institucion.id_institucion
|
||||
) {
|
||||
)
|
||||
throw new ConflictException(
|
||||
'Este préstamo no pertenece a esta institución.',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
validarInstitucionUsuario(
|
||||
|
||||
Reference in New Issue
Block a user