This repository has been archived on 2024-10-02. You can view files and clone it, but cannot push or open issues or pull requests.
smart-tag/methods/bindShelvingTag.js

100 lines
3.3 KiB
JavaScript

const config = require('../config');
const got = require('got');
const filter = require('../utilities/filter');
const insertDB = require('../db/insertDB');
const express = require('express');
const router = express.Router();
router.get('/', async(req, res) => {
///DATOS INTRODUCIDOS POR EL USUARIO////
var barcode = "A0A3B8224DBF"; //valido = "A0A3B82"+ 4 CARACTERES HEXADECIMALES (0-F)
var shelving = "ABC"; //valido = 3 CARACTERES LETRAS (A-Z)
var level = "4";
//////////////////////////////////////
const result = bindShelvingTag(barcode, shelving, level);
if(result == 'INVALID_PLATE'){
res.json({message: 'MATRICULA INCORRECTA'})
}else if (result == 'INVALID_TAG_CODE'){
res.json({message: 'CODIGO DE ETIQUETA INCORRECTO'})
}else{
res.json({message: 'SUCCESS'});
}
});
module.exports = router;
function bindShelvingTag(barcode, shelving, level){
if(filter.isBarcode(barcode)){
if(filter.isShelving(shelving)){
let shelvingId = shelving + level;
insertShelving(shelvingId);
bindShelving(barcode, shelvingId);
insertDB.insertDB(barcode, shelving, level);
}else{
//console.log("¡MATRICULA INCORRECTA!");
return 'INVALID_PLATE';
}
}else{
//console.log("¡CODIGO DE ETIQUETA INCORRECTO!")
return 'INVALID_TAG_CODE';
}
}
function insertShelving(shelvingId){
(async() => {
const info = await config.info
let key = info.data.token
let currentUser = info.data.currentUser;
(async() => {
const { body } = await got.post('http://app.etiquetaselectronicas.com:9999/item/batchImportItem', {
json: {
agencyId: currentUser.agencyId,
merchantId: currentUser.merchantId,
storeId: currentUser.storeId,
unitName: currentUser.unitName,
itemList: [
{
attrCategory: "verdnatura",
attrName: "sinTicket",
barCode: shelvingId,//Matricula + nivel
itemTitle: "Etiqueta Sin ticket",
}
]
},
responseType: 'json',
headers: {
"Authorization": key
}
})
//console.log("CARRO: ",body)
})();
})();
}
function bindShelving(barcode, shelvingId){
(async() => {
const info = await config.info
let key = info.data.token;
(async() => {
const { body } = await got.post('http://app.etiquetaselectronicas.com:9999/bind/batchBind', {
json: {
storeId: config.storeId,
tagItemBinds: [{
eslBarcode: barcode,
itemBarcode: shelvingId
}
]
},
responseType: 'json',
headers: {
"Authorization": key
}
})
//console.log("ETIQUETA: ",body)
})();
})();
}
exports.bindShelving = bindShelving;