avance de la carga masiva de equipos

This commit is contained in:
Andres2908
2022-05-12 09:37:24 -05:00
parent 7b1e0237bd
commit 8b1ecc5166
2 changed files with 51 additions and 19 deletions
@@ -0,0 +1,10 @@
export class UploadFileCargaMasivaEquipoDto {
modulo: number;
carrito: number;
tipo: string;
equipo: string;
numero_inventario: string;
numero_serie: string;
entradas: string;
programas?: string
}
+41 -19
View File
@@ -8,9 +8,11 @@ import { CarreraService } from '../carrera/carrera.service';
import { EquipoService } from '../equipo/equipo.service';
import { InstitucionService } from '../institucion/institucion.service';
import { InstitucionCarreraService } from '../institucion-carrera/institucion-carrera.service';
import { CarritoService } from '../carrito/carrito.service'
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'
@Injectable()
export class UploadFileService {
@@ -19,32 +21,52 @@ export class UploadFileService {
private equipoService: EquipoService,
private institucionService: InstitucionService,
private institucionCarreraService: InstitucionCarreraService,
private carritoService: CarritoService,
private tipoUsuarioService: TipoUsuarioService,
private usuarioService: UsuarioService,
) {}
//programa y status
async createEquipos(file: Express.Multer.File, id_carrito: number, id_programa: number, id_status: number) {
const path = `${file.destination}/${file.fieldname}`
const carrito = await this.carreraService.findById(id_carrito)
const errores: string[] = []
async createEquipos(file: Express.Multer.File, id_institucion: number) {
const path = `${file.destination}/${file.filename}`;
const institucion = await this.institucionService.findById(id_institucion);
const errores: string[] = [];
if (!file) throw new BadRequestException('No se mando un archivo.');
csvtojson()
if (!file) throw new BadRequestException('No se mando el archivo de equipos.')
return csvtojson()
.fromFile(path)
.then(async (equipos) => {
.then(async (equipos: [UploadFileCargaMasivaEquipoDto]) => {
for (let i = 0; i < equipos.length; i++) {
if(!equipos[i].modulo) errores.push(`${this.errorBase(i)} falta el campo modulo en el archivo`)
if(!equipos[i].carrito) errores.push(`${this.errorBase(i)} falta el campo carrito en el archivo`)
if(!equipos[i].tipo) errores.push(`${this.errorBase(i)} falta el campo tipo en el archivo`)
if(!equipos[i].equipo) errores.push(`${this.errorBase(i)} falta el campo equipo en el archivo`)
if(!equipos[i].numero_inventario) errores.push(`${this.errorBase(i)} falta el campo numero_inventario en el archivo`)
if(!equipos[i].numero_serie) errores.push(`${this.errorBase(i)} falta el campo numero_serie en el archivo`)
if(!equipos[i].modulo) errores.push(`${this.errorBase(i)} falta el campo modulo en el archivo`)
if(!equipos[i].entradas) errores.push(`${this.errorBase(i)} falta el campo entradas en el archivo`)
// faltan los programas
if(!equipos[i].programas) errores.push(`${this.errorBase(i)} falta el campo programas en el archivo`)
let error = this.errorBase(i)
if(!equipos[i].modulo ||
!equipos[i].carrito ||
!equipos[i].tipo ||
!equipos[i].equipo ||
!equipos[i].numero_inventario ||
!equipos[i].numero_serie ||
!equipos[i].entradas) {
if (!equipos[i].modulo)
error += 'falta el campo de modulo'
if (error != this.errorBase(i)) error += ',';
if (!equipos[i].carrito)
error += ' falta del campo carrito';
if (error != this.errorBase(i)) error += ',';
if (!equipos[i].tipo) error += ' falta del campo tipo (tipo de equipo)';
if (error != this.errorBase(i)) error += ',';
if (!equipos[i].equipo) error += ' falta del campo equipo';
if (error != this.errorBase(i)) error += ',';
if (!equipos[i].numero_inventario) error += ' falta del campo número de inventario';
if (error != this.errorBase(i)) error += ',';
if (!equipos[i].numero_serie) error += ' falta del campo número de serie';
if (error != this.errorBase(i)) error += ',';
if (!equipos[i].entradas) error += ' falta del campo entradas';
errores.push(`${error}.`);
continue;
}
// const
}
});
})
}
async createUsuarios(file: Express.Multer.File, id_institucion: number) {