views equipo y prestamo

This commit is contained in:
lemuel 2022-09-08 11:32:38 -05:00
parent 4d79f6b691
commit 378f9cadc2
7 changed files with 408 additions and 17 deletions

View File

@ -70,7 +70,10 @@ import { TipoEntrada } from './institucion-tipo-entrada/entity/tipo-entrada.enti
import { TipoUsuario } from './tipo-usuario/entity/tipo-usuario.entity'; import { TipoUsuario } from './tipo-usuario/entity/tipo-usuario.entity';
import { Usuario } from './usuario/entity/usuario.entity'; import { Usuario } from './usuario/entity/usuario.entity';
import { FullInformacionEquipoView } from './equipo/entity/views/full-informacion-equipo.view';
import { InformacionEquipoView } from './equipo/entity/views/informacion-equipo.view'; import { InformacionEquipoView } from './equipo/entity/views/informacion-equipo.view';
import { FullInformacionPrestamoView } from './prestamo/entity/views/full-informacion-prestamo.view';
import { InformacionPrestamoView } from './prestamo/entity/views/informacion-prestamo.view';
import { InformacionEquipoProgramaView } from './equipo-programa/entity/views/informacion-equipo-programa.view'; import { InformacionEquipoProgramaView } from './equipo-programa/entity/views/informacion-equipo-programa.view';
import { InformacionEquipoTipoEntradaView } from './equipo-tipo-entrada/entity/views/informacion-equipo-tipo-entrada.view'; import { InformacionEquipoTipoEntradaView } from './equipo-tipo-entrada/entity/views/informacion-equipo-tipo-entrada.view';
import { InformacionOperadorView } from './operador/entity/views/informacion-operador.view'; import { InformacionOperadorView } from './operador/entity/views/informacion-operador.view';
@ -135,7 +138,10 @@ import { ValidarUsuarioModule } from './validar-usuario/validar-usuario.module';
TipoEntrada, TipoEntrada,
TipoUsuario, TipoUsuario,
Usuario, Usuario,
FullInformacionEquipoView,
InformacionEquipoView, InformacionEquipoView,
FullInformacionPrestamoView,
InformacionPrestamoView,
InformacionEquipoProgramaView, InformacionEquipoProgramaView,
InformacionEquipoTipoEntradaView, InformacionEquipoTipoEntradaView,
InformacionOperadorView, InformacionOperadorView,

View File

@ -0,0 +1,116 @@
import { DataSource, ViewEntity, ViewColumn } from 'typeorm';
import { Carrito } from '../../../carrito/entity/carrito.entity';
import { Equipo } from '../equipo.entity';
import { Institucion } from '../../../institucion/entity/institucion.entity';
import { Modulo } from '../../../modulo/entity/modulo.entity';
import { EquipoPrograma } from '../../../equipo-programa/entity/equipo-programa.entity';
import { EquipoTipoEntrada } from '../../../equipo-tipo-entrada/entity/equipo-tipo-entrada.entity';
import { Programa } from '../../../institucion-programa/entity/programa.entity';
import { Status } from '../../../status/entity/status.entity';
import { TipoCarrito } from '../../../institucion-tipo-carrito/entity/tipo-carrito.entity';
import { TipoEntrada } from '../../../institucion-tipo-entrada/entity/tipo-entrada.entity';
@ViewEntity({
expression: (dataSource: DataSource) =>
dataSource
.createQueryBuilder()
.select('e.id_equipo', 'id_equipo')
.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('e.prestado', 'prestado')
.addSelect('c.activo', 'activo_carrito')
.addSelect('c.carrito', 'carrito')
.addSelect('c.id_modulo', 'id_modulo')
.addSelect('c.id_tipo_carrito', 'id_tipo_carrito')
.addSelect('s.status', 'status')
.addSelect('ps.id_programa', 'id_programa')
.addSelect('tes.id_tipo_entrada', 'id_tipo_entrada')
.addSelect('m.activo', 'activo_modulo')
.addSelect('m.id_institucion', 'id_institucion')
.addSelect('m.modulo', 'modulo')
.addSelect('tc.tipo_carrito', 'tipo_carrito')
.addSelect('p.programa', 'programa')
.addSelect('te.tipo_entrada', 'tipo_entrada')
.addSelect('i.activo', 'activo_institucion')
.addSelect('i.institucion', 'institucion')
.from(Equipo, 'e')
.innerJoin(Carrito, 'c', 'c.id_carrito = e.id_carrito')
.innerJoin(Status, 's', 's.id_status = e.id_status')
.innerJoin(EquipoPrograma, 'ps', 'ps.id_equipo = e.id_equipo')
.innerJoin(EquipoTipoEntrada, 'tes', 'tes.id_equipo = e.id_equipo')
.innerJoin(Modulo, 'm', 'm.id_modulo = c.id_modulo')
.innerJoin(TipoCarrito, 'tc', 'tc.id_tipo_carrito = c.id_tipo_carrito')
.innerJoin(Programa, 'p', 'p.id_programa = ps.id_programa')
.innerJoin(TipoEntrada, 'te', 'te.id_tipo_entrada = tes.id_tipo_entrada')
.innerJoin(Institucion, 'i', 'i.id_institucion = m.id_institucion'),
})
export class FullInformacionEquipoView {
@ViewColumn()
id_equipo: number;
@ViewColumn()
activo_carrito: boolean;
@ViewColumn()
activo_institucion: boolean;
@ViewColumn()
activo_modulo: boolean;
@ViewColumn()
carrito: string;
@ViewColumn()
equipo: string;
@ViewColumn()
id_carrito: number;
@ViewColumn()
id_institucion: number;
@ViewColumn()
id_modulo: number;
@ViewColumn()
id_programa: number;
@ViewColumn()
id_tipo_carrito: number;
@ViewColumn()
id_tipo_entrada: number;
@ViewColumn()
id_status: number;
@ViewColumn()
institucion: string;
@ViewColumn()
modulo: string;
@ViewColumn()
numero_inventario: string;
@ViewColumn()
numero_serie: string;
@ViewColumn()
prestado: boolean;
@ViewColumn()
programa: string;
@ViewColumn()
status: string;
@ViewColumn()
tipo_carrito: string;
@ViewColumn()
tipo_entrada: string;
}

View File

@ -3,10 +3,6 @@ import { Carrito } from '../../../carrito/entity/carrito.entity';
import { Equipo } from '../equipo.entity'; import { Equipo } from '../equipo.entity';
import { Institucion } from '../../../institucion/entity/institucion.entity'; import { Institucion } from '../../../institucion/entity/institucion.entity';
import { Modulo } from '../../../modulo/entity/modulo.entity'; import { Modulo } from '../../../modulo/entity/modulo.entity';
import { EquipoPrograma } from '../../../equipo-programa/entity/equipo-programa.entity';
import { EquipoTipoEntrada } from '../../../equipo-tipo-entrada/entity/equipo-tipo-entrada.entity';
import { Programa } from '../../../institucion-programa/entity/programa.entity';
import { TipoEntrada } from '../../../institucion-tipo-entrada/entity/tipo-entrada.entity';
@ViewEntity({ @ViewEntity({
expression: (dataSource: DataSource) => expression: (dataSource: DataSource) =>
@ -25,18 +21,10 @@ import { TipoEntrada } from '../../../institucion-tipo-entrada/entity/tipo-entra
.addSelect('m.activo', 'activo_modulo') .addSelect('m.activo', 'activo_modulo')
.addSelect('m.id_institucion', 'id_institucion') .addSelect('m.id_institucion', 'id_institucion')
.addSelect('i.activo', 'activo_institucion') .addSelect('i.activo', 'activo_institucion')
// .addSelect('p.id_programa')
// .addSelect('p.id_programa')
// .addSelect('te.id_tipo_entrada')
// .addSelect('tc.id_tipo_carrito')
.from(Equipo, 'e') .from(Equipo, 'e')
.innerJoin(Carrito, 'c', 'c.id_carrito = e.id_carrito') .innerJoin(Carrito, 'c', 'c.id_carrito = e.id_carrito')
.innerJoin(Modulo, 'm', 'm.id_modulo = c.id_modulo') .innerJoin(Modulo, 'm', 'm.id_modulo = c.id_modulo')
.innerJoin(Institucion, 'i', 'i.id_institucion = m.id_institucion'), .innerJoin(Institucion, 'i', 'i.id_institucion = m.id_institucion'),
// .innerJoin(EquipoPrograma, 'ps', 'ps.id_equipo = e.id_equipo')
// .innerJoin(EquipoTipoEntrada, 'tes', 'tes.id_equipo = e.id_equipo')
// .innerJoin(TipoEntrada, 'te', 'te.id_tipo_entrada = c.id_tipo_entrada')
// .innerJoin(Programa, 'p', 'p.id_programa = e.id_programa')
}) })
export class InformacionEquipoView { export class InformacionEquipoView {
@ViewColumn() @ViewColumn()
@ -57,15 +45,15 @@ export class InformacionEquipoView {
@ViewColumn() @ViewColumn()
equipo: string; equipo: string;
@ViewColumn()
id_modulo: number;
@ViewColumn() @ViewColumn()
id_carrito: number; id_carrito: number;
@ViewColumn() @ViewColumn()
id_institucion: number; id_institucion: number;
@ViewColumn()
id_modulo: number;
@ViewColumn() @ViewColumn()
id_tipo_carrito: number; id_tipo_carrito: number;

View File

@ -5,6 +5,7 @@ import { EquipoController } from './equipo.controller';
import { EquipoService } from './equipo.service'; import { EquipoService } from './equipo.service';
import { Equipo } from './entity/equipo.entity'; import { Equipo } from './entity/equipo.entity';
import { InformacionEquipoView } from './entity/views/informacion-equipo.view'; import { InformacionEquipoView } from './entity/views/informacion-equipo.view';
import { FullInformacionEquipoView } from './entity/views/full-informacion-equipo.view';
import { CarritoModule } from '../carrito/carrito.module'; import { CarritoModule } from '../carrito/carrito.module';
import { EquipoProgramaModule } from '../equipo-programa/equipo-programa.module'; import { EquipoProgramaModule } from '../equipo-programa/equipo-programa.module';
import { InstitucionModule } from '../institucion/institucion.module'; import { InstitucionModule } from '../institucion/institucion.module';
@ -34,7 +35,11 @@ import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module'
OperadorModule, OperadorModule,
PassportModule.register({ defaultStrategy: 'jwt' }), PassportModule.register({ defaultStrategy: 'jwt' }),
StatusModule, StatusModule,
TypeOrmModule.forFeature([Equipo, InformacionEquipoView]), TypeOrmModule.forFeature([
Equipo,
FullInformacionEquipoView,
InformacionEquipoView,
]),
ValidarUsuarioModule, ValidarUsuarioModule,
], ],
controllers: [EquipoController], controllers: [EquipoController],

View File

@ -0,0 +1,163 @@
import { DataSource, ViewEntity, ViewColumn } from 'typeorm';
import { Carrito } from '../../../carrito/entity/carrito.entity';
import { Prestamo } from '../prestamo.entity';
import { Equipo } from '../../../equipo/entity/equipo.entity';
import { Institucion } from '../../../institucion/entity/institucion.entity';
import { Modulo } from '../../../modulo/entity/modulo.entity';
import { Operador } from '../../../operador/entity/operador.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_prestamo')
.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('e.prestado', 'prestado')
.addSelect('oe.operador', 'operadorEntrega')
.addSelect('or.operador', 'operadorRegreso')
.addSelect('u.usuario', 'usuario')
.addSelect('u.nombre', 'nombre')
.addSelect('c.activo', 'activo_carrito')
.addSelect('c.carrito', 'carrito')
.addSelect('c.id_modulo', 'id_modulo')
.addSelect('c.id_tipo_carrito', 'id_tipo_carrito')
.addSelect('s.status', 'status')
.addSelect('m.activo', 'activo_modulo')
.addSelect('m.id_institucion', 'id_institucion')
.addSelect('m.modulo', 'modulo')
.addSelect('tc.tipo_carrito', 'tipo_carrito')
.addSelect('i.activo', 'activo_institucion')
.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(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 FullInformacionPrestamoView {
@ViewColumn()
id_prestamo: number;
@ViewColumn()
activo_carrito: boolean;
@ViewColumn()
activo_institucion: boolean;
@ViewColumn()
activo_modulo: boolean;
@ViewColumn()
activo_prestamo: boolean;
@ViewColumn()
cancelado_operador: boolean;
@ViewColumn()
cancelado_usuario: boolean;
@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_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()
nombre: string;
@ViewColumn()
numero_inventario: string;
@ViewColumn()
numero_serie: string;
@ViewColumn()
operadorEntrega: string;
@ViewColumn()
operadorRegreso: string;
@ViewColumn()
prestado: boolean;
@ViewColumn()
status: string;
@ViewColumn()
tipo_carrito: string;
@ViewColumn()
usuario: string;
}

View File

@ -0,0 +1,107 @@
import { DataSource, ViewEntity, ViewColumn } from 'typeorm';
import { Carrito } from '../../../carrito/entity/carrito.entity';
import { Prestamo } from '../prestamo.entity';
import { Equipo } from '../../../equipo/entity/equipo.entity';
import { Institucion } from '../../../institucion/entity/institucion.entity';
import { Modulo } from '../../../modulo/entity/modulo.entity';
import { Operador } from '../../../operador/entity/operador.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_prestamo')
.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.id_carrito', 'id_carrito')
.addSelect('e.id_status', 'id_status')
.addSelect('e.numero_inventario', 'numero_inventario')
.addSelect('u.usuario', 'usuario')
.addSelect('c.id_modulo', 'id_modulo')
.addSelect('c.id_tipo_carrito', 'id_tipo_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(Status, 's', 's.id_status = e.id_status')
.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 InformacionPrestamoView {
@ViewColumn()
id_prestamo: number;
@ViewColumn()
activo_prestamo: boolean;
@ViewColumn()
cancelado_operador: boolean;
@ViewColumn()
cancelado_usuario: boolean;
@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_operador_entrega: number;
@ViewColumn()
id_operador_regreso: number;
@ViewColumn()
id_status: number;
@ViewColumn()
id_tipo_carrito: number;
@ViewColumn()
id_usuario: number;
@ViewColumn()
numero_inventario: string;
@ViewColumn()
usuario: string;
}

View File

@ -5,6 +5,8 @@ import { AppGateway } from '../app.gateway';
import { PrestamoController } from './prestamo.controller'; import { PrestamoController } from './prestamo.controller';
import { PrestamoService } from './prestamo.service'; import { PrestamoService } from './prestamo.service';
import { Prestamo } from './entity/prestamo.entity'; import { Prestamo } from './entity/prestamo.entity';
import { FullInformacionPrestamoView } from './entity/views/full-informacion-prestamo.view';
import { InformacionPrestamoView } from './entity/views/informacion-prestamo.view';
import { EquipoModule } from '../equipo/equipo.module'; import { EquipoModule } from '../equipo/equipo.module';
import { InstitucionModule } from '../institucion/institucion.module'; import { InstitucionModule } from '../institucion/institucion.module';
import { InstitucionDiaModule } from '../institucion-dia/institucion-dia.module'; import { InstitucionDiaModule } from '../institucion-dia/institucion-dia.module';
@ -30,7 +32,11 @@ import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module'
forwardRef(() => MultaModule), forwardRef(() => MultaModule),
OperadorModule, OperadorModule,
PassportModule.register({ defaultStrategy: 'jwt' }), PassportModule.register({ defaultStrategy: 'jwt' }),
TypeOrmModule.forFeature([Prestamo]), TypeOrmModule.forFeature([
Prestamo,
FullInformacionPrestamoView,
InformacionPrestamoView,
]),
TipoUsuarioModule, TipoUsuarioModule,
UsuarioModule, UsuarioModule,
ValidarUsuarioModule, ValidarUsuarioModule,