83 lines
2.8 KiB
JavaScript
83 lines
2.8 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
const Papa = require("papaparse");
|
|
const fs = require("fs");
|
|
const Carrito_1 = require("../entity/Carrito");
|
|
const typeorm_1 = require("typeorm");
|
|
const Tipo_1 = require("../entity/Tipo");
|
|
const Equipo_1 = require("../entity/Equipo");
|
|
class CarritoController {
|
|
async carga(req, res) {
|
|
const cargaFile = req.file;
|
|
if (!cargaFile) {
|
|
res.status(400).send({
|
|
status: false,
|
|
data: 'No file is selected.'
|
|
});
|
|
return false;
|
|
}
|
|
const fileReadResult = fs.readFileSync(cargaFile.path, 'utf-8');
|
|
const parseResult = await Papa.parse(fileReadResult, {
|
|
header: true
|
|
});
|
|
console.log(parseResult);
|
|
let data = {};
|
|
try {
|
|
for (const i in parseResult.data) {
|
|
data = parseResult.data[i];
|
|
if (!data.kiosko ||
|
|
!data.alias_carrito ||
|
|
!data.no_serie ||
|
|
!data.no_inventario) {
|
|
continue;
|
|
}
|
|
console.log(data);
|
|
await this.saveCarrito(data);
|
|
}
|
|
}
|
|
catch (err) {
|
|
res.status(400).send(err.message);
|
|
return;
|
|
}
|
|
res.status(200).send('okay');
|
|
}
|
|
async saveCarrito(data) {
|
|
const carritoRepository = typeorm_1.getRepository(Carrito_1.Carrito);
|
|
const tipoRepository = typeorm_1.getRepository(Tipo_1.Tipo);
|
|
const equipoRepository = typeorm_1.getRepository(Equipo_1.Equipo);
|
|
const tipo = new Tipo_1.Tipo();
|
|
const carrito = new Carrito_1.Carrito();
|
|
const equipo = new Equipo_1.Equipo();
|
|
const tipoFind = await tipoRepository.findOne({
|
|
where: {
|
|
nombre: data.tipo
|
|
}
|
|
});
|
|
if (!tipoFind) {
|
|
tipo.nombre = data.tipo;
|
|
}
|
|
const carritoFind = await carritoRepository.findOne({
|
|
where: {
|
|
kiosko: data.kiosko,
|
|
alias: data.alias_carrito,
|
|
tipo: tipoFind
|
|
}
|
|
});
|
|
if (!carritoFind) {
|
|
carrito.kiosko = data.kiosko;
|
|
carrito.alias = data.alias_carrito;
|
|
carrito.tipo = !tipoFind ? tipo : tipoFind;
|
|
}
|
|
equipo.alias = data.equipo_carrito;
|
|
equipo.noSerie = data.no_serie;
|
|
equipo.noInventario = data.no_inventario;
|
|
equipo.carrito = !carritoFind ? carrito : carritoFind;
|
|
if (!tipoFind)
|
|
await tipoRepository.save(tipo);
|
|
if (!carritoFind)
|
|
await carritoRepository.save(carrito);
|
|
await equipoRepository.save(equipo);
|
|
}
|
|
}
|
|
exports.CarritoController = CarritoController;
|
|
//# sourceMappingURL=Carrito.js.map
|