carga masiva usuario a espera de prueba
This commit is contained in:
parent
8204119ed9
commit
a308dc9c80
@ -1,13 +1,13 @@
|
||||
export class UploadFileCargaMasivaUsuarioDto {
|
||||
carrera?: string;
|
||||
|
||||
numero_cuenta?: string;
|
||||
|
||||
tipo_usuario?: string;
|
||||
|
||||
nombres: string;
|
||||
|
||||
apellido_p: string;
|
||||
|
||||
apellido_m: string;
|
||||
|
||||
carrera?: string;
|
||||
|
||||
numero_cuenta?: string;
|
||||
|
||||
tipo_usuario?: string;
|
||||
}
|
||||
|
@ -1,3 +1,4 @@
|
||||
import * as fs from 'fs';
|
||||
import {
|
||||
Controller,
|
||||
Get,
|
||||
@ -8,13 +9,13 @@ import {
|
||||
UseInterceptors,
|
||||
} from '@nestjs/common';
|
||||
import { FileInterceptor } from '@nestjs/platform-express';
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import { UploadFileService } from './upload-file.service';
|
||||
import { IdInstitucionDto } from '../dto/id-institucion.dto';
|
||||
import { UploadFileEquipo } from './dto/upload-file-equipo'
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import { UploadFileEquipo } from './dto/upload-file-equipo';
|
||||
|
||||
@Controller('upload-file')
|
||||
// @ApiTags('upload-file')
|
||||
@ApiTags('upload-file')
|
||||
export class UploadFileController {
|
||||
constructor(private uploadFileService: UploadFileService) {}
|
||||
|
||||
@ -26,7 +27,9 @@ export class UploadFileController {
|
||||
) {
|
||||
return this.uploadFileService.createEquipos(
|
||||
file,
|
||||
parseInt(query.id_carrito), parseInt(query.id_programa), parseInt(query.id_status)
|
||||
parseInt(query.id_carrito),
|
||||
parseInt(query.id_programa),
|
||||
parseInt(query.id_status),
|
||||
);
|
||||
}
|
||||
|
||||
@ -36,10 +39,12 @@ export class UploadFileController {
|
||||
@UploadedFile() file: Express.Multer.File,
|
||||
@Query() query: IdInstitucionDto,
|
||||
) {
|
||||
return this.uploadFileService.createUsuarios(
|
||||
file,
|
||||
parseInt(query.id_institucion),
|
||||
);
|
||||
return this.uploadFileService
|
||||
.createUsuarios(file, parseInt(query.id_institucion))
|
||||
.then((res) => {
|
||||
fs.unlink(res.path, (err) => {});
|
||||
return res.response;
|
||||
});
|
||||
}
|
||||
|
||||
@Get('download-logo')
|
||||
|
@ -13,6 +13,7 @@ import { UsuarioService } from '../usuario/usuario.service';
|
||||
import { InstitucionProgramaService } from '../institucion-programa/institucion-programa.service';
|
||||
import { UploadFileCargaMasivaUsuarioDto } from './dto/upload-file-carga-masiva-usuario.dto';
|
||||
import { UploadFileCargaMasivaEquipoDto } from './dto/upload-file-carga-masiva-equipo.dto';
|
||||
import { Usuario } from 'src/usuario/entity/usuario.entity';
|
||||
|
||||
@Injectable()
|
||||
export class UploadFileService {
|
||||
@ -87,8 +88,9 @@ export class UploadFileService {
|
||||
const institucion = await this.institucionService.findById(id_institucion);
|
||||
const errores: string[] = [];
|
||||
const mensajes: string[] = [];
|
||||
const usuariosNuevos: Usuario[] = [];
|
||||
|
||||
if (!file) throw new BadRequestException('No se mando un archivo.');
|
||||
if (!file) throw new BadRequestException('No se mando ningún archivo.');
|
||||
return csvtojson()
|
||||
.fromFile(path)
|
||||
.then(async (usuarios: [UploadFileCargaMasivaUsuarioDto]) => {
|
||||
@ -158,31 +160,45 @@ export class UploadFileService {
|
||||
continue;
|
||||
}
|
||||
if (usuario) {
|
||||
usuario.tipoUsuario = tipoUsuario;
|
||||
usuario.activo = true;
|
||||
if (institucionCarrera)
|
||||
if (
|
||||
usuario.tipoUsuario.id_tipo_usuario != tipoUsuario.id_tipo_usuario
|
||||
)
|
||||
usuario.tipoUsuario = tipoUsuario;
|
||||
if (!usuario.activo) usuario.activo = true;
|
||||
if (
|
||||
institucionCarrera &&
|
||||
usuario.institucionCarrera.id_institucion_carrera !=
|
||||
institucionCarrera.id_institucion_carrera
|
||||
)
|
||||
usuario.institucionCarrera = institucionCarrera;
|
||||
await this.usuarioService
|
||||
.update(usuario)
|
||||
.then((usuarioUpdated) => {});
|
||||
} else {
|
||||
}
|
||||
// await this.usuarioService
|
||||
// .create(
|
||||
// usuarios[i].numero_cuenta,
|
||||
// institucion.id_institucion,
|
||||
// tipoUsuario.id_tipo_usuario,
|
||||
// carrera ? carrera.id_carrera : null,
|
||||
// )
|
||||
// .then((usuario) => {});
|
||||
.then(({ message }) => mensajes.push(message));
|
||||
} else
|
||||
await this.usuarioService
|
||||
.create(
|
||||
usuarios[i].numero_cuenta,
|
||||
`${usuarios[i].apellido_p.trim()} ${usuarios[
|
||||
i
|
||||
].apellido_m.trim()} ${usuarios[i].nombres.trim()}`,
|
||||
institucion,
|
||||
tipoUsuario,
|
||||
institucionCarrera ? institucionCarrera : null,
|
||||
)
|
||||
.then((res) => {
|
||||
usuariosNuevos.push(res.usuario);
|
||||
mensajes.push(res.message);
|
||||
});
|
||||
}
|
||||
return fs.unlink(path, (err) => {
|
||||
console.log(err);
|
||||
});
|
||||
})
|
||||
.then((res) => {
|
||||
console.log(res);
|
||||
return { message: 'Se subió y cargo correctamente tu archivo csv.' };
|
||||
return {
|
||||
response: {
|
||||
message: 'Se subió y cargó correctamente tu archivo csv.',
|
||||
mensajes,
|
||||
usuariosNuevos,
|
||||
errores,
|
||||
},
|
||||
path,
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user