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