vista con solo id_institucion

This commit is contained in:
xXpuma99Xx 2022-09-25 10:52:10 -05:00
parent 0cc9add1ce
commit 1c95f8c8d0
5 changed files with 46 additions and 22 deletions

View File

@ -76,6 +76,7 @@ import { InformacionEquipoView } from './equipo/entity/views/informacion-equipo.
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 { InformacionInstitucionView } from './institucion/entity/views/informacion-institucion.view'; import { InformacionInstitucionView } from './institucion/entity/views/informacion-institucion.view';
import { MinInformacionInstitucionView } from './institucion/entity/views/min-informacion-institucion.view';
import { InformacionModuloView } from './modulo/entity/views/informacion-modulo.view'; import { InformacionModuloView } from './modulo/entity/views/informacion-modulo.view';
import { FullInformacionMultaView } from './multa/entity/views/full-informacion-multa.view'; import { FullInformacionMultaView } from './multa/entity/views/full-informacion-multa.view';
import { InformacionMultaView } from './multa/entity/views/informacion-multa.view'; import { InformacionMultaView } from './multa/entity/views/informacion-multa.view';
@ -147,6 +148,7 @@ import { InformacionUsuarioView } from './usuario/entity/views/informacion-usuar
InformacionEquipoProgramaView, InformacionEquipoProgramaView,
InformacionEquipoTipoEntradaView, InformacionEquipoTipoEntradaView,
InformacionInstitucionView, InformacionInstitucionView,
MinInformacionInstitucionView,
InformacionModuloView, InformacionModuloView,
FullInformacionMultaView, FullInformacionMultaView,
InformacionMultaView, InformacionMultaView,

View File

@ -6,29 +6,9 @@ import { Institucion } from '../institucion.entity';
dataSource dataSource
.createQueryBuilder() .createQueryBuilder()
.select('i.id_institucion', 'id_institucion') .select('i.id_institucion', 'id_institucion')
.addSelect('i.activo', 'activo')
.addSelect('i.correo', 'correo')
.addSelect('i.dominio', 'dominio')
.addSelect('i.institucion', 'institucion')
.addSelect('i.responsable', 'responsable')
.from(Institucion, 'i'), .from(Institucion, 'i'),
}) })
export class InformacionInstitucionView { export class InformacionInstitucionView {
@ViewColumn() @ViewColumn()
id_institucion: number; id_institucion: number;
@ViewColumn()
activo: number;
@ViewColumn()
correo: string;
@ViewColumn()
dominio: string;
@ViewColumn()
institucion: string;
@ViewColumn()
responsable: string;
} }

View File

@ -0,0 +1,34 @@
import { DataSource, ViewEntity, ViewColumn } from 'typeorm';
import { Institucion } from '../institucion.entity';
@ViewEntity({
expression: (dataSource: DataSource) =>
dataSource
.createQueryBuilder()
.select('i.id_institucion', 'id_institucion')
.addSelect('i.activo', 'activo')
.addSelect('i.correo', 'correo')
.addSelect('i.dominio', 'dominio')
.addSelect('i.institucion', 'institucion')
.addSelect('i.responsable', 'responsable')
.from(Institucion, 'i'),
})
export class MinInformacionInstitucionView {
@ViewColumn()
id_institucion: number;
@ViewColumn()
activo: number;
@ViewColumn()
correo: string;
@ViewColumn()
dominio: string;
@ViewColumn()
institucion: string;
@ViewColumn()
responsable: string;
}

View File

@ -5,12 +5,17 @@ import { InstitucionController } from './institucion.controller';
import { InstitucionService } from './institucion.service'; import { InstitucionService } from './institucion.service';
import { Institucion } from './entity/institucion.entity'; import { Institucion } from './entity/institucion.entity';
import { InformacionInstitucionView } from './entity/views/informacion-institucion.view'; import { InformacionInstitucionView } from './entity/views/informacion-institucion.view';
import { MinInformacionInstitucionView } from './entity/views/min-informacion-institucion.view';
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module'; import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
@Module({ @Module({
imports: [ imports: [
PassportModule.register({ defaultStrategy: 'jwt' }), PassportModule.register({ defaultStrategy: 'jwt' }),
TypeOrmModule.forFeature([Institucion, InformacionInstitucionView]), TypeOrmModule.forFeature([
Institucion,
InformacionInstitucionView,
MinInformacionInstitucionView,
]),
ValidarUsuarioModule, ValidarUsuarioModule,
], ],
controllers: [InstitucionController], controllers: [InstitucionController],

View File

@ -8,6 +8,7 @@ import { FindOperator, IsNull, Not, Repository } from 'typeorm';
import { Institucion } from './entity/institucion.entity'; import { Institucion } from './entity/institucion.entity';
import { Operador } from '../operador/entity/operador.entity'; import { Operador } from '../operador/entity/operador.entity';
import { InformacionInstitucionView } from './entity/views/informacion-institucion.view'; import { InformacionInstitucionView } from './entity/views/informacion-institucion.view';
import { MinInformacionInstitucionView } from './entity/views/min-informacion-institucion.view';
@Injectable() @Injectable()
export class InstitucionService { export class InstitucionService {
@ -15,6 +16,8 @@ export class InstitucionService {
@InjectRepository(Institucion) private repository: Repository<Institucion>, @InjectRepository(Institucion) private repository: Repository<Institucion>,
@InjectRepository(InformacionInstitucionView) @InjectRepository(InformacionInstitucionView)
private informacionInstitucionView: Repository<InformacionInstitucionView>, private informacionInstitucionView: Repository<InformacionInstitucionView>,
@InjectRepository(MinInformacionInstitucionView)
private minInformacionInstitucionView: Repository<MinInformacionInstitucionView>,
) {} ) {}
findAll(activo = false) { findAll(activo = false) {
@ -54,7 +57,7 @@ export class InstitucionService {
if (activo) busqueda.activo = activo; if (activo) busqueda.activo = activo;
if (responsable) busqueda.responsable = Not(IsNull()); if (responsable) busqueda.responsable = Not(IsNull());
return this.informacionInstitucionView return this.minInformacionInstitucionView
.find({ where: busqueda, order: { institucion: 'ASC' } }) .find({ where: busqueda, order: { institucion: 'ASC' } })
.then((infoInstituciones) => { .then((infoInstituciones) => {
const instituciones: Institucion[] = []; const instituciones: Institucion[] = [];