diff --git a/mariadb/aria_log.00000001 b/mariadb/aria_log.00000001 index ee96056..882dd2e 100644 Binary files a/mariadb/aria_log.00000001 and b/mariadb/aria_log.00000001 differ diff --git a/mariadb/aria_log_control b/mariadb/aria_log_control index 7334ccd..c5d45fe 100644 Binary files a/mariadb/aria_log_control and b/mariadb/aria_log_control differ diff --git a/src/equipo/dto/update-equipo.dto.ts b/src/equipo/dto/update-equipo.dto.ts index 8414965..665e50a 100644 --- a/src/equipo/dto/update-equipo.dto.ts +++ b/src/equipo/dto/update-equipo.dto.ts @@ -1,38 +1,44 @@ import { PartialType } from '@nestjs/mapped-types'; import { CreateEquipoDto } from './create-equipo.dto'; -import { IsInt, IsOptional, IsString } from 'class-validator'; +import { IsInt, IsOptional, IsString } from 'class-validator'; export class UpdateEquipoDto extends PartialType(CreateEquipoDto) { - @IsInt() - @IsOptional() - id_estado?:number - - @IsInt() - @IsOptional() - id_adscripcion?: number; + @IsString() + @IsOptional() + serie?: string; - @IsString() - @IsOptional() - lugar?: string; - - @IsInt() - @IsOptional() - id_sistema_operativo?: number; - - @IsInt() - @IsOptional() - id_procesador?: number; + @IsInt() + @IsOptional() + id_estado?: number; - @IsInt() - @IsOptional() - id_tipo_uso?: number; + @IsInt() + @IsOptional() + id_adscripcion?: number; - @IsString() - @IsOptional() - modelo?: string; + @IsString() + @IsOptional() + lugar?: string; - @IsInt() - @IsOptional() - id_marca?: number; + @IsInt() + @IsOptional() + id_sistema_operativo?: number; + @IsInt() + @IsOptional() + id_procesador?: number; + + @IsInt() + @IsOptional() + id_tipo_uso?: number; + + @IsString() + @IsOptional() + modelo?: string; + + @IsInt() + @IsOptional() + id_marca?: number; + + @IsString() + observaciones: string; } diff --git a/src/equipo/equipo.controller.ts b/src/equipo/equipo.controller.ts index 5f2ad52..889c01a 100644 --- a/src/equipo/equipo.controller.ts +++ b/src/equipo/equipo.controller.ts @@ -9,6 +9,7 @@ import { Query, Post, Res, + Request, } from '@nestjs/common'; import { EquipoService } from './equipo.service'; import { UpdateEquipoDto } from './dto/update-equipo.dto'; @@ -30,7 +31,6 @@ export class EquipoController { return this.equipoService.buscarEquipos(filtros, +page, +limit); } - @UseGuards(AuthGuard('jwt')) @Get('buscar/:inv') serch(@Param('inv') inv: string) { return this.equipoService.findEquipo(inv); @@ -42,13 +42,13 @@ export class EquipoController { return this.equipoService.create(Equipo); } - @UseGuards(AuthGuard('jwt')) @Patch('update/:id') update( + @Request() req, @Param('id', ParseIntPipe) id: number, @Body() equipoNuevo: UpdateEquipoDto, ) { - return this.equipoService.updateEquipo(equipoNuevo, id); + return this.equipoService.updateEquipo(equipoNuevo, id, req.id); } @UseGuards(AuthGuard('jwt')) @@ -132,7 +132,6 @@ export class EquipoController { } } - @UseGuards(AuthGuard('jwt')) @Post('example') async generate() { this.equipoService.example(); diff --git a/src/equipo/equipo.module.ts b/src/equipo/equipo.module.ts index af6967e..2eca744 100644 --- a/src/equipo/equipo.module.ts +++ b/src/equipo/equipo.module.ts @@ -14,6 +14,7 @@ import { ProcesadorTipoEquipo, Periferico, } from './entities/catalogo.entities'; +import { MovimientoModule } from 'src/movimiento/movimiento.module'; @Module({ imports: [ @@ -29,6 +30,7 @@ import { ProcesadorTipoEquipo, Periferico, ]), + MovimientoModule, ], controllers: [EquipoController], providers: [EquipoService], diff --git a/src/equipo/equipo.service.ts b/src/equipo/equipo.service.ts index 48cd329..2723dba 100644 --- a/src/equipo/equipo.service.ts +++ b/src/equipo/equipo.service.ts @@ -17,12 +17,16 @@ import { TipoEquipo, Uso, } from './entities/catalogo.entities'; -import { response } from 'express'; + import { CreateEquipoDto } from './dto/create-equipo.dto'; +import { MovimientoService } from 'src/movimiento/movimiento.service'; + @Injectable() export class EquipoService { constructor( + private readonly movimiento: MovimientoService, + @InjectRepository(Equipo) private readonly equipoRepository: Repository, @InjectRepository(Uso) @@ -126,10 +130,20 @@ export class EquipoService { data, }; } - async updateEquipo(equipoNuevo: UpdateEquipoDto, id_equipo: number) { + async updateEquipo(equipoNuevo: UpdateEquipoDto, id_equipo: number, id_user) { + let procesador_tipoequipo; + if (equipoNuevo.id_procesador) { + procesador_tipoequipo = await this.procesadorTipoEquipoRepo.findOne({ + where: { procesador: { id_procesador: equipoNuevo.id_procesador } }, + relations: ['procesador', 'tipoEquipo'], + }); + } + const updateData = { - lugar: equipoNuevo.lugar, - modelo: equipoNuevo.modelo, + id_equipo, + lugar: equipoNuevo.lugar ? equipoNuevo.lugar : undefined, + serie: equipoNuevo.serie ? equipoNuevo.serie : undefined, + modelo: equipoNuevo.modelo ? equipoNuevo.modelo : undefined, estado: equipoNuevo.id_estado ? { id_estado: equipoNuevo.id_estado } : undefined, @@ -139,20 +153,28 @@ export class EquipoService { sistemaOperativo: equipoNuevo.id_sistema_operativo ? { id_sistema_operativo: equipoNuevo.id_sistema_operativo } : undefined, - procesador: equipoNuevo.id_procesador - ? { id_procesador: equipoNuevo.id_procesador } + procesador_tipoequipo: procesador_tipoequipo + ? procesador_tipoequipo + : undefined, + tipoUso: equipoNuevo.id_tipo_uso + ? { id_uso: equipoNuevo.id_tipo_uso } : undefined, - tipoUso: equipoNuevo.id_uso ? { id_uso: equipoNuevo.id_uso } : undefined, marca: equipoNuevo.id_marca ? { id_marca: equipoNuevo.id_marca } : undefined, }; + console.log(updateData); const equipoUpdate = await this.equipoRepository.preload(updateData); - + console.log(equipoNuevo); if (!equipoUpdate) { throw new Error(`No se encontrĂ³ el equipo con id ${id_equipo}`); } + const mov = await this.movimiento.crear({ + idUsuario: id_user, + idEquipo: id_equipo, + observaciones: equipoNuevo.observaciones, + }); return await this.equipoRepository.save(equipoUpdate); } diff --git a/src/movimiento/movimiento.service.ts b/src/movimiento/movimiento.service.ts index 12b9a96..706f522 100644 --- a/src/movimiento/movimiento.service.ts +++ b/src/movimiento/movimiento.service.ts @@ -6,26 +6,21 @@ import { Usuario } from 'src/usuarios/entities/usuario.entity'; import { Equipo } from 'src/equipo/entities/equipo.entity'; import { CreateMovimientoDto } from './dto/create-movimiento.dto'; - @Injectable() export class MovimientoService { constructor( @InjectRepository(Movimiento) private readonly movimientoRepo: Repository, - ) {} async crear(dto: CreateMovimientoDto) { - - const movimiento = this.movimientoRepo.create({ - user:{id_usuario:dto.idUsuario}, - equipo:{id_equipo:dto.idEquipo}, - fechaMovimiento:new Date(), - observaciones:dto.observaciones + const movimiento = this.movimientoRepo.create({ + user: { id_usuario: dto.idUsuario }, + equipo: { id_equipo: dto.idEquipo }, + fechaMovimiento: new Date(), + observaciones: dto.observaciones, }); return await this.movimientoRepo.save(movimiento); } - - } - +}