motivo listo

This commit is contained in:
xXpuma99Xx 2022-04-22 22:25:54 -05:00
parent 923afe2f5c
commit 33a95690e8
5 changed files with 62 additions and 6 deletions

View File

@ -0,0 +1,6 @@
import { IsNumberString } from 'class-validator';
export class MotivoDto {
@IsNumberString()
id_equipo: string;
}

View File

@ -1,12 +1,14 @@
import { Controller, Get } from '@nestjs/common';
import { Controller, Get, Query } from '@nestjs/common';
import { MotivoService } from './motivo.service';
import { MotivoDto } from './dto/motivo.dto';
@Controller('motivo')
export class MotivoController {
constructor(private motivoService: MotivoService) {}
@Get()
get() {}
get(@Query() query: MotivoDto) {
return this.motivoService.findAllIdEquipo(Number(query.id_equipo));
}
@Get('reporte')
reporte() {}

View File

@ -3,9 +3,17 @@ import { TypeOrmModule } from '@nestjs/typeorm';
import { MotivoController } from './motivo.controller';
import { MotivoService } from './motivo.service';
import { Motivo } from './entity/motivo.entity';
import { EquipoModule } from 'src/equipo/equipo.module';
import { OperadorModule } from 'src/operador/operador.module';
import { StatusModule } from 'src/status/status.module';
@Module({
imports: [TypeOrmModule.forFeature([Motivo])],
imports: [
TypeOrmModule.forFeature([Motivo]),
EquipoModule,
OperadorModule,
StatusModule,
],
controllers: [MotivoController],
providers: [MotivoService],
})

View File

@ -2,10 +2,43 @@ import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import { Motivo } from './entity/motivo.entity';
import { EquipoService } from 'src/equipo/equipo.service';
import { OperadorService } from 'src/operador/operador.service';
import { StatusService } from 'src/status/status.service';
@Injectable()
export class MotivoService {
constructor(
@InjectRepository(Motivo) private repository: Repository<Motivo>,
private equipoService: EquipoService,
private operadorService: OperadorService,
private statusService: StatusService,
) {}
async create(
id_equipo: number,
id_operador: number,
id_status: number,
motivo: string,
) {
const equipo = await this.equipoService.findById(id_equipo);
const operador = await this.operadorService.findById(id_operador);
const status = await this.statusService.findById(id_status);
return this.repository.save(
this.repository.create({
equipo,
fecha_creacion: new Date(),
motivo,
operador,
status,
}),
);
}
findAllIdEquipo(id_equipo: number) {
return this.equipoService
.findById(id_equipo)
.then((equipo) => this.repository.find({ equipo }));
}
}

View File

@ -1,4 +1,4 @@
import { ConflictException, Injectable } from '@nestjs/common';
import { Injectable, NotFoundException } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import { Status } from './entity/status.entity';
@ -10,6 +10,13 @@ export class StatusService {
) {}
findAll() {
return this.repository.find()
return this.repository.find();
}
findById(id_status: number) {
return this.repository.findOne({ id_status }).then((status) => {
if (!status) throw new NotFoundException('No existe este status.');
return status;
});
}
}