listo
This commit is contained in:
@@ -43,6 +43,7 @@ import { Carrito } from './carrito/entity/carrito.entity';
|
||||
import { CarritoMotivo } from './carrito-motivo/entity/carrito-motivo.entity';
|
||||
import { Dia } from './institucion-dia/entity/dia.entity';
|
||||
import { Equipo } from './equipo/entity/equipo.entity';
|
||||
// import { EquipoPrestamoView } from './equipo/entity/views/equipo-prestamo.view';
|
||||
import { EquipoMotivo } from './equipo-motivo/entity/equipo-motivo.entity';
|
||||
import { EquipoPrograma } from './equipo-programa/entity/equipo-programa.entity';
|
||||
import { EquipoTipoEntrada } from './equipo-tipo-entrada/entity/equipo-tipo-entrada.entity';
|
||||
@@ -102,6 +103,7 @@ import { Usuario } from './usuario/entity/usuario.entity';
|
||||
CarritoMotivo,
|
||||
Dia,
|
||||
Equipo,
|
||||
// EquipoPrestamoView,
|
||||
EquipoMotivo,
|
||||
EquipoPrograma,
|
||||
EquipoTipoEntrada,
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
// import { ViewEntity, ViewColumn, DataSource } from 'typeorm';
|
||||
|
||||
// @ViewEntity({
|
||||
// expression: (dataSource: DataSource) =>
|
||||
// dataSource
|
||||
// .createQueryBuilder()
|
||||
// .select('post.id', 'id')
|
||||
// .addSelect('post.name', 'name')
|
||||
// .addSelect('category.name', 'categoryName')
|
||||
// .from(Post, 'post')
|
||||
// .leftJoin(Category, 'category', 'category.id = post.categoryId'),
|
||||
// })
|
||||
// export class PostCategory {
|
||||
// @ViewColumn()
|
||||
// id: number;
|
||||
|
||||
// @ViewColumn()
|
||||
// name: string;
|
||||
|
||||
// @ViewColumn()
|
||||
// categoryName: string;
|
||||
// }
|
||||
@@ -0,0 +1,59 @@
|
||||
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 { TipoCarrito } from '../../../institucion-tipo-carrito/entity/tipo-carrito.entity';
|
||||
import { TipoEntrada } from '../../../institucion-tipo-entrada/entity/tipo-entrada.entity';
|
||||
import { Status } from '../../../status/entity/status.entity';
|
||||
|
||||
@ViewEntity({
|
||||
expression: (dataSource: DataSource) =>
|
||||
dataSource
|
||||
.createQueryBuilder()
|
||||
.from(Equipo, 'e')
|
||||
.select('e.id_equipo', 'id_equipo')
|
||||
.addSelect('e.prestado', 'prestado')
|
||||
.addSelect('c.activo', 'activo')
|
||||
.addSelect('s.id_status', 'id_status')
|
||||
.addSelect('m.id_modulo', 'id_modulo')
|
||||
.addSelect('i.id_institucion', 'id_institucion')
|
||||
// .addSelect('p.id_programa')
|
||||
// .addSelect('p.id_programa')
|
||||
// .addSelect('te.id_tipo_entrada')
|
||||
// .addSelect('tc.id_tipo_carrito')
|
||||
.innerJoin(Carrito, 'c', 'c.id_carrito = e.id_carrito')
|
||||
.innerJoin(EquipoPrograma, 'ps', 'ps.id_equipo = e.id_equipo')
|
||||
.innerJoin(EquipoTipoEntrada, 'tes', 'tes.id_equipo = e.id_equipo')
|
||||
.innerJoin(Status, 's', 's.id_status = e.id_status')
|
||||
// .innerJoin(TipoEntrada, 'te', 'te.id_tipo_entrada = c.id_tipo_entrada')
|
||||
.innerJoin(Modulo, 'm', 'm.id_modulo = c.id_modulo')
|
||||
// .innerJoin(Programa, 'p', 'p.id_programa = e.id_programa')
|
||||
.innerJoin(TipoCarrito, 'tc', 'tc.id_tipo_carrito = c.id_tipo_carrito')
|
||||
.innerJoin(Institucion, 'i', 'i.id_institucion = m.id_institucion')
|
||||
.where(
|
||||
'e.prestado = 1 && s.id_status = 1 && c.activo = 1 && m.activo = 1 && i.activo = 1',
|
||||
),
|
||||
})
|
||||
export class EquipoPrestamoView {
|
||||
@ViewColumn()
|
||||
id_equipo: number;
|
||||
|
||||
@ViewColumn()
|
||||
prestado: boolean;
|
||||
|
||||
@ViewColumn()
|
||||
activo: boolean;
|
||||
|
||||
@ViewColumn()
|
||||
id_status: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_modulo: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_institucion: number;
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { EquipoController } from './equipo.controller';
|
||||
import { EquipoService } from './equipo.service';
|
||||
import { Equipo } from './entity/equipo.entity';
|
||||
// import { EquipoPrestamoView } from './entity/views/equipo-prestamo.view';
|
||||
import { CarritoModule } from '../carrito/carrito.module';
|
||||
import { EquipoProgramaModule } from '../equipo-programa/equipo-programa.module';
|
||||
import { InstitucionModule } from '../institucion/institucion.module';
|
||||
@@ -32,7 +33,7 @@ import { StatusModule } from '../status/status.module';
|
||||
OperadorModule,
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
StatusModule,
|
||||
TypeOrmModule.forFeature([Equipo]),
|
||||
TypeOrmModule.forFeature([Equipo /*, EquipoPrestamoView*/]),
|
||||
],
|
||||
controllers: [EquipoController],
|
||||
providers: [EquipoService],
|
||||
|
||||
@@ -10,6 +10,7 @@ import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { Repository } from 'typeorm';
|
||||
import { Carrito } from '../carrito/entity/carrito.entity';
|
||||
import { Equipo } from './entity/equipo.entity';
|
||||
// import { EquipoPrestamoView } from './entity/views/equipo-prestamo.view';
|
||||
import { Institucion } from '../institucion/entity/institucion.entity';
|
||||
import { Marca } from '../marca/entity/marca.entity';
|
||||
import { Modelo } from '../modelo/entity/modelo.entity';
|
||||
@@ -35,6 +36,8 @@ import { StatusService } from '../status/status.service';
|
||||
export class EquipoService {
|
||||
constructor(
|
||||
@InjectRepository(Equipo) private repository: Repository<Equipo>,
|
||||
// @InjectRepository(EquipoPrestamoView)
|
||||
// private equipoPrestamoView: Repository<EquipoPrestamoView>,
|
||||
private carritoService: CarritoService,
|
||||
@Inject(forwardRef(() => EquipoProgramaService))
|
||||
private equipoProgramaService: EquipoProgramaService,
|
||||
@@ -297,7 +300,9 @@ export class EquipoService {
|
||||
.where('e.prestado = 0')
|
||||
.orderBy('c.carrito')
|
||||
.addOrderBy('e.equipo');
|
||||
// const a = await this.equipoPrestamoView.find();
|
||||
|
||||
// console.log(a);
|
||||
if (programa) {
|
||||
query.andWhere('ps.id_programa = :id_programa', {
|
||||
id_programa: programa.id_programa,
|
||||
|
||||
@@ -326,6 +326,7 @@ export class PrestamoService {
|
||||
.innerJoinAndSelect('p.operadorRegreso', 'or')
|
||||
.innerJoinAndSelect('p.usuario', 'u')
|
||||
.innerJoinAndSelect('e.carrito', 'c')
|
||||
.innerJoinAndSelect('e.status', 's')
|
||||
.innerJoinAndSelect('oe.tipoUsuario', 'tuoe')
|
||||
.innerJoinAndSelect('or.tipoUsuario', 'tuor')
|
||||
.innerJoinAndSelect('u.instituciones', 'is')
|
||||
@@ -346,11 +347,9 @@ export class PrestamoService {
|
||||
.take(25);
|
||||
|
||||
if (filtros.activo) {
|
||||
if (typeof filtros.activo === 'boolean') {
|
||||
query
|
||||
.innerJoinAndSelect('e.status', 's')
|
||||
.andWhere('p.activo = :activo', { activo: filtros.activo });
|
||||
} else
|
||||
if (typeof filtros.activo === 'boolean')
|
||||
query.andWhere('p.activo = :activo', { activo: filtros.activo });
|
||||
else
|
||||
query.andWhere('p.activo = :activo', {
|
||||
activo: filtros.activo === 'true',
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user