From 7b89d62af3ae66f6d083d2ccfe9fca79be1639db Mon Sep 17 00:00:00 2001 From: Lemuel Marquez Date: Wed, 28 Apr 2021 21:20:36 -0500 Subject: [PATCH] carga masiva --- server/controller/Equipo.js/cargaMasiva.js | 0 server/controller/Equipo/cargaMasiva.js | 95 +++++++++++++++++++ server/db/tablas/Carrito.js | 1 + server/db/tablas/Equipo.js | 1 + server/routes/Equipo.js | 23 ++++- server/routes/index.js | 1 + .../uploads/3546c54df511fb130835fb9c1343a2d5 | 61 ++++++++++++ .../uploads/63912c3afb4a4da873d30241f54521e1 | 61 ++++++++++++ .../uploads/6aa822836344cbf2c3b3a41da93c01c8 | 61 ++++++++++++ .../uploads/6acd41de82e7038bd3539a8ec0b54dd5 | 61 ++++++++++++ .../uploads/71c5ee1c396103e74526522615a28a79 | 61 ++++++++++++ .../uploads/87bd335a833e37431aa28f8a4614012d | 61 ++++++++++++ .../uploads/963a3e2ad243ff2fc43a230bed19f090 | 61 ++++++++++++ .../uploads/97737990c0708e9602f7ad392482f246 | 61 ++++++++++++ .../uploads/a14e762b38d7ea888f21af58cba1dc36 | 61 ++++++++++++ .../uploads/ae0ca9754c4c330fe86a9bb036cd5c38 | 61 ++++++++++++ .../uploads/b401dbcbacc1beeb236eae5acd9ca385 | 61 ++++++++++++ .../uploads/e442f7d0ca2bf64718c02033d8c93218 | 61 ++++++++++++ .../uploads/faf2e4fd39f13d73d691cdb0fb170a42 | 61 ++++++++++++ 19 files changed, 913 insertions(+), 1 deletion(-) delete mode 100644 server/controller/Equipo.js/cargaMasiva.js create mode 100644 server/controller/Equipo/cargaMasiva.js create mode 100644 server/uploads/3546c54df511fb130835fb9c1343a2d5 create mode 100644 server/uploads/63912c3afb4a4da873d30241f54521e1 create mode 100644 server/uploads/6aa822836344cbf2c3b3a41da93c01c8 create mode 100644 server/uploads/6acd41de82e7038bd3539a8ec0b54dd5 create mode 100644 server/uploads/71c5ee1c396103e74526522615a28a79 create mode 100644 server/uploads/87bd335a833e37431aa28f8a4614012d create mode 100644 server/uploads/963a3e2ad243ff2fc43a230bed19f090 create mode 100644 server/uploads/97737990c0708e9602f7ad392482f246 create mode 100644 server/uploads/a14e762b38d7ea888f21af58cba1dc36 create mode 100644 server/uploads/ae0ca9754c4c330fe86a9bb036cd5c38 create mode 100644 server/uploads/b401dbcbacc1beeb236eae5acd9ca385 create mode 100644 server/uploads/e442f7d0ca2bf64718c02033d8c93218 create mode 100644 server/uploads/faf2e4fd39f13d73d691cdb0fb170a42 diff --git a/server/controller/Equipo.js/cargaMasiva.js b/server/controller/Equipo.js/cargaMasiva.js deleted file mode 100644 index e69de29..0000000 diff --git a/server/controller/Equipo/cargaMasiva.js b/server/controller/Equipo/cargaMasiva.js new file mode 100644 index 0000000..a6289fc --- /dev/null +++ b/server/controller/Equipo/cargaMasiva.js @@ -0,0 +1,95 @@ +const fs = require('fs'); +const csv = require('csvtojson'); +const { Op } = require('sequelize'); +const Equipo = require('./../../db/tablas/Equipo'); +const Carrito = require('./../../db/tablas/Carrito'); +const TipoCarrito = require('./../../db/tablas/TipoCarrito'); +const Programa = require('./../../db/tablas/Programa'); +const Modulo = require('./../../db/tablas/Modulo'); + +const cargaMasiva = async (file) => { + const path = `server/uploads/${file}`; + const equiposNuevos = []; + const errores = []; + + await csv() + .fromFile(path) + .then(async (equipos) => { + for (let i = 0; i < equipos.length; i++) { + const existeModulo = await Modulo.findOne({ + where: { idModulo: Number(equipos[i].modulo) }, + }); + const existeTipoCarrito = await TipoCarrito.findOne({ + where: { tipoCarrito: equipos[i].tipo }, + }); + const existePrograma = equipos[i].programa + ? await Programa.findOne({ where: { programa: equipos[i].programa } }) + : {}; + let existeCarrito = await Carrito.findOne({ + where: { sobrenombre: equipos[i].carritoSobrenombre }, + }); + let existeEquipo = await Equipo.findOne({ + where: { + [Op.or]: [ + { numeroSerie: equipos[i].numeroSerie }, + { numeroInventario: equipos[i].numeroInventario }, + ], + }, + }); + + if ( + existeEquipo || + !existeModulo || + !existeTipoCarrito || + (equipos[i].programa && !existePrograma) + ) { + let error = ''; + + if (existeEquipo) + error += `El equipo con numero de serie ${existeEquipo.numeroSerie} ya existe. `; + else if (!existeModulo) + error += `El modulo ${equipos[i].modulo} no existe. `; + else if (!existeTipoCarrito) + error += `El tipo de equipo ${equipos[i].tipo} no existe. `; + else error += `El programa ${equipos[i].programa} no existe. `; + error += `Se salto esta linea.\n`; + errores.push(error); + continue; + } + if (!existeCarrito) { + existeCarrito = await Carrito.findAll({ + where: { idModulo: existeModulo.idModulo }, + }).then((res) => + Carrito.create({ + carrito: res.length + 1, + sobrenombre: equipos[i].carritoSobrenombre, + idTipoCarrito: existeTipoCarrito.idTipoCarrito, + idModulo: existeModulo.idModulo, + }) + ); + } + existeEquipo = await Equipo.findAll({ + where: { idCarrito: existeCarrito.idCarrito }, + }).then((res) => + Equipo.create({ + numeroSerie: equipos[i].numeroSerie, + numeroInventario: equipos[i].numeroInventario, + sobrenombre: res.length + 1, + idCarrito: existeCarrito.idCarrito, + idPrograma: existePrograma.idPrograma + ? existePrograma.idPrograma + : null, + }) + ); + equiposNuevos.push(existeEquipo); + } + fs.unlinkSync(path); + }); + return { + message: 'Se subio correctamente el archivo csv.', + equiposNuevos, + errores, + }; +}; + +module.exports = cargaMasiva; diff --git a/server/db/tablas/Carrito.js b/server/db/tablas/Carrito.js index cf5a3a0..54caf45 100644 --- a/server/db/tablas/Carrito.js +++ b/server/db/tablas/Carrito.js @@ -24,6 +24,7 @@ Carrito.init( activo: { type: DataTypes.BOOLEAN, allowNull: false, + defaultValue: true, }, }, { diff --git a/server/db/tablas/Equipo.js b/server/db/tablas/Equipo.js index 917ccf2..58ac364 100644 --- a/server/db/tablas/Equipo.js +++ b/server/db/tablas/Equipo.js @@ -55,6 +55,7 @@ Equipo.belongsTo(Status, { name: 'idStatus', type: DataTypes.INTEGER, allowNull: false, + defaultValue: 1, }, }); diff --git a/server/routes/Equipo.js b/server/routes/Equipo.js index 44e20d3..82b0a38 100644 --- a/server/routes/Equipo.js +++ b/server/routes/Equipo.js @@ -1,8 +1,10 @@ const express = require('express'); +const multer = require('multer'); const app = express(); +const upload = multer({ dest: 'server/uploads' }); const { verificaToken } = require('../middleware/autentificacion'); const route = '/equipo'; -// const login = require('../controller/Equipo/'); +const cargaMasiva = require('../controller/Equipo/cargaMasiva'); // app.post(`${route}/`, (req, res) => { // return login(req.body) @@ -15,4 +17,23 @@ const route = '/equipo'; // }); // }); +app.post( + `${route}/carga_masiva`, + // verificaToken, + upload.single('csv'), + (req, res) => { + if (req.file) { + return cargaMasiva(req.file.filename) + .then((data) => { + res.status(201).json(data); + }) + .catch((err) => { + res.status(400).json({ message: err.message }); + }); + } + res + .status(400) + .json({ message: 'No se envio un archivo csv para la carga masiva.' }); + } +); module.exports = app; diff --git a/server/routes/index.js b/server/routes/index.js index 992afaa..36758a6 100644 --- a/server/routes/index.js +++ b/server/routes/index.js @@ -3,6 +3,7 @@ const app = express(); app.use(require('./Operador')); app.use(require('./Usuario')); +app.use(require('./Equipo')); app.use(require('./TipoCarrito')); module.exports = app; diff --git a/server/uploads/3546c54df511fb130835fb9c1343a2d5 b/server/uploads/3546c54df511fb130835fb9c1343a2d5 new file mode 100644 index 0000000..2338288 --- /dev/null +++ b/server/uploads/3546c54df511fb130835fb9c1343a2d5 @@ -0,0 +1,61 @@ +numeroSerie,numeroInventario,equipoSobrenombre,programa,carritoSobrenombre,tipo,modulo +abc1,1,1,,L01,Laptop,1 +abc2,2,2,,L01,Laptop,1 +abc3,3,3,,L01,Laptop,1 +abc4,4,4,,L01,Laptop,1 +abc5,5,5,,L01,Laptop,1 +abc6,6,6,,L01,Laptop,1 +abc7,7,7,,L01,Laptop,1 +abc8,8,8,,L01,Laptop,1 +abc9,9,9,,L01,Laptop,1 +abc10,10,10,,L01,Laptop,1 +abc11,11,1,,P01,iPad,1 +abc12,12,2,,P01,iPad,1 +abc13,13,3,,P01,iPad,1 +abc14,14,4,,P01,iPad,1 +abc15,15,5,,P01,iPad,1 +abc16,16,6,,P01,iPad,1 +abc17,17,7,,P01,iPad,1 +abc18,18,8,,P01,iPad,1 +abc19,19,9,,P01,iPad,1 +abc20,20,10,,P01,iPad,1 +abc21,21,1,,C01,Chromebook,1 +abc22,22,2,,C01,Chromebook,1 +abc23,23,3,,C01,Chromebook,1 +abc24,24,4,,C01,Chromebook,1 +abc25,25,5,,C01,Chromebook,1 +abc26,26,6,,C01,Chromebook,1 +abc27,27,7,,C01,Chromebook,1 +abc28,28,8,,C01,Chromebook,1 +abc29,29,9,,C01,Chromebook,1 +abc30,30,10,,C01,Chromebook,1 +abc31,31,1,,P02,iPad,2 +abc32,32,2,,P02,iPad,2 +abc33,33,3,,P02,iPad,2 +abc34,34,4,,P02,iPad,2 +abc35,35,5,,P02,iPad,2 +abc36,36,6,,P02,iPad,2 +abc37,37,7,,P02,iPad,2 +abc38,38,8,,P02,iPad,2 +abc39,39,9,,P02,iPad,2 +abc40,40,10,,P02,iPad,2 +abc41,41,1,,C02,Chromebook,2 +abc42,42,2,,C02,Chromebook,2 +abc43,43,3,,C02,Chromebook,2 +abc44,44,4,,C02,Chromebook,2 +abc45,45,5,,C02,Chromebook,2 +abc46,46,6,,C02,Chromebook,2 +abc47,47,7,,C02,Chromebook,2 +abc48,48,8,,C02,Chromebook,2 +abc49,49,9,,C02,Chromebook,2 +abc50,50,10,,C02,Chromebook,2 +abc51,51,1,,L02,Laptop,2 +abc52,52,2,,L02,Laptop,2 +abc53,53,3,,L02,Laptop,2 +abc54,54,4,,L02,Laptop,2 +abc55,55,5,,L02,Laptop,2 +abc56,56,6,,L02,Laptop,2 +abc57,57,7,,L02,Laptop,2 +abc58,58,8,,L02,Laptop,2 +abc59,59,9,,L02,Laptop,2 +abc60,60,10,,L02,Laptop,2 \ No newline at end of file diff --git a/server/uploads/63912c3afb4a4da873d30241f54521e1 b/server/uploads/63912c3afb4a4da873d30241f54521e1 new file mode 100644 index 0000000..2338288 --- /dev/null +++ b/server/uploads/63912c3afb4a4da873d30241f54521e1 @@ -0,0 +1,61 @@ +numeroSerie,numeroInventario,equipoSobrenombre,programa,carritoSobrenombre,tipo,modulo +abc1,1,1,,L01,Laptop,1 +abc2,2,2,,L01,Laptop,1 +abc3,3,3,,L01,Laptop,1 +abc4,4,4,,L01,Laptop,1 +abc5,5,5,,L01,Laptop,1 +abc6,6,6,,L01,Laptop,1 +abc7,7,7,,L01,Laptop,1 +abc8,8,8,,L01,Laptop,1 +abc9,9,9,,L01,Laptop,1 +abc10,10,10,,L01,Laptop,1 +abc11,11,1,,P01,iPad,1 +abc12,12,2,,P01,iPad,1 +abc13,13,3,,P01,iPad,1 +abc14,14,4,,P01,iPad,1 +abc15,15,5,,P01,iPad,1 +abc16,16,6,,P01,iPad,1 +abc17,17,7,,P01,iPad,1 +abc18,18,8,,P01,iPad,1 +abc19,19,9,,P01,iPad,1 +abc20,20,10,,P01,iPad,1 +abc21,21,1,,C01,Chromebook,1 +abc22,22,2,,C01,Chromebook,1 +abc23,23,3,,C01,Chromebook,1 +abc24,24,4,,C01,Chromebook,1 +abc25,25,5,,C01,Chromebook,1 +abc26,26,6,,C01,Chromebook,1 +abc27,27,7,,C01,Chromebook,1 +abc28,28,8,,C01,Chromebook,1 +abc29,29,9,,C01,Chromebook,1 +abc30,30,10,,C01,Chromebook,1 +abc31,31,1,,P02,iPad,2 +abc32,32,2,,P02,iPad,2 +abc33,33,3,,P02,iPad,2 +abc34,34,4,,P02,iPad,2 +abc35,35,5,,P02,iPad,2 +abc36,36,6,,P02,iPad,2 +abc37,37,7,,P02,iPad,2 +abc38,38,8,,P02,iPad,2 +abc39,39,9,,P02,iPad,2 +abc40,40,10,,P02,iPad,2 +abc41,41,1,,C02,Chromebook,2 +abc42,42,2,,C02,Chromebook,2 +abc43,43,3,,C02,Chromebook,2 +abc44,44,4,,C02,Chromebook,2 +abc45,45,5,,C02,Chromebook,2 +abc46,46,6,,C02,Chromebook,2 +abc47,47,7,,C02,Chromebook,2 +abc48,48,8,,C02,Chromebook,2 +abc49,49,9,,C02,Chromebook,2 +abc50,50,10,,C02,Chromebook,2 +abc51,51,1,,L02,Laptop,2 +abc52,52,2,,L02,Laptop,2 +abc53,53,3,,L02,Laptop,2 +abc54,54,4,,L02,Laptop,2 +abc55,55,5,,L02,Laptop,2 +abc56,56,6,,L02,Laptop,2 +abc57,57,7,,L02,Laptop,2 +abc58,58,8,,L02,Laptop,2 +abc59,59,9,,L02,Laptop,2 +abc60,60,10,,L02,Laptop,2 \ No newline at end of file diff --git a/server/uploads/6aa822836344cbf2c3b3a41da93c01c8 b/server/uploads/6aa822836344cbf2c3b3a41da93c01c8 new file mode 100644 index 0000000..db936ce --- /dev/null +++ b/server/uploads/6aa822836344cbf2c3b3a41da93c01c8 @@ -0,0 +1,61 @@ +numeroSerie,numeroInventario,programa,carritoSobrenombre,tipo,modulo +abc1,1,Autodesk,L01,Laptop,1 +abc2,2,Autodesk,L01,Laptop,1 +abc3,3,Autodesk,L01,Laptop,1 +abc4,4,Autodesk,L01,Laptop,1 +abc5,5,Adobe,L01,Laptop,1 +abc6,6,Adobe,L01,Laptop,1 +abc7,7,Adobe,L01,Laptop,1 +abc8,8,Adobe,L01,Laptop,1 +abc9,9,Programación,L01,Laptop,1 +abc10,10,Programación,L01,Laptop,1 +abc11,11,,P01,iPad,1 +abc12,12,,P01,iPad,1 +abc13,13,,P01,iPad,1 +abc14,14,,P01,iPad,1 +abc15,15,,P01,iPad,1 +abc16,16,,P01,iPad,1 +abc17,17,,P01,iPad,1 +abc18,18,,P01,iPad,1 +abc19,19,,P01,iPad,1 +abc20,20,,P01,iPad,1 +abc21,21,,C01,Chromebook,1 +abc22,22,,C01,Chromebook,1 +abc23,23,,C01,Chromebook,1 +abc24,24,,C01,Chromebook,1 +abc25,25,,C01,Chromebook,1 +abc26,26,,C01,Chromebook,1 +abc27,27,,C01,Chromebook,1 +abc28,28,,C01,Chromebook,1 +abc29,29,,C01,Chromebook,1 +abc30,30,,C01,Chromebook,1 +abc31,31,,P02,iPad,2 +abc32,32,,P02,iPad,2 +abc33,33,,P02,iPad,2 +abc34,34,,P02,iPad,2 +abc35,35,,P02,iPad,2 +abc36,36,,P02,iPad,2 +abc37,37,,P02,iPad,2 +abc38,38,,P02,iPad,2 +abc39,39,,P02,iPad,2 +abc40,40,,P02,iPad,2 +abc41,41,,C02,Chromebook,2 +abc42,42,,C02,Chromebook,2 +abc43,43,,C02,Chromebook,2 +abc44,44,,C02,Chromebook,2 +abc45,45,,C02,Chromebook,2 +abc46,46,,C02,Chromebook,2 +abc47,47,,C02,Chromebook,2 +abc48,48,,C02,Chromebook,2 +abc49,49,,C02,Chromebook,2 +abc50,50,,C02,Chromebook,2 +abc51,51,,L02,Laptop,2 +abc52,52,,L02,Laptop,2 +abc53,53,,L02,Laptop,2 +abc54,54,,L02,Laptop,2 +abc55,55,,L02,Laptop,2 +abc56,56,,L02,Laptop,2 +abc57,57,,L02,Laptop,2 +abc58,58,,L02,Laptop,2 +abc59,59,,L02,Laptop,2 +abc60,60,,L02,Laptop,2 \ No newline at end of file diff --git a/server/uploads/6acd41de82e7038bd3539a8ec0b54dd5 b/server/uploads/6acd41de82e7038bd3539a8ec0b54dd5 new file mode 100644 index 0000000..2338288 --- /dev/null +++ b/server/uploads/6acd41de82e7038bd3539a8ec0b54dd5 @@ -0,0 +1,61 @@ +numeroSerie,numeroInventario,equipoSobrenombre,programa,carritoSobrenombre,tipo,modulo +abc1,1,1,,L01,Laptop,1 +abc2,2,2,,L01,Laptop,1 +abc3,3,3,,L01,Laptop,1 +abc4,4,4,,L01,Laptop,1 +abc5,5,5,,L01,Laptop,1 +abc6,6,6,,L01,Laptop,1 +abc7,7,7,,L01,Laptop,1 +abc8,8,8,,L01,Laptop,1 +abc9,9,9,,L01,Laptop,1 +abc10,10,10,,L01,Laptop,1 +abc11,11,1,,P01,iPad,1 +abc12,12,2,,P01,iPad,1 +abc13,13,3,,P01,iPad,1 +abc14,14,4,,P01,iPad,1 +abc15,15,5,,P01,iPad,1 +abc16,16,6,,P01,iPad,1 +abc17,17,7,,P01,iPad,1 +abc18,18,8,,P01,iPad,1 +abc19,19,9,,P01,iPad,1 +abc20,20,10,,P01,iPad,1 +abc21,21,1,,C01,Chromebook,1 +abc22,22,2,,C01,Chromebook,1 +abc23,23,3,,C01,Chromebook,1 +abc24,24,4,,C01,Chromebook,1 +abc25,25,5,,C01,Chromebook,1 +abc26,26,6,,C01,Chromebook,1 +abc27,27,7,,C01,Chromebook,1 +abc28,28,8,,C01,Chromebook,1 +abc29,29,9,,C01,Chromebook,1 +abc30,30,10,,C01,Chromebook,1 +abc31,31,1,,P02,iPad,2 +abc32,32,2,,P02,iPad,2 +abc33,33,3,,P02,iPad,2 +abc34,34,4,,P02,iPad,2 +abc35,35,5,,P02,iPad,2 +abc36,36,6,,P02,iPad,2 +abc37,37,7,,P02,iPad,2 +abc38,38,8,,P02,iPad,2 +abc39,39,9,,P02,iPad,2 +abc40,40,10,,P02,iPad,2 +abc41,41,1,,C02,Chromebook,2 +abc42,42,2,,C02,Chromebook,2 +abc43,43,3,,C02,Chromebook,2 +abc44,44,4,,C02,Chromebook,2 +abc45,45,5,,C02,Chromebook,2 +abc46,46,6,,C02,Chromebook,2 +abc47,47,7,,C02,Chromebook,2 +abc48,48,8,,C02,Chromebook,2 +abc49,49,9,,C02,Chromebook,2 +abc50,50,10,,C02,Chromebook,2 +abc51,51,1,,L02,Laptop,2 +abc52,52,2,,L02,Laptop,2 +abc53,53,3,,L02,Laptop,2 +abc54,54,4,,L02,Laptop,2 +abc55,55,5,,L02,Laptop,2 +abc56,56,6,,L02,Laptop,2 +abc57,57,7,,L02,Laptop,2 +abc58,58,8,,L02,Laptop,2 +abc59,59,9,,L02,Laptop,2 +abc60,60,10,,L02,Laptop,2 \ No newline at end of file diff --git a/server/uploads/71c5ee1c396103e74526522615a28a79 b/server/uploads/71c5ee1c396103e74526522615a28a79 new file mode 100644 index 0000000..2338288 --- /dev/null +++ b/server/uploads/71c5ee1c396103e74526522615a28a79 @@ -0,0 +1,61 @@ +numeroSerie,numeroInventario,equipoSobrenombre,programa,carritoSobrenombre,tipo,modulo +abc1,1,1,,L01,Laptop,1 +abc2,2,2,,L01,Laptop,1 +abc3,3,3,,L01,Laptop,1 +abc4,4,4,,L01,Laptop,1 +abc5,5,5,,L01,Laptop,1 +abc6,6,6,,L01,Laptop,1 +abc7,7,7,,L01,Laptop,1 +abc8,8,8,,L01,Laptop,1 +abc9,9,9,,L01,Laptop,1 +abc10,10,10,,L01,Laptop,1 +abc11,11,1,,P01,iPad,1 +abc12,12,2,,P01,iPad,1 +abc13,13,3,,P01,iPad,1 +abc14,14,4,,P01,iPad,1 +abc15,15,5,,P01,iPad,1 +abc16,16,6,,P01,iPad,1 +abc17,17,7,,P01,iPad,1 +abc18,18,8,,P01,iPad,1 +abc19,19,9,,P01,iPad,1 +abc20,20,10,,P01,iPad,1 +abc21,21,1,,C01,Chromebook,1 +abc22,22,2,,C01,Chromebook,1 +abc23,23,3,,C01,Chromebook,1 +abc24,24,4,,C01,Chromebook,1 +abc25,25,5,,C01,Chromebook,1 +abc26,26,6,,C01,Chromebook,1 +abc27,27,7,,C01,Chromebook,1 +abc28,28,8,,C01,Chromebook,1 +abc29,29,9,,C01,Chromebook,1 +abc30,30,10,,C01,Chromebook,1 +abc31,31,1,,P02,iPad,2 +abc32,32,2,,P02,iPad,2 +abc33,33,3,,P02,iPad,2 +abc34,34,4,,P02,iPad,2 +abc35,35,5,,P02,iPad,2 +abc36,36,6,,P02,iPad,2 +abc37,37,7,,P02,iPad,2 +abc38,38,8,,P02,iPad,2 +abc39,39,9,,P02,iPad,2 +abc40,40,10,,P02,iPad,2 +abc41,41,1,,C02,Chromebook,2 +abc42,42,2,,C02,Chromebook,2 +abc43,43,3,,C02,Chromebook,2 +abc44,44,4,,C02,Chromebook,2 +abc45,45,5,,C02,Chromebook,2 +abc46,46,6,,C02,Chromebook,2 +abc47,47,7,,C02,Chromebook,2 +abc48,48,8,,C02,Chromebook,2 +abc49,49,9,,C02,Chromebook,2 +abc50,50,10,,C02,Chromebook,2 +abc51,51,1,,L02,Laptop,2 +abc52,52,2,,L02,Laptop,2 +abc53,53,3,,L02,Laptop,2 +abc54,54,4,,L02,Laptop,2 +abc55,55,5,,L02,Laptop,2 +abc56,56,6,,L02,Laptop,2 +abc57,57,7,,L02,Laptop,2 +abc58,58,8,,L02,Laptop,2 +abc59,59,9,,L02,Laptop,2 +abc60,60,10,,L02,Laptop,2 \ No newline at end of file diff --git a/server/uploads/87bd335a833e37431aa28f8a4614012d b/server/uploads/87bd335a833e37431aa28f8a4614012d new file mode 100644 index 0000000..db936ce --- /dev/null +++ b/server/uploads/87bd335a833e37431aa28f8a4614012d @@ -0,0 +1,61 @@ +numeroSerie,numeroInventario,programa,carritoSobrenombre,tipo,modulo +abc1,1,Autodesk,L01,Laptop,1 +abc2,2,Autodesk,L01,Laptop,1 +abc3,3,Autodesk,L01,Laptop,1 +abc4,4,Autodesk,L01,Laptop,1 +abc5,5,Adobe,L01,Laptop,1 +abc6,6,Adobe,L01,Laptop,1 +abc7,7,Adobe,L01,Laptop,1 +abc8,8,Adobe,L01,Laptop,1 +abc9,9,Programación,L01,Laptop,1 +abc10,10,Programación,L01,Laptop,1 +abc11,11,,P01,iPad,1 +abc12,12,,P01,iPad,1 +abc13,13,,P01,iPad,1 +abc14,14,,P01,iPad,1 +abc15,15,,P01,iPad,1 +abc16,16,,P01,iPad,1 +abc17,17,,P01,iPad,1 +abc18,18,,P01,iPad,1 +abc19,19,,P01,iPad,1 +abc20,20,,P01,iPad,1 +abc21,21,,C01,Chromebook,1 +abc22,22,,C01,Chromebook,1 +abc23,23,,C01,Chromebook,1 +abc24,24,,C01,Chromebook,1 +abc25,25,,C01,Chromebook,1 +abc26,26,,C01,Chromebook,1 +abc27,27,,C01,Chromebook,1 +abc28,28,,C01,Chromebook,1 +abc29,29,,C01,Chromebook,1 +abc30,30,,C01,Chromebook,1 +abc31,31,,P02,iPad,2 +abc32,32,,P02,iPad,2 +abc33,33,,P02,iPad,2 +abc34,34,,P02,iPad,2 +abc35,35,,P02,iPad,2 +abc36,36,,P02,iPad,2 +abc37,37,,P02,iPad,2 +abc38,38,,P02,iPad,2 +abc39,39,,P02,iPad,2 +abc40,40,,P02,iPad,2 +abc41,41,,C02,Chromebook,2 +abc42,42,,C02,Chromebook,2 +abc43,43,,C02,Chromebook,2 +abc44,44,,C02,Chromebook,2 +abc45,45,,C02,Chromebook,2 +abc46,46,,C02,Chromebook,2 +abc47,47,,C02,Chromebook,2 +abc48,48,,C02,Chromebook,2 +abc49,49,,C02,Chromebook,2 +abc50,50,,C02,Chromebook,2 +abc51,51,,L02,Laptop,2 +abc52,52,,L02,Laptop,2 +abc53,53,,L02,Laptop,2 +abc54,54,,L02,Laptop,2 +abc55,55,,L02,Laptop,2 +abc56,56,,L02,Laptop,2 +abc57,57,,L02,Laptop,2 +abc58,58,,L02,Laptop,2 +abc59,59,,L02,Laptop,2 +abc60,60,,L02,Laptop,2 \ No newline at end of file diff --git a/server/uploads/963a3e2ad243ff2fc43a230bed19f090 b/server/uploads/963a3e2ad243ff2fc43a230bed19f090 new file mode 100644 index 0000000..3b5b970 --- /dev/null +++ b/server/uploads/963a3e2ad243ff2fc43a230bed19f090 @@ -0,0 +1,61 @@ +numeroSerie,numeroInventario,equipoSobrenombre,programa,carrito,carritoSobrenombre,tipo,modulo +abc1,1,1,,1,L01,Laptop,1 +abc2,2,2,,1,L01,Laptop,1 +abc3,3,3,,1,L01,Laptop,1 +abc4,4,4,,1,L01,Laptop,1 +abc5,5,5,,1,L01,Laptop,1 +abc6,6,6,,1,L01,Laptop,1 +abc7,7,7,,1,L01,Laptop,1 +abc8,8,8,,1,L01,Laptop,1 +abc9,9,9,,1,L01,Laptop,1 +abc10,10,10,,1,L01,Laptop,1 +abc11,11,1,,2,P01,iPad,1 +abc12,12,2,,2,P01,iPad,1 +abc13,13,3,,2,P01,iPad,1 +abc14,14,4,,2,P01,iPad,1 +abc15,15,5,,2,P01,iPad,1 +abc16,16,6,,2,P01,iPad,1 +abc17,17,7,,2,P01,iPad,1 +abc18,18,8,,2,P01,iPad,1 +abc19,19,9,,2,P01,iPad,1 +abc20,20,10,,2,P01,iPad,1 +abc21,21,1,,3,C01,Chromebook,1 +abc22,22,2,,3,C01,Chromebook,1 +abc23,23,3,,3,C01,Chromebook,1 +abc24,24,4,,3,C01,Chromebook,1 +abc25,25,5,,3,C01,Chromebook,1 +abc26,26,6,,3,C01,Chromebook,1 +abc27,27,7,,3,C01,Chromebook,1 +abc28,28,8,,3,C01,Chromebook,1 +abc29,29,9,,3,C01,Chromebook,1 +abc30,30,10,,3,C01,Chromebook,1 +abc31,31,1,,1,P02,iPad,2 +abc32,32,2,,1,P02,iPad,2 +abc33,33,3,,1,P02,iPad,2 +abc34,34,4,,1,P02,iPad,2 +abc35,35,5,,1,P02,iPad,2 +abc36,36,6,,1,P02,iPad,2 +abc37,37,7,,1,P02,iPad,2 +abc38,38,8,,1,P02,iPad,2 +abc39,39,9,,1,P02,iPad,2 +abc40,40,10,,1,P02,iPad,2 +abc41,41,1,,2,C02,Chromebook,2 +abc42,42,2,,2,C02,Chromebook,2 +abc43,43,3,,2,C02,Chromebook,2 +abc44,44,4,,2,C02,Chromebook,2 +abc45,45,5,,2,C02,Chromebook,2 +abc46,46,6,,2,C02,Chromebook,2 +abc47,47,7,,2,C02,Chromebook,2 +abc48,48,8,,2,C02,Chromebook,2 +abc49,49,9,,2,C02,Chromebook,2 +abc50,50,10,,2,C02,Chromebook,2 +abc51,51,1,,3,L02,Laptop,2 +abc52,52,2,,3,L02,Laptop,2 +abc53,53,3,,3,L02,Laptop,2 +abc54,54,4,,3,L02,Laptop,2 +abc55,55,5,,3,L02,Laptop,2 +abc56,56,6,,3,L02,Laptop,2 +abc57,57,7,,3,L02,Laptop,2 +abc58,58,8,,3,L02,Laptop,2 +abc59,59,9,,3,L02,Laptop,2 +abc60,60,10,,3,L02,Laptop,2 \ No newline at end of file diff --git a/server/uploads/97737990c0708e9602f7ad392482f246 b/server/uploads/97737990c0708e9602f7ad392482f246 new file mode 100644 index 0000000..2338288 --- /dev/null +++ b/server/uploads/97737990c0708e9602f7ad392482f246 @@ -0,0 +1,61 @@ +numeroSerie,numeroInventario,equipoSobrenombre,programa,carritoSobrenombre,tipo,modulo +abc1,1,1,,L01,Laptop,1 +abc2,2,2,,L01,Laptop,1 +abc3,3,3,,L01,Laptop,1 +abc4,4,4,,L01,Laptop,1 +abc5,5,5,,L01,Laptop,1 +abc6,6,6,,L01,Laptop,1 +abc7,7,7,,L01,Laptop,1 +abc8,8,8,,L01,Laptop,1 +abc9,9,9,,L01,Laptop,1 +abc10,10,10,,L01,Laptop,1 +abc11,11,1,,P01,iPad,1 +abc12,12,2,,P01,iPad,1 +abc13,13,3,,P01,iPad,1 +abc14,14,4,,P01,iPad,1 +abc15,15,5,,P01,iPad,1 +abc16,16,6,,P01,iPad,1 +abc17,17,7,,P01,iPad,1 +abc18,18,8,,P01,iPad,1 +abc19,19,9,,P01,iPad,1 +abc20,20,10,,P01,iPad,1 +abc21,21,1,,C01,Chromebook,1 +abc22,22,2,,C01,Chromebook,1 +abc23,23,3,,C01,Chromebook,1 +abc24,24,4,,C01,Chromebook,1 +abc25,25,5,,C01,Chromebook,1 +abc26,26,6,,C01,Chromebook,1 +abc27,27,7,,C01,Chromebook,1 +abc28,28,8,,C01,Chromebook,1 +abc29,29,9,,C01,Chromebook,1 +abc30,30,10,,C01,Chromebook,1 +abc31,31,1,,P02,iPad,2 +abc32,32,2,,P02,iPad,2 +abc33,33,3,,P02,iPad,2 +abc34,34,4,,P02,iPad,2 +abc35,35,5,,P02,iPad,2 +abc36,36,6,,P02,iPad,2 +abc37,37,7,,P02,iPad,2 +abc38,38,8,,P02,iPad,2 +abc39,39,9,,P02,iPad,2 +abc40,40,10,,P02,iPad,2 +abc41,41,1,,C02,Chromebook,2 +abc42,42,2,,C02,Chromebook,2 +abc43,43,3,,C02,Chromebook,2 +abc44,44,4,,C02,Chromebook,2 +abc45,45,5,,C02,Chromebook,2 +abc46,46,6,,C02,Chromebook,2 +abc47,47,7,,C02,Chromebook,2 +abc48,48,8,,C02,Chromebook,2 +abc49,49,9,,C02,Chromebook,2 +abc50,50,10,,C02,Chromebook,2 +abc51,51,1,,L02,Laptop,2 +abc52,52,2,,L02,Laptop,2 +abc53,53,3,,L02,Laptop,2 +abc54,54,4,,L02,Laptop,2 +abc55,55,5,,L02,Laptop,2 +abc56,56,6,,L02,Laptop,2 +abc57,57,7,,L02,Laptop,2 +abc58,58,8,,L02,Laptop,2 +abc59,59,9,,L02,Laptop,2 +abc60,60,10,,L02,Laptop,2 \ No newline at end of file diff --git a/server/uploads/a14e762b38d7ea888f21af58cba1dc36 b/server/uploads/a14e762b38d7ea888f21af58cba1dc36 new file mode 100644 index 0000000..db936ce --- /dev/null +++ b/server/uploads/a14e762b38d7ea888f21af58cba1dc36 @@ -0,0 +1,61 @@ +numeroSerie,numeroInventario,programa,carritoSobrenombre,tipo,modulo +abc1,1,Autodesk,L01,Laptop,1 +abc2,2,Autodesk,L01,Laptop,1 +abc3,3,Autodesk,L01,Laptop,1 +abc4,4,Autodesk,L01,Laptop,1 +abc5,5,Adobe,L01,Laptop,1 +abc6,6,Adobe,L01,Laptop,1 +abc7,7,Adobe,L01,Laptop,1 +abc8,8,Adobe,L01,Laptop,1 +abc9,9,Programación,L01,Laptop,1 +abc10,10,Programación,L01,Laptop,1 +abc11,11,,P01,iPad,1 +abc12,12,,P01,iPad,1 +abc13,13,,P01,iPad,1 +abc14,14,,P01,iPad,1 +abc15,15,,P01,iPad,1 +abc16,16,,P01,iPad,1 +abc17,17,,P01,iPad,1 +abc18,18,,P01,iPad,1 +abc19,19,,P01,iPad,1 +abc20,20,,P01,iPad,1 +abc21,21,,C01,Chromebook,1 +abc22,22,,C01,Chromebook,1 +abc23,23,,C01,Chromebook,1 +abc24,24,,C01,Chromebook,1 +abc25,25,,C01,Chromebook,1 +abc26,26,,C01,Chromebook,1 +abc27,27,,C01,Chromebook,1 +abc28,28,,C01,Chromebook,1 +abc29,29,,C01,Chromebook,1 +abc30,30,,C01,Chromebook,1 +abc31,31,,P02,iPad,2 +abc32,32,,P02,iPad,2 +abc33,33,,P02,iPad,2 +abc34,34,,P02,iPad,2 +abc35,35,,P02,iPad,2 +abc36,36,,P02,iPad,2 +abc37,37,,P02,iPad,2 +abc38,38,,P02,iPad,2 +abc39,39,,P02,iPad,2 +abc40,40,,P02,iPad,2 +abc41,41,,C02,Chromebook,2 +abc42,42,,C02,Chromebook,2 +abc43,43,,C02,Chromebook,2 +abc44,44,,C02,Chromebook,2 +abc45,45,,C02,Chromebook,2 +abc46,46,,C02,Chromebook,2 +abc47,47,,C02,Chromebook,2 +abc48,48,,C02,Chromebook,2 +abc49,49,,C02,Chromebook,2 +abc50,50,,C02,Chromebook,2 +abc51,51,,L02,Laptop,2 +abc52,52,,L02,Laptop,2 +abc53,53,,L02,Laptop,2 +abc54,54,,L02,Laptop,2 +abc55,55,,L02,Laptop,2 +abc56,56,,L02,Laptop,2 +abc57,57,,L02,Laptop,2 +abc58,58,,L02,Laptop,2 +abc59,59,,L02,Laptop,2 +abc60,60,,L02,Laptop,2 \ No newline at end of file diff --git a/server/uploads/ae0ca9754c4c330fe86a9bb036cd5c38 b/server/uploads/ae0ca9754c4c330fe86a9bb036cd5c38 new file mode 100644 index 0000000..db936ce --- /dev/null +++ b/server/uploads/ae0ca9754c4c330fe86a9bb036cd5c38 @@ -0,0 +1,61 @@ +numeroSerie,numeroInventario,programa,carritoSobrenombre,tipo,modulo +abc1,1,Autodesk,L01,Laptop,1 +abc2,2,Autodesk,L01,Laptop,1 +abc3,3,Autodesk,L01,Laptop,1 +abc4,4,Autodesk,L01,Laptop,1 +abc5,5,Adobe,L01,Laptop,1 +abc6,6,Adobe,L01,Laptop,1 +abc7,7,Adobe,L01,Laptop,1 +abc8,8,Adobe,L01,Laptop,1 +abc9,9,Programación,L01,Laptop,1 +abc10,10,Programación,L01,Laptop,1 +abc11,11,,P01,iPad,1 +abc12,12,,P01,iPad,1 +abc13,13,,P01,iPad,1 +abc14,14,,P01,iPad,1 +abc15,15,,P01,iPad,1 +abc16,16,,P01,iPad,1 +abc17,17,,P01,iPad,1 +abc18,18,,P01,iPad,1 +abc19,19,,P01,iPad,1 +abc20,20,,P01,iPad,1 +abc21,21,,C01,Chromebook,1 +abc22,22,,C01,Chromebook,1 +abc23,23,,C01,Chromebook,1 +abc24,24,,C01,Chromebook,1 +abc25,25,,C01,Chromebook,1 +abc26,26,,C01,Chromebook,1 +abc27,27,,C01,Chromebook,1 +abc28,28,,C01,Chromebook,1 +abc29,29,,C01,Chromebook,1 +abc30,30,,C01,Chromebook,1 +abc31,31,,P02,iPad,2 +abc32,32,,P02,iPad,2 +abc33,33,,P02,iPad,2 +abc34,34,,P02,iPad,2 +abc35,35,,P02,iPad,2 +abc36,36,,P02,iPad,2 +abc37,37,,P02,iPad,2 +abc38,38,,P02,iPad,2 +abc39,39,,P02,iPad,2 +abc40,40,,P02,iPad,2 +abc41,41,,C02,Chromebook,2 +abc42,42,,C02,Chromebook,2 +abc43,43,,C02,Chromebook,2 +abc44,44,,C02,Chromebook,2 +abc45,45,,C02,Chromebook,2 +abc46,46,,C02,Chromebook,2 +abc47,47,,C02,Chromebook,2 +abc48,48,,C02,Chromebook,2 +abc49,49,,C02,Chromebook,2 +abc50,50,,C02,Chromebook,2 +abc51,51,,L02,Laptop,2 +abc52,52,,L02,Laptop,2 +abc53,53,,L02,Laptop,2 +abc54,54,,L02,Laptop,2 +abc55,55,,L02,Laptop,2 +abc56,56,,L02,Laptop,2 +abc57,57,,L02,Laptop,2 +abc58,58,,L02,Laptop,2 +abc59,59,,L02,Laptop,2 +abc60,60,,L02,Laptop,2 \ No newline at end of file diff --git a/server/uploads/b401dbcbacc1beeb236eae5acd9ca385 b/server/uploads/b401dbcbacc1beeb236eae5acd9ca385 new file mode 100644 index 0000000..db936ce --- /dev/null +++ b/server/uploads/b401dbcbacc1beeb236eae5acd9ca385 @@ -0,0 +1,61 @@ +numeroSerie,numeroInventario,programa,carritoSobrenombre,tipo,modulo +abc1,1,Autodesk,L01,Laptop,1 +abc2,2,Autodesk,L01,Laptop,1 +abc3,3,Autodesk,L01,Laptop,1 +abc4,4,Autodesk,L01,Laptop,1 +abc5,5,Adobe,L01,Laptop,1 +abc6,6,Adobe,L01,Laptop,1 +abc7,7,Adobe,L01,Laptop,1 +abc8,8,Adobe,L01,Laptop,1 +abc9,9,Programación,L01,Laptop,1 +abc10,10,Programación,L01,Laptop,1 +abc11,11,,P01,iPad,1 +abc12,12,,P01,iPad,1 +abc13,13,,P01,iPad,1 +abc14,14,,P01,iPad,1 +abc15,15,,P01,iPad,1 +abc16,16,,P01,iPad,1 +abc17,17,,P01,iPad,1 +abc18,18,,P01,iPad,1 +abc19,19,,P01,iPad,1 +abc20,20,,P01,iPad,1 +abc21,21,,C01,Chromebook,1 +abc22,22,,C01,Chromebook,1 +abc23,23,,C01,Chromebook,1 +abc24,24,,C01,Chromebook,1 +abc25,25,,C01,Chromebook,1 +abc26,26,,C01,Chromebook,1 +abc27,27,,C01,Chromebook,1 +abc28,28,,C01,Chromebook,1 +abc29,29,,C01,Chromebook,1 +abc30,30,,C01,Chromebook,1 +abc31,31,,P02,iPad,2 +abc32,32,,P02,iPad,2 +abc33,33,,P02,iPad,2 +abc34,34,,P02,iPad,2 +abc35,35,,P02,iPad,2 +abc36,36,,P02,iPad,2 +abc37,37,,P02,iPad,2 +abc38,38,,P02,iPad,2 +abc39,39,,P02,iPad,2 +abc40,40,,P02,iPad,2 +abc41,41,,C02,Chromebook,2 +abc42,42,,C02,Chromebook,2 +abc43,43,,C02,Chromebook,2 +abc44,44,,C02,Chromebook,2 +abc45,45,,C02,Chromebook,2 +abc46,46,,C02,Chromebook,2 +abc47,47,,C02,Chromebook,2 +abc48,48,,C02,Chromebook,2 +abc49,49,,C02,Chromebook,2 +abc50,50,,C02,Chromebook,2 +abc51,51,,L02,Laptop,2 +abc52,52,,L02,Laptop,2 +abc53,53,,L02,Laptop,2 +abc54,54,,L02,Laptop,2 +abc55,55,,L02,Laptop,2 +abc56,56,,L02,Laptop,2 +abc57,57,,L02,Laptop,2 +abc58,58,,L02,Laptop,2 +abc59,59,,L02,Laptop,2 +abc60,60,,L02,Laptop,2 \ No newline at end of file diff --git a/server/uploads/e442f7d0ca2bf64718c02033d8c93218 b/server/uploads/e442f7d0ca2bf64718c02033d8c93218 new file mode 100644 index 0000000..db936ce --- /dev/null +++ b/server/uploads/e442f7d0ca2bf64718c02033d8c93218 @@ -0,0 +1,61 @@ +numeroSerie,numeroInventario,programa,carritoSobrenombre,tipo,modulo +abc1,1,Autodesk,L01,Laptop,1 +abc2,2,Autodesk,L01,Laptop,1 +abc3,3,Autodesk,L01,Laptop,1 +abc4,4,Autodesk,L01,Laptop,1 +abc5,5,Adobe,L01,Laptop,1 +abc6,6,Adobe,L01,Laptop,1 +abc7,7,Adobe,L01,Laptop,1 +abc8,8,Adobe,L01,Laptop,1 +abc9,9,Programación,L01,Laptop,1 +abc10,10,Programación,L01,Laptop,1 +abc11,11,,P01,iPad,1 +abc12,12,,P01,iPad,1 +abc13,13,,P01,iPad,1 +abc14,14,,P01,iPad,1 +abc15,15,,P01,iPad,1 +abc16,16,,P01,iPad,1 +abc17,17,,P01,iPad,1 +abc18,18,,P01,iPad,1 +abc19,19,,P01,iPad,1 +abc20,20,,P01,iPad,1 +abc21,21,,C01,Chromebook,1 +abc22,22,,C01,Chromebook,1 +abc23,23,,C01,Chromebook,1 +abc24,24,,C01,Chromebook,1 +abc25,25,,C01,Chromebook,1 +abc26,26,,C01,Chromebook,1 +abc27,27,,C01,Chromebook,1 +abc28,28,,C01,Chromebook,1 +abc29,29,,C01,Chromebook,1 +abc30,30,,C01,Chromebook,1 +abc31,31,,P02,iPad,2 +abc32,32,,P02,iPad,2 +abc33,33,,P02,iPad,2 +abc34,34,,P02,iPad,2 +abc35,35,,P02,iPad,2 +abc36,36,,P02,iPad,2 +abc37,37,,P02,iPad,2 +abc38,38,,P02,iPad,2 +abc39,39,,P02,iPad,2 +abc40,40,,P02,iPad,2 +abc41,41,,C02,Chromebook,2 +abc42,42,,C02,Chromebook,2 +abc43,43,,C02,Chromebook,2 +abc44,44,,C02,Chromebook,2 +abc45,45,,C02,Chromebook,2 +abc46,46,,C02,Chromebook,2 +abc47,47,,C02,Chromebook,2 +abc48,48,,C02,Chromebook,2 +abc49,49,,C02,Chromebook,2 +abc50,50,,C02,Chromebook,2 +abc51,51,,L02,Laptop,2 +abc52,52,,L02,Laptop,2 +abc53,53,,L02,Laptop,2 +abc54,54,,L02,Laptop,2 +abc55,55,,L02,Laptop,2 +abc56,56,,L02,Laptop,2 +abc57,57,,L02,Laptop,2 +abc58,58,,L02,Laptop,2 +abc59,59,,L02,Laptop,2 +abc60,60,,L02,Laptop,2 \ No newline at end of file diff --git a/server/uploads/faf2e4fd39f13d73d691cdb0fb170a42 b/server/uploads/faf2e4fd39f13d73d691cdb0fb170a42 new file mode 100644 index 0000000..db936ce --- /dev/null +++ b/server/uploads/faf2e4fd39f13d73d691cdb0fb170a42 @@ -0,0 +1,61 @@ +numeroSerie,numeroInventario,programa,carritoSobrenombre,tipo,modulo +abc1,1,Autodesk,L01,Laptop,1 +abc2,2,Autodesk,L01,Laptop,1 +abc3,3,Autodesk,L01,Laptop,1 +abc4,4,Autodesk,L01,Laptop,1 +abc5,5,Adobe,L01,Laptop,1 +abc6,6,Adobe,L01,Laptop,1 +abc7,7,Adobe,L01,Laptop,1 +abc8,8,Adobe,L01,Laptop,1 +abc9,9,Programación,L01,Laptop,1 +abc10,10,Programación,L01,Laptop,1 +abc11,11,,P01,iPad,1 +abc12,12,,P01,iPad,1 +abc13,13,,P01,iPad,1 +abc14,14,,P01,iPad,1 +abc15,15,,P01,iPad,1 +abc16,16,,P01,iPad,1 +abc17,17,,P01,iPad,1 +abc18,18,,P01,iPad,1 +abc19,19,,P01,iPad,1 +abc20,20,,P01,iPad,1 +abc21,21,,C01,Chromebook,1 +abc22,22,,C01,Chromebook,1 +abc23,23,,C01,Chromebook,1 +abc24,24,,C01,Chromebook,1 +abc25,25,,C01,Chromebook,1 +abc26,26,,C01,Chromebook,1 +abc27,27,,C01,Chromebook,1 +abc28,28,,C01,Chromebook,1 +abc29,29,,C01,Chromebook,1 +abc30,30,,C01,Chromebook,1 +abc31,31,,P02,iPad,2 +abc32,32,,P02,iPad,2 +abc33,33,,P02,iPad,2 +abc34,34,,P02,iPad,2 +abc35,35,,P02,iPad,2 +abc36,36,,P02,iPad,2 +abc37,37,,P02,iPad,2 +abc38,38,,P02,iPad,2 +abc39,39,,P02,iPad,2 +abc40,40,,P02,iPad,2 +abc41,41,,C02,Chromebook,2 +abc42,42,,C02,Chromebook,2 +abc43,43,,C02,Chromebook,2 +abc44,44,,C02,Chromebook,2 +abc45,45,,C02,Chromebook,2 +abc46,46,,C02,Chromebook,2 +abc47,47,,C02,Chromebook,2 +abc48,48,,C02,Chromebook,2 +abc49,49,,C02,Chromebook,2 +abc50,50,,C02,Chromebook,2 +abc51,51,,L02,Laptop,2 +abc52,52,,L02,Laptop,2 +abc53,53,,L02,Laptop,2 +abc54,54,,L02,Laptop,2 +abc55,55,,L02,Laptop,2 +abc56,56,,L02,Laptop,2 +abc57,57,,L02,Laptop,2 +abc58,58,,L02,Laptop,2 +abc59,59,,L02,Laptop,2 +abc60,60,,L02,Laptop,2 \ No newline at end of file