update bindTicketShelving and bindShelvingTag
This commit is contained in:
parent
effbbdf7c3
commit
49f511f3e6
39
db/db.sql
39
db/db.sql
|
@ -1,14 +1,31 @@
|
|||
CREATE TABLE vn.smartTag (
|
||||
code varchar(12) NOT NULL COLLATE utf8_general_ci,
|
||||
shelvingFk varchar(10) NULL,
|
||||
`level` int(11) NULL,
|
||||
ticketFk int(20),
|
||||
CONSTRAINT `PRIMARY` PRIMARY KEY (code),
|
||||
CONSTRAINT smartTag_FK FOREIGN KEY (shelvingFk) REFERENCES vn.shelving(code)
|
||||
)
|
||||
ENGINE=InnoDB
|
||||
DEFAULT CHARSET=utf8
|
||||
COLLATE=utf8_unicode_ci;
|
||||
CREATE TABLE `workerShelving` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`workerFk` varchar(3) COLLATE utf8_unicode_ci NOT NULL,
|
||||
`shelvingFk` varchar(10) CHARACTER SET utf8 NOT NULL,
|
||||
`collectionFk` int(11) DEFAULT NULL,
|
||||
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `workerShelving_shelving_fk` (`shelvingFk`),
|
||||
KEY `workerShelving_FK` (`workerFk`),
|
||||
KEY `workerShelving_FK_1` (`collectionFk`),
|
||||
CONSTRAINT `workerShelving_worker_fk` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`code`),
|
||||
CONSTRAINT `workerShelving_collection_fk` FOREIGN KEY (`collectionFk`) REFERENCES `collection` (`id`),
|
||||
CONSTRAINT `workerShelving_shelving_fk` FOREIGN KEY (`shelvingFk`) REFERENCES `shelving` (`code`) ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='utilizaremos el id para establecer la prioridad de los carros a asignar'
|
||||
|
||||
CREATE TABLE `smartTag` (
|
||||
`code` varchar(12) CHARACTER SET utf8 NOT NULL,
|
||||
`shelvingFk` varchar(10) CHARACTER SET utf8 DEFAULT NULL,
|
||||
`level` int(11) DEFAULT NULL,
|
||||
`ticketFk` int(11) DEFAULT NULL,
|
||||
KEY `ticket_fk` (`ticketFk`),
|
||||
KEY `smartTag_shelving_fk` (`shelvingFk`),
|
||||
CONSTRAINT `smartTag_shelving_fk` FOREIGN KEY (`shelvingFk`) REFERENCES `shelving` (`code`) ON UPDATE CASCADE,
|
||||
CONSTRAINT `smartTag_ticket_fk` FOREIGN KEY (`ticketFk`) REFERENCES `ticketCollection` (`ticketFk`) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||
|
||||
--ALTER TABLE vn.smartTag MODIFY COLUMN shelvingFk varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL NULL;
|
||||
--ALTER TABLE vn.smartTag ADD CONSTRAINT smartTag_FK FOREIGN KEY (shelvingFk) REFERENCES vn.shelving(code);
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
const con = require('./connect');
|
||||
|
||||
function insertDB(barcode, shelving, level) {
|
||||
let sql = `IF EXISTS(SELECT * FROM vn.smartTag WHERE code='${barcode}')
|
||||
function insertSmartTag(smartTagFk, shelving, level) {
|
||||
let sql = `IF EXISTS(SELECT * FROM vn.smartTag WHERE code='${smartTagFk}')
|
||||
THEN
|
||||
UPDATE vn.smartTag
|
||||
SET shelvingFk = '${shelving}', level = ${level}
|
||||
WHERE code='${barcode}';
|
||||
WHERE code='${smartTagFk}';
|
||||
ELSE
|
||||
INSERT
|
||||
INTO vn.smartTag (code, shelvingFk, level)
|
||||
VALUES ('${barcode}', '${shelving}', ${level});
|
||||
VALUES ('${smartTagFk}', '${shelving}', ${level});
|
||||
END IF;`;
|
||||
con.con.query(sql, function(err, result) {
|
||||
});
|
||||
}
|
||||
exports.insertDB = insertDB;
|
||||
exports.insertSmartTag = insertSmartTag;
|
|
@ -1,19 +1,11 @@
|
|||
const con = require('./connect');
|
||||
|
||||
function select(collectionFk, callback) {
|
||||
let consSql = `SELECT t.id AS Ticket, t.clientFk AS Client, am.name AS Agency, tc.level AS Level, tc.wagon AS Wagon, w.code AS Worker
|
||||
FROM ticketCollection tc
|
||||
JOIN ticket t ON t.id = tc.ticketFk
|
||||
JOIN collection c ON c.id = tc.collectionFk
|
||||
JOIN worker w ON w.id = c.workerFk
|
||||
JOIN agencyMode am ON am.id = t.agencyModeFk
|
||||
WHERE tc.collectionFk = ${collectionFk}
|
||||
ORDER BY tc.wagon, tc.level`;
|
||||
|
||||
function selectCollectionSmartTag(collectionFk, callback) {
|
||||
let consSql = `SELECT code, ticketFk, level, wagon, shelvingFk FROM vn.collectionSmartTag WHERE collectionFk = ${collectionFk}`;
|
||||
con.con.query(consSql, function(err, result, fields) {
|
||||
callback(null, result);
|
||||
});
|
||||
}
|
||||
|
||||
exports.select = select;
|
||||
exports.selectCollectionSmartTag = selectCollectionSmartTag;
|
||||
|
||||
|
|
|
@ -2,18 +2,19 @@ const dataLogIn = require('../server');
|
|||
const got = require('got');
|
||||
const filter = require('../utilities/filter');
|
||||
const config = require('../config');
|
||||
const insertDB = require('../db/insertDB');
|
||||
const insertSmartTag = require('../db/insertSmartTag');
|
||||
const express = require('express');
|
||||
const router = express.Router(); // eslint-disable-line
|
||||
// canviar barcode per smarttagFk
|
||||
router.get('/:barcode&:shelving&:level', async(req, res) => {
|
||||
const barcode = req.params.barcode;// valido = "A0A3B82"+ 4 CARACTERES HEXADECIMALES (0-F)
|
||||
|
||||
// Obtenemos los parametros
|
||||
router.get('/:smartTagFk&:shelving&:level', async(req, res) => {
|
||||
const smartTagFk = req.params.smartTagFk;// valido = "A0A3B82"+ 4 CARACTERES HEXADECIMALES (0-F)
|
||||
const shelving = req.params.shelving;// valido = 3 CARACTERES LETRAS (A-Z)
|
||||
const level = req.params.level;
|
||||
console.log(barcode);
|
||||
console.log(smartTagFk);
|
||||
console.log(shelving + level);
|
||||
|
||||
const result = bindShelvingTag(barcode, shelving, level);
|
||||
const result = bindShelvingTag(smartTagFk, shelving, level);
|
||||
if (result == 'INVALID_PLATE')
|
||||
res.json({message: 'MATRICULA INCORRECTA'});
|
||||
else if (result == 'INVALID_TAG_CODE')
|
||||
|
@ -24,19 +25,21 @@ router.get('/:barcode&:shelving&:level', async(req, res) => {
|
|||
|
||||
module.exports = router;
|
||||
|
||||
function bindShelvingTag(barcode, shelving, level) {
|
||||
if (filter.isBarcode(barcode)) {
|
||||
// Vinculamos la etiqueta con la balda del carry y en la base de datos
|
||||
function bindShelvingTag(smartTagFk, shelving, level) {
|
||||
let shelvingId = shelving + level;
|
||||
if (filter.isSmartTag(smartTagFk)) {
|
||||
if (filter.isShelving(shelving)) {
|
||||
let shelvingId = shelving + level;
|
||||
insertShelving(shelvingId, barcode);
|
||||
insertDB.insertDB(barcode, shelving, level);
|
||||
insertShelving(shelvingId, smartTagFk); // al carry en ESL CLOUD SYSTEM
|
||||
insertSmartTag.insertSmartTag(smartTagFk, shelving, level); // en vn.smartTag
|
||||
} else
|
||||
return 'INVALID_PLATE';
|
||||
} else
|
||||
return 'INVALID_TAG_CODE';
|
||||
}
|
||||
|
||||
async function insertShelving(shelvingId, barcode) {
|
||||
// Creamos un "articulo", que sera el que luego modificaremos para añadirle un ticket
|
||||
async function insertShelving(shelvingId, smartTagFk) {
|
||||
(async() => {
|
||||
const info = await dataLogIn.dataLogIn;
|
||||
let key = info.data.token;
|
||||
|
@ -62,13 +65,14 @@ async function insertShelving(shelvingId, barcode) {
|
|||
'Authorization': key
|
||||
}
|
||||
});
|
||||
await bindShelving(barcode, shelvingId);
|
||||
await bindShelving(smartTagFk, shelvingId);
|
||||
console.log('Insert Shelving:', body);
|
||||
})();
|
||||
})();
|
||||
}
|
||||
|
||||
async function bindShelving(barcode, shelvingId) {
|
||||
// Creamos la etiqueta con su vinculada con el ShelvingId al articulo
|
||||
async function bindShelving(smartTagFk, shelvingId) {
|
||||
(async() => {
|
||||
const info = await dataLogIn.dataLogIn;
|
||||
let key = info.data.token;
|
||||
|
@ -77,7 +81,7 @@ async function bindShelving(barcode, shelvingId) {
|
|||
json: {
|
||||
storeId: config.storeId,
|
||||
tagItemBinds: [{
|
||||
eslBarcode: barcode,
|
||||
eslBarcode: smartTagFk,
|
||||
itemBarcode: shelvingId
|
||||
}
|
||||
]
|
||||
|
|
|
@ -5,9 +5,7 @@ const filter = require('../utilities/filter');
|
|||
const insertTicketDB = require('../db/insertTicket');
|
||||
|
||||
router.get('/collectionFk', async(req, res) => {
|
||||
const collectionShelving = req.params.collectionShelving.split(',');
|
||||
const collectionFk = req.params.collectionFk;
|
||||
console.log(collectionShelving);
|
||||
console.log(collectionFk);
|
||||
if (filter.isShelving(collectionShelving)) {
|
||||
ticketShelving(collectionShelving, collectionFk);
|
||||
|
@ -18,14 +16,13 @@ router.get('/collectionFk', async(req, res) => {
|
|||
module.exports = router;
|
||||
|
||||
function ticketShelving(collectionShelving, collectionFk) {// parametro collectionFk
|
||||
select.select(collectionFk, function(err, data) {
|
||||
select.selectCollectionSmartTag(collectionFk, function(err, data) {
|
||||
console.log(data);
|
||||
insertTicket(data, collectionShelving);
|
||||
insertTicket(data);
|
||||
});
|
||||
}
|
||||
|
||||
function insertTicket(consultaSql, shelving) {
|
||||
console.log(shelving);
|
||||
function insertTicket(consultaSql) {
|
||||
console.log('CONSULTASQL:', consultaSql);
|
||||
console.log('CONSULTASQL_TAMAÑO:', consultaSql.length);
|
||||
const dataLogIn = require('../server');
|
||||
|
@ -37,8 +34,8 @@ function insertTicket(consultaSql, shelving) {
|
|||
|
||||
(async() => {
|
||||
for (let i = 0; i < consultaSql.length; i++) {
|
||||
for (let j = 0; j < consultaSql[i].Level.toString().length; j++) {
|
||||
console.log('SHELVING: ', shelving[consultaSql[i].Wagon - 1]);
|
||||
for (let j = 0; j < consultaSql[i].level; j++) {
|
||||
console.log('SHELVING: ', consultaSql.shelvingFk, consultaSql.level);
|
||||
const {body} = await got.post('http://app.etiquetaselectronicas.com:9999/item/batchImportItem', { // eslint-disable-line
|
||||
json: {
|
||||
agencyId: currentUser.agencyId,
|
||||
|
@ -49,13 +46,14 @@ function insertTicket(consultaSql, shelving) {
|
|||
{
|
||||
attrCategory: 'verdnatura',
|
||||
attrName: 'conTicket',
|
||||
barCode: shelving[consultaSql[i].Wagon - 1] + consultaSql[i].Level.toString().charAt(j), // Matricula + nivel
|
||||
barCode: consultaSql[i].shelvingFk + consultaSql[i].level, // Matricula + nivel
|
||||
itemTitle: 'Etiqueta Con ticket',
|
||||
productCode: consultaSql[i].Ticket, // Ticket
|
||||
custFeature1: consultaSql[i].Client, // Client
|
||||
custFeature2: consultaSql[i].Agency, // Agencia de transporte
|
||||
custFeature3: 0, // Agencia de transporte
|
||||
custFeature4: consultaSql[i].Worker, // Agencia de transporte
|
||||
productCode: consultaSql[i].ticketFk, // Ticket
|
||||
custFeature1: consultaSql[i].clientFk, // Cliente
|
||||
custFeature2: consultaSql[i].agencyFk, // Agencia de transporte
|
||||
custFeature3: 0, // Luz LED
|
||||
custFeature4: consultaSql[i].workerFk, // Trabajador
|
||||
custFeature5: consultaSql[i].wagon, // Trabajador
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -64,7 +62,7 @@ function insertTicket(consultaSql, shelving) {
|
|||
'Authorization': key
|
||||
}
|
||||
});
|
||||
insertTicketDB.insertTicket(consultaSql[i].Ticket, shelving[consultaSql[i].Wagon - 1], consultaSql[i].Level.toString().charAt(j));
|
||||
insertTicketDB.insertTicket(consultaSql[i].ticketFk, consultaSql[i].shelvingFk, consultaSql[i].level);
|
||||
console.log(i, body);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,12 +38,14 @@ function insertFlash(consultaSql) {
|
|||
{
|
||||
attrCategory: 'verdnatura',
|
||||
attrName: 'conTicket',
|
||||
barCode: consultaSql[i].Shelving + consultaSql[i].Level, // Matricula + nivel
|
||||
barCode: consultaSql[i].shelvingFk + consultaSql[i].level, // Matricula + nivel
|
||||
itemTitle: 'Etiqueta Con ticket',
|
||||
productCode: consultaSql[i].Ticket, // Ticket
|
||||
custFeature1: consultaSql[i].Client, // Client
|
||||
custFeature2: consultaSql[i].Agency, // Agencia de transporte
|
||||
custFeature3: 1 // Valor luz led
|
||||
productCode: consultaSql[i].ticketFk, // Ticket
|
||||
custFeature1: consultaSql[i].clientFk, // Cliente
|
||||
custFeature2: consultaSql[i].agencyFk, // Agencia de transporte
|
||||
custFeature3: 1, // Valor luz led
|
||||
custFeature4: consultaSql[i].workerFk, // Trabajador
|
||||
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -2,7 +2,7 @@ const express = require('express');
|
|||
const router = express.Router(); // eslint-disable-line
|
||||
|
||||
router.get('/:collectionFk', async(req, res) => {
|
||||
const maxWagon = require('../db/maxWagon');
|
||||
const maxWagon = require('../db/maxWagon__');
|
||||
// var collectionFk = '273449';
|
||||
const collectionFk = req.params.collectionFk;
|
||||
maxWagon.maxWagon(collectionFk, function(err, max) {
|
|
@ -9,7 +9,7 @@ exports.dataLogIn = dataLogIn;
|
|||
|
||||
con.con.connect(function(err) {});
|
||||
|
||||
app.use('/getNumShelving', require('./methods/setCollection'));
|
||||
app.use('/getNumShelving', require('./methods/setCollection__'));
|
||||
app.use('/insertTicket', require('./methods/bindTicketShelving'));
|
||||
app.use('/bindShelving', require('./methods/bindShelvingTag'));
|
||||
app.use('/flashOn', require('./methods/flashOn'));
|
||||
|
@ -17,6 +17,3 @@ app.use('/flashOn', require('./methods/flashOn'));
|
|||
app.listen(port, () => {
|
||||
console.log(`Example app listening at http://localhost:${port}`);
|
||||
});
|
||||
|
||||
// hola
|
||||
// ijasdisdji
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
function isBarcode(toFilter) {
|
||||
function isSmartTag(toFilter) {
|
||||
const exp = /^A0A3B82[A-F0-9]{5}$/;
|
||||
return exp.test(toFilter);
|
||||
}
|
||||
|
@ -20,5 +20,5 @@ function isShelving(toFilter) {
|
|||
else
|
||||
return true;
|
||||
}
|
||||
exports.isBarcode = isBarcode;
|
||||
exports.isSmartTag = isSmartTag;
|
||||
exports.isShelving = isShelving;
|
||||
|
|
Reference in New Issue