cambio en actualizacion
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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,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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user