carga masiva usuarios listo
This commit is contained in:
parent
23755c50bf
commit
aa7ee5fdd3
@ -1,9 +1,6 @@
|
||||
import * as fs from 'fs';
|
||||
import * as csvtojson from 'csvtojson';
|
||||
import { BadRequestException, Injectable } from '@nestjs/common';
|
||||
import { Institucion } from '../institucion/entity/institucion.entity';
|
||||
import { InstitucionCarrera } from '../institucion-carrera/entity/institucion-carrera.entity';
|
||||
import { TipoUsuario } from '../tipo-usuario/entity/tipo-usuario.entity';
|
||||
import { Equipo } from '../equipo/entity/equipo.entity';
|
||||
import { Usuario } from '../usuario/entity/usuario.entity';
|
||||
import { CarritoService } from '../carrito/carrito.service';
|
||||
import { EquipoService } from '../equipo/equipo.service';
|
||||
@ -16,7 +13,6 @@ import { TipoUsuarioService } from '../tipo-usuario/tipo-usuario.service';
|
||||
import { UsuarioService } from '../usuario/usuario.service';
|
||||
import { UploadFileCargaMasivaUsuarioDto } from './dto/upload-file-carga-masiva-usuario.dto';
|
||||
import { UploadFileCargaMasivaEquipoDto } from './dto/upload-file-carga-masiva-equipo.dto';
|
||||
import { Equipo } from '../equipo/entity/equipo.entity';
|
||||
|
||||
@Injectable()
|
||||
export class UploadFileService {
|
||||
@ -115,17 +111,19 @@ export class UploadFileService {
|
||||
}
|
||||
|
||||
if (equipo) {
|
||||
// if (
|
||||
// equipo.numero_inventario != equipos[i].numero_inventario ||
|
||||
// equipo.numero_serie != equipos[i].numero_serie
|
||||
// ) {
|
||||
// if (equipo.numero_inventario != equipos[i].numero_inventario)
|
||||
// error += ' ';
|
||||
// if (error != this.errorBase(i)) error += ',';
|
||||
// if (equipo.numero_serie != equipos[i].numero_serie)
|
||||
// errores.push(error + '.');
|
||||
// continue;
|
||||
// }
|
||||
if (
|
||||
equipo.numero_inventario != equipos[i].numero_inventario ||
|
||||
equipo.numero_serie != equipos[i].numero_serie ||
|
||||
(equipo.numero_inventario == equipos[i].numero_inventario &&
|
||||
equipo.numero_serie != equipos[i].numero_serie)
|
||||
) {
|
||||
if (equipo.numero_inventario != equipos[i].numero_inventario)
|
||||
error += ' ';
|
||||
if (error != this.errorBase(i)) error += ',';
|
||||
if (equipo.numero_serie != equipos[i].numero_serie)
|
||||
errores.push(error + '.');
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
equipo = await this.equipoService.findByNumeroInventario(
|
||||
institucion,
|
||||
@ -145,9 +143,7 @@ export class UploadFileService {
|
||||
equipos[i].numero_inventario,
|
||||
equipos[i].numero_serie,
|
||||
)
|
||||
.then((equipo) => {
|
||||
equiposNuevos.push(equipo);
|
||||
});
|
||||
.then((equipo) => equiposNuevos.push(equipo));
|
||||
}
|
||||
}
|
||||
return {
|
||||
@ -208,10 +204,11 @@ export class UploadFileService {
|
||||
);
|
||||
const carrera =
|
||||
tipoUsuario &&
|
||||
usuarios[i].carrera &&
|
||||
tipoUsuario.id_tipo_usuario > 5
|
||||
(tipoUsuario.id_tipo_usuario === 5 || usuarios[i].carrera)
|
||||
? await this.institucionCarreraService.findCarreraByCarrera(
|
||||
usuarios[i].carrera,
|
||||
tipoUsuario.id_tipo_usuario === 5
|
||||
? 'PROFESOR'
|
||||
: usuarios[i].carrera,
|
||||
false,
|
||||
)
|
||||
: null;
|
||||
@ -225,14 +222,13 @@ export class UploadFileService {
|
||||
if (
|
||||
!tipoUsuario ||
|
||||
tipoUsuario.id_tipo_usuario < 5 ||
|
||||
(!carrera && tipoUsuario.id_tipo_usuario < 6) ||
|
||||
!carrera ||
|
||||
(carrera && !institucionCarrera)
|
||||
) {
|
||||
if (!tipoUsuario) error += ' no existe este tipo de usuario.';
|
||||
if (tipoUsuario.id_tipo_usuario < 5)
|
||||
' no se puede asignar este tipo de usuario a este usuario.';
|
||||
if (!carrera && tipoUsuario.id_tipo_usuario < 6)
|
||||
error += ' falta del campo carrera para el alumno.';
|
||||
if (!carrera) error += ' falta del campo carrera para el alumno.';
|
||||
if (carrera && !institucionCarrera)
|
||||
error += ' la carrera no pertenece a la institución.';
|
||||
errores.push(error);
|
||||
@ -251,7 +247,7 @@ export class UploadFileService {
|
||||
)
|
||||
usuario.institucionCarrera = institucionCarrera;
|
||||
await this.usuarioService
|
||||
.update(usuario)
|
||||
.update(usuario, false)
|
||||
.then(({ message }) => mensajes.push(message));
|
||||
} else
|
||||
await this.usuarioService
|
||||
@ -262,7 +258,7 @@ export class UploadFileService {
|
||||
].apellido_m.trim()} ${usuarios[i].nombres.trim()}`,
|
||||
institucion,
|
||||
tipoUsuario,
|
||||
institucionCarrera ? institucionCarrera : null,
|
||||
institucionCarrera,
|
||||
)
|
||||
.then((res) => {
|
||||
usuariosNuevos.push(res.usuario);
|
||||
@ -284,7 +280,9 @@ export class UploadFileService {
|
||||
downloadLogo(id_institucion: number) {}
|
||||
|
||||
errorBase(index) {
|
||||
return `Se salto la linea ${index + 2} por:`;
|
||||
return `Se saltó la linea ${
|
||||
index + 2
|
||||
} por el siguiente/los siguientes motivos(s):`;
|
||||
}
|
||||
|
||||
uploadLogo(file: Express.Multer.File, id_institucion: number) {}
|
||||
|
@ -34,17 +34,16 @@ export class UsuarioService {
|
||||
nombre: string,
|
||||
institucion: Institucion,
|
||||
tipoUsuario: TipoUsuario,
|
||||
institucionCarrera?: InstitucionCarrera,
|
||||
institucionCarrera: InstitucionCarrera,
|
||||
) {
|
||||
const data: {
|
||||
carrera?: InstitucionCarrera;
|
||||
institucionCarrera: InstitucionCarrera;
|
||||
institucion: Institucion;
|
||||
nombre: string;
|
||||
tipoUsuario: TipoUsuario;
|
||||
usuario: string;
|
||||
} = { institucion, nombre, tipoUsuario, usuario };
|
||||
} = { institucion, nombre, tipoUsuario, usuario, institucionCarrera };
|
||||
|
||||
if (institucionCarrera) data.carrera = institucionCarrera;
|
||||
return this.repository
|
||||
.save(this.repository.create(data))
|
||||
.then((usuario) => ({
|
||||
@ -227,8 +226,8 @@ export class UsuarioService {
|
||||
.then((_) => ({ message: 'Se registró correctamente un usuario.' }));
|
||||
}
|
||||
|
||||
update(attrs: Partial<Usuario>) {
|
||||
return this.findById(attrs.id_usuario, true, true)
|
||||
update(attrs: Partial<Usuario>, validarPassword = true) {
|
||||
return this.findById(attrs.id_usuario, true, validarPassword)
|
||||
.then((usuario) => {
|
||||
Object.assign(usuario, attrs);
|
||||
return this.repository.save(usuario);
|
||||
|
@ -1,4 +1,4 @@
|
||||
numero_cuenta,nombres,apellido_p,apellido_m,carrra,tipo_usuario
|
||||
313144567,Nombre 1,Apellido_p 1,Apellido_m 1,Carrera,Alumno
|
||||
415895839,Nombre 2,Apellido_p 2,Apellido_m 2,Posgrado,Posgrado
|
||||
numero_cuenta,nombres,apellido_p,apellido_m,carrera,tipo_usuario
|
||||
313144567,Nombre 1,Apellido_p 1,Apellido_m 1,MATEMATICAS APLICADAS Y COMPUTACION,Alumno
|
||||
415895839,Nombre 2,Apellido_p 2,Apellido_m 2,MEDICINA VETERINARIA Y ZOOTECNIA,Posgrado
|
||||
813573,Nombre 3,Apellido_p 3,Apellido_m 3,,Profesor
|
|
Loading…
Reference in New Issue
Block a user