equipo con programas y tipos de entrada
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import { DataSource, ViewEntity, ViewColumn } from 'typeorm';
|
||||
import { EquipoPrograma } from '../equipo-programa.entity';
|
||||
import { Programa } from '../../../institucion-programa/entity/programa.entity';
|
||||
|
||||
@ViewEntity({
|
||||
expression: (dataSource: DataSource) =>
|
||||
dataSource
|
||||
.createQueryBuilder()
|
||||
.select('ep.id_equipo_programa', 'id_equipo_programa')
|
||||
.addSelect('ep.id_equipo', 'id_equipo')
|
||||
.addSelect('ep.id_programa', 'id_programa')
|
||||
.addSelect('p.programa', 'programa')
|
||||
.from(EquipoPrograma, 'ep')
|
||||
.innerJoin(Programa, 'p', 'p.id_programa = ep.id_programa'),
|
||||
})
|
||||
export class FullInformacionEquipoProgramaView {
|
||||
@ViewColumn()
|
||||
id_equipo_programa: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_equipo: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_programa: number;
|
||||
|
||||
@ViewColumn()
|
||||
programa: string;
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { EquipoProgramaController } from './equipo-programa.controller';
|
||||
import { EquipoProgramaService } from './equipo-programa.service';
|
||||
import { EquipoPrograma } from '../equipo-programa/entity/equipo-programa.entity';
|
||||
import { FullInformacionEquipoProgramaView } from './entity/views/full-informacion-equipo-programa.view';
|
||||
import { InformacionEquipoProgramaView } from './entity/views/informacion-equipo-programa.view';
|
||||
import { EquipoModule } from '../equipo/equipo.module';
|
||||
import { InstitucionProgramaModule } from '../institucion-programa/institucion-programa.module';
|
||||
@@ -14,7 +15,11 @@ import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module'
|
||||
forwardRef(() => EquipoModule),
|
||||
InstitucionProgramaModule,
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
TypeOrmModule.forFeature([EquipoPrograma, InformacionEquipoProgramaView]),
|
||||
TypeOrmModule.forFeature([
|
||||
EquipoPrograma,
|
||||
FullInformacionEquipoProgramaView,
|
||||
InformacionEquipoProgramaView,
|
||||
]),
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
controllers: [EquipoProgramaController],
|
||||
|
||||
@@ -10,6 +10,7 @@ import { Repository } from 'typeorm';
|
||||
import { Equipo } from '../equipo/entity/equipo.entity';
|
||||
import { EquipoPrograma } from './entity/equipo-programa.entity';
|
||||
import { Programa } from '../institucion-programa/entity/programa.entity';
|
||||
import { FullInformacionEquipoProgramaView } from './entity/views/full-informacion-equipo-programa.view';
|
||||
import { InformacionEquipoProgramaView } from './entity/views/informacion-equipo-programa.view';
|
||||
import { EquipoService } from '../equipo/equipo.service';
|
||||
import { InstitucionProgramaService } from '../institucion-programa/institucion-programa.service';
|
||||
@@ -20,6 +21,8 @@ export class EquipoProgramaService {
|
||||
constructor(
|
||||
@InjectRepository(EquipoPrograma)
|
||||
private repository: Repository<EquipoPrograma>,
|
||||
@InjectRepository(FullInformacionEquipoProgramaView)
|
||||
private fullInformacionEquipoProgramaView: Repository<FullInformacionEquipoProgramaView>,
|
||||
@InjectRepository(InformacionEquipoProgramaView)
|
||||
private informacionEquipoProgramaView: Repository<InformacionEquipoProgramaView>,
|
||||
@Inject(forwardRef(() => EquipoService))
|
||||
@@ -147,6 +150,28 @@ export class EquipoProgramaService {
|
||||
});
|
||||
}
|
||||
|
||||
findFullInfoEquipoProgramaAllByIdEquipo(id_equipo: number) {
|
||||
return this.fullInformacionEquipoProgramaView
|
||||
.find({
|
||||
where: { id_equipo },
|
||||
})
|
||||
.then((infoEquipoProgramas) => {
|
||||
const equipoProgramas: EquipoPrograma[] = [];
|
||||
|
||||
for (let i = 0; i < infoEquipoProgramas.length; i++)
|
||||
equipoProgramas.push(
|
||||
this.repository.create({
|
||||
id_equipo_programa: infoEquipoProgramas[i].id_equipo_programa,
|
||||
programa: {
|
||||
id_programa: infoEquipoProgramas[i].id_programa,
|
||||
programa: infoEquipoProgramas[i].programa,
|
||||
},
|
||||
}),
|
||||
);
|
||||
return equipoProgramas;
|
||||
});
|
||||
}
|
||||
|
||||
informacionEquipoPrograma(id_equipo: number, id_programa: number) {
|
||||
return this.informacionEquipoProgramaView.findOne({
|
||||
where: { id_equipo, id_programa },
|
||||
|
||||
Reference in New Issue
Block a user