diff --git a/src/equipo/entity/views/full-informacion-equipo.view.ts b/src/equipo/entity/views/full-informacion-equipo.view.ts index f3d4d5b..ae03566 100644 --- a/src/equipo/entity/views/full-informacion-equipo.view.ts +++ b/src/equipo/entity/views/full-informacion-equipo.view.ts @@ -2,6 +2,8 @@ import { DataSource, ViewEntity, ViewColumn } from 'typeorm'; import { Carrito } from '../../../carrito/entity/carrito.entity'; import { Equipo } from '../equipo.entity'; import { Institucion } from '../../../institucion/entity/institucion.entity'; +import { Marca } from '../../../marca/entity/marca.entity'; +import { Modelo } from '../../../modelo/entity/modelo.entity'; import { Modulo } from '../../../modulo/entity/modulo.entity'; import { Status } from '../../../status/entity/status.entity'; import { TipoCarrito } from '../../../institucion-tipo-carrito/entity/tipo-carrito.entity'; @@ -23,6 +25,8 @@ import { TipoCarrito } from '../../../institucion-tipo-carrito/entity/tipo-carri .addSelect('c.carrito', 'carrito') .addSelect('c.id_modulo', 'id_modulo') .addSelect('c.id_tipo_carrito', 'id_tipo_carrito') + .addSelect('ma.marca', 'marca') + .addSelect('mo.modelo', 'modelo') .addSelect('s.status', 'status') .addSelect('m.activo', 'activo_modulo') .addSelect('m.id_institucion', 'id_institucion') @@ -32,6 +36,8 @@ import { TipoCarrito } from '../../../institucion-tipo-carrito/entity/tipo-carri .addSelect('i.institucion', 'institucion') .from(Equipo, 'e') .innerJoin(Carrito, 'c', 'c.id_carrito = e.id_carrito') + .innerJoin(Marca, 'ma', 'ma.id_marca = e.id_marca') + .innerJoin(Modelo, 'mo', 'mo.id_modelo = e.modelo') .innerJoin(Status, 's', 's.id_status = e.id_status') .innerJoin(Modulo, 'm', 'm.id_modulo = c.id_modulo') .innerJoin(TipoCarrito, 'tc', 'tc.id_tipo_carrito = c.id_tipo_carrito') @@ -85,6 +91,12 @@ export class FullInformacionEquipoView { @ViewColumn() institucion: string; + @ViewColumn() + marca: string; + + @ViewColumn() + modelo: string; + @ViewColumn() modulo: string; diff --git a/src/equipo/equipo.controller.ts b/src/equipo/equipo.controller.ts index 4a3accf..094412c 100644 --- a/src/equipo/equipo.controller.ts +++ b/src/equipo/equipo.controller.ts @@ -57,7 +57,7 @@ export class EquipoController { this.validarUsuarioService.validarAdminOperador(operador); return this.equipoService - .findByNumeroInventario( + .findFullInfoEquipoByNumeroInventario( parseInt(query.id_institucion), query.numero_inventario, ) diff --git a/src/equipo/equipo.service.ts b/src/equipo/equipo.service.ts index fbf931a..76e3bde 100644 --- a/src/equipo/equipo.service.ts +++ b/src/equipo/equipo.service.ts @@ -82,6 +82,25 @@ export class EquipoService { .then((_) => equipoNuevo); } + private viewToEquipo(infoEquipo: InformacionEquipoView) { + return this.repository.create({ + id_equipo: infoEquipo.id_equipo, + equipo: infoEquipo.equipo, + numero_inventario: infoEquipo.numero_inventario, + prestado: infoEquipo.prestado, + carrito: { + id_carrito: infoEquipo.id_carrito, + carrito: infoEquipo.carrito, + modulo: { + id_modulo: infoEquipo.id_modulo, + institucion: { id_institucion: infoEquipo.id_institucion }, + }, + tipoCarrito: { id_tipo_carrito: infoEquipo.id_tipo_carrito }, + }, + status: { id_status: infoEquipo.id_status }, + }); + } + async findAll( operador: Operador, filtros: { @@ -226,56 +245,6 @@ export class EquipoService { }); } - async findByNumeroInventario( - id_institucion: number | Institucion, - numero_inventario: string, - validarNoExiste = true, - ) { - const institucion = - typeof id_institucion === 'number' - ? await this.institucionService.findInfoInstitucionById(id_institucion) - : id_institucion; - - return this.repository - .findOne({ - join: { - alias: 'e', - innerJoinAndSelect: { - c: 'e.carrito', - m: 'c.modulo', - i: 'm.institucion', - }, - }, - where: { numero_inventario, carrito: { modulo: { institucion } } }, - }) - .then((equipo) => { - if (validarNoExiste && !equipo) - throw new NotFoundException( - 'No existe este un equipo de cómputo con este número de inventario.', - ); - return equipo; - }); - } - - async findEquipoByEquipo( - id_carrito: number | Carrito, - equipo: string, - validarNoExiste = true, - ) { - const carrito = - typeof id_carrito === 'number' - ? await this.carritoService.findById(id_carrito) - : id_carrito; - - return this.repository - .findOne({ where: { carrito, equipo } }) - .then((equipo) => { - if (validarNoExiste && !equipo) - throw new NotFoundException('No existe este equipo.'); - return equipo; - }); - } - async findEquipo( modulo: Modulo, tipoCarrito: TipoCarrito, @@ -362,6 +331,71 @@ export class EquipoService { .then((infoEquipo) => { if (!infoEquipo) throw new NotFoundException('No existe este id equipo.'); + return this.viewToEquipo(infoEquipo); + }); + } + + async findInfoEquipoByNumeroInventario( + institucion: Institucion, + numero_inventario: string, + ) { + return this.informacionEquipoView + .findOne({ + where: { + id_institucion: institucion.id_institucion, + numero_inventario, + }, + }) + .then((infoEquipo) => { + if (!infoEquipo) + throw new NotFoundException( + 'No existe un equipo de cómputo con este número de inventario.', + ); + return this.viewToEquipo(infoEquipo); + }); + } + + async findInfoEquipoByEquipo(id_carrito: number | Carrito, equipo: string) { + const carrito = + typeof id_carrito === 'number' + ? await this.carritoService.findById(id_carrito) + : id_carrito; + + return this.informacionEquipoView + .findOne({ + where: { + id_carrito: carrito.id_carrito, + equipo, + }, + }) + .then((infoEquipo) => { + if (!infoEquipo) + throw new NotFoundException( + 'No existe un equipo de cómputo con este número de inventario.', + ); + return this.viewToEquipo(infoEquipo); + }); + } + + findFullInfoEquipoByNumeroInventario( + id_institucion: number, + numero_inventario: string, + ) { + return this.institucionService + .findInfoInstitucionById(id_institucion) + .then((institucion) => + this.fullInformacionEquipoView.findOne({ + where: { + id_institucion: institucion.id_institucion, + numero_inventario, + }, + }), + ) + .then((infoEquipo) => { + if (!infoEquipo) + throw new NotFoundException( + 'No existe un equipo de cómputo con este número de inventario.', + ); return this.repository.create({ id_equipo: infoEquipo.id_equipo, equipo: infoEquipo.equipo, @@ -372,36 +406,33 @@ export class EquipoService { carrito: infoEquipo.carrito, modulo: { id_modulo: infoEquipo.id_modulo, + modulo: infoEquipo.modulo, institucion: { id_institucion: infoEquipo.id_institucion, + institucion: infoEquipo.institucion, }, }, tipoCarrito: { id_tipo_carrito: infoEquipo.id_tipo_carrito, + tipo_carrito: infoEquipo.tipo_carrito, }, }, + marca: { + id_marca: infoEquipo.id_marca, + marca: infoEquipo.marca, + }, + modelo: { + id_modelo: infoEquipo.id_modelo, + modelo: infoEquipo.modelo, + }, status: { id_status: infoEquipo.id_status, + status: infoEquipo.status, }, }); }); } - informacionEquipoByEquipo(id_carrito: number, equipo: string) { - return this.informacionEquipoView.findOne({ - where: { equipo, id_carrito }, - }); - } - - informacionEquipoNumeroInventario( - id_institucion: number, - numero_inventario: string, - ) { - return this.informacionEquipoView.findOne({ - where: { numero_inventario, id_institucion }, - }); - } - reseteoTotal() { return this.repository .createQueryBuilder() @@ -433,10 +464,9 @@ export class EquipoService { return this.findById(attrs.id_equipo) .then(async (equipo) => { if ((attrs.equipo && attrs.equipo != equipo.equipo) || carrito) - await this.findEquipoByEquipo( + await this.findInfoEquipoByEquipo( carrito ? carrito : equipo.carrito, attrs.equipo ? attrs.equipo : equipo.equipo, - false, ).then((existeEquipo) => { if (existeEquipo) throw new ConflictException( diff --git a/src/prestamo/prestamo.service.ts b/src/prestamo/prestamo.service.ts index a208203..f6f2a30 100644 --- a/src/prestamo/prestamo.service.ts +++ b/src/prestamo/prestamo.service.ts @@ -296,7 +296,9 @@ export class PrestamoService { usuario?: string; }) { const institucion = filtros.id_institucion - ? await this.institucionService.findInfoInstitucionById(parseInt(filtros.id_institucion)) + ? await this.institucionService.findInfoInstitucionById( + parseInt(filtros.id_institucion), + ) : null; const modulo = filtros.id_modulo ? await this.moduloService.findById(parseInt(filtros.id_modulo)) @@ -540,7 +542,7 @@ export class PrestamoService { : id_institucion; return this.equipoService - .findByNumeroInventario(institucion, numero_inventario) + .findInfoEquipoByNumeroInventario(institucion, numero_inventario) .then((equipo) => this.repository .createQueryBuilder('p') diff --git a/src/upload-file/upload-file.service.ts b/src/upload-file/upload-file.service.ts index eb35f75..48f4bd2 100644 --- a/src/upload-file/upload-file.service.ts +++ b/src/upload-file/upload-file.service.ts @@ -215,16 +215,9 @@ export class UploadFileService { false, ) : null; - // let equipo = carrito - // ? await this.equipoService.findEquipoByEquipo( - // carrito, - // dataEquipo.equipo, - // false, - // ) - // : null; let equipo = carrito - ? await this.equipoService.informacionEquipoByEquipo( - carrito.id_carrito, + ? await this.equipoService.findInfoEquipoByEquipo( + carrito, dataEquipo.equipo, ) : null; @@ -253,12 +246,12 @@ export class UploadFileService { if (equipo) { errores.push( - `${error} ya existe un equipo de cómputo con el sobrenombre: ${equipo.equipo} en el carrito: ${equipo.carrito}.`, + `${error} ya existe un equipo de cómputo con el sobrenombre: ${equipo.equipo} en el carrito: ${equipo.carrito.carrito}.`, ); return; } else { - equipo = await this.equipoService.informacionEquipoNumeroInventario( - institucion.id_institucion, + equipo = await this.equipoService.findInfoEquipoByNumeroInventario( + institucion, dataEquipo.numero_inventario, ); if (equipo) { diff --git a/upload/plantilla_equipos.csv b/upload/plantilla_equipos.csv deleted file mode 100644 index ca3de49..0000000 --- a/upload/plantilla_equipos.csv +++ /dev/null @@ -1,181 +0,0 @@ -modulo,carrito,tipo,equipo,numero_inventario,numero_serie,entradas,programas,marca,modelo -Módulo 1,C01,Chromebook,C01,2551571,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C02,2551572,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C03,2551573,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C04,2551574,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C05,2551575,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C06,2551576,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C07,2551577,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C08,2551578,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C09,2551579,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C10,2551580,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C11,2551581,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C12,2551582,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C13,2551583,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C14,2551584,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C15,2551585,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C16,2551586,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C17,2551587,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C18,2551588,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C19,2551589,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C20,2551590,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C21,2551591,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C22,2551592,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C23,2551593,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C24,2551594,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C25,2551595,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C26,2551596,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C27,2551597,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C28,2551598,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C29,2551599,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Chromebook,C30,2551600,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C01,2551601,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C02,2551602,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C03,2551603,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C04,2551604,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C05,2551605,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C06,2551606,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C07,2551607,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C08,2551608,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C09,2551609,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C10,2551610,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C11,2551611,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C12,2551612,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C13,2551613,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C14,2551614,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C15,2551615,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C16,2551616,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C17,2551617,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C18,2551618,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C19,2551619,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C20,2551620,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C21,2551621,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C22,2551622,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C23,2551623,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C24,2551624,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C25,2551625,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C26,2551626,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C27,2551627,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C28,2551628,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C29,2551629,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C02,Chromebook,C30,2551630,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C01,2551631,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C02,2551632,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C03,2551633,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C04,2551634,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C05,2551635,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C06,2551636,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C07,2551637,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C08,2551638,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C09,2551639,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C10,2551640,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C11,2551641,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C12,2551642,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C13,2551643,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C14,2551644,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C15,2551645,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C16,2551646,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C17,2551647,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C18,2551648,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C19,2551649,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C20,2551650,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C21,2551651,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C22,2551652,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C23,2551653,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C24,2551654,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C25,2551655,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C26,2551656,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C27,2551657,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C28,2551658,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C29,2551659,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C03,Chromebook,C30,2551660,2551571,"HDMI,Tipo c,VGA",,marca 1,modelo 1 -Módulo 1,C01,Laptop,L01,2551661,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L02,2551662,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L03,2551663,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L04,2551664,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L05,2551665,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L06,2551666,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L07,2551667,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L08,2551668,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L09,2551669,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L10,2551670,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L11,2551671,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L12,2551672,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L13,2551673,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L14,2551674,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L15,2551675,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L16,2551676,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L17,2551677,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L18,2551678,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L19,2551679,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L20,2551680,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L21,2551681,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L22,2551682,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L23,2551683,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L24,2551684,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L25,2551685,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L26,2551686,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L27,2551687,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L28,2551688,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L29,2551689,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,Laptop,L30,2551690,2551571,Tipo c,"Autodesk,Programación",marca 1,modelo 1 -Módulo 1,C01,iPad,T01,2551691,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T02,2551692,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T03,2551693,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T04,2551694,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T05,2551695,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T06,2551696,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T07,2551697,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T08,2551698,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T09,2551699,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T10,2551700,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T11,2551701,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T12,2551702,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T13,2551703,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T14,2551704,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T15,2551705,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T16,2551706,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T17,2551707,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T18,2551708,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T19,2551709,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T20,2551710,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T21,2551711,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T22,2551712,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T23,2551713,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T24,2551714,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T25,2551715,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T26,2551716,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T27,2551717,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T28,2551718,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T29,2551719,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C01,iPad,T30,2551720,2551571,Lightning,,marca 1,modelo 1 -Módulo 1,C02,Laptop,L01,2551721,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L02,2551722,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L03,2551723,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L04,2551724,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L05,2551725,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L06,2551726,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L07,2551727,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L08,2551728,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L09,2551729,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L10,2551730,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L11,2551731,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L12,2551732,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L13,2551733,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L14,2551734,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L15,2551735,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L16,2551736,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L17,2551737,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L18,2551738,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L19,2551739,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L20,2551740,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L21,2551741,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L22,2551742,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L23,2551743,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L24,2551744,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L25,2551745,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L26,2551746,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L27,2551747,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L28,2551748,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L29,2551749,2551571,Tipo c,Programación,marca 1,modelo 1 -Módulo 1,C02,Laptop,L30,2551750,2551571,Tipo c,Programación,marca 1,modelo 1 \ No newline at end of file diff --git a/upload/plantilla_usuario.csv b/upload/plantilla_usuario.csv deleted file mode 100644 index 0d6e20a..0000000 --- a/upload/plantilla_usuario.csv +++ /dev/null @@ -1,5 +0,0 @@ -numero_cuenta,nombres,apellido_p,apellido_m,carrera,tipo_usuario,rfc,correo -316313528,LEMUEL HELON,MARQUEZ,ROSAS,MATEMATICAS APLICADAS Y COMPUTACION,Alumno,, -316019251,MARCO ANTONIO,ROMERO,VAZQUEZ,ACTUARIA,Alumno,, -316304326,JEREMY,CARRERA,SERRANO,ARQUITECTURA,Alumno,, -419085500,ANDRES HERNAN,SAAVEDRA,TREJO,,Profesor,KDIE993388EOX,