cambio en actualizacion

This commit is contained in:
2025-11-07 12:05:38 -06:00
parent 978db238d4
commit 339b4dd548
7 changed files with 75 additions and 51 deletions
Binary file not shown.
Binary file not shown.
+34 -28
View File
@@ -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;
}
+3 -4
View File
@@ -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();
+2
View File
@@ -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],
+30 -8
View File
@@ -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<Equipo>,
@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);
}
+6 -11
View File
@@ -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<Movimiento>,
) {}
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);
}
}
}