5130-arc_counter #2
|
@ -4,6 +4,7 @@ ip: 1.2.3.4
|
|||
env: dev
|
||||
interval: 1000
|
||||
reconnectInterval: 5000
|
||||
counterInterval: 1000
|
||||
db:
|
||||
host: host
|
||||
port: 3307
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
import con from '../db/connect.js';
|
||||
|
||||
export default async(size, arcId) => {
|
||||
await con.query(`
|
||||
UPDATE vn.arcRead
|
||||
SET counter = ?
|
||||
WHERE id = ?;
|
||||
`, [size, arcId]);
|
||||
};
|
|
@ -1,10 +1,6 @@
|
|||
import con from '../db/connect.js';
|
||||
|
||||
export default async(rfids, arcId) => {
|
||||
const codes = new Set();
|
||||
for (let rfid of rfids)
|
||||
codes.add(rfid.code);
|
||||
|
||||
console.logger.info('PRINTING...');
|
||||
|
||||
const palletId = await con.query(`CALL vn.expeditionPallet_build(JSON_ARRAY(?), ?, ?, @palletId);`, [Array.from(codes), arcId, null]);
|
||||
alexm marked this conversation as resolved
Outdated
|
||||
|
|
|
@ -2,7 +2,9 @@ export default async data => {
|
|||
data = data.toString();
|
||||
const crudeRfids = data.split('\n');
|
||||
|
||||
const rfidsParsed = [];
|
||||
const rfidsParsed = new Set();
|
||||
const rfidsParsedExtended = [];
|
||||
|
||||
for (let crudeRfid of crudeRfids) {
|
||||
if (crudeRfid && /{.*:{.*:.*}}/.test(crudeRfid)) {
|
||||
const jsonResult = JSON.parse(crudeRfid);
|
||||
|
@ -21,9 +23,10 @@ export default async data => {
|
|||
antenna: jsonResult.tagInventoryEvent.antennaPort
|
||||
};
|
||||
|
||||
rfidsParsed.add(rfidParsed.code);
|
||||
rfidsParsed.push(rfidParsed);
|
||||
}
|
||||
}
|
||||
|
||||
return rfidsParsed;
|
||||
return {codes: rfidsParsed, extended: rfidsParsedExtended};
|
||||
};
|
||||
|
|
|
@ -1,28 +1,30 @@
|
|||
import got from 'got';
|
||||
import rfidParser from './rfidParser.js';
|
||||
import newPallet from './newPallet.js';
|
||||
import debug from '../util/streamDebug.js';
|
||||
import counter from './counter.js';
|
||||
|
||||
let interval;
|
||||
|
||||
export default async(conf, cb) => {
|
||||
let rfidbuffer = [];
|
||||
let rfidbufferSet = [new Set(), new Set(), new Set(), new Set()];
|
||||
let rfidbuffer = new Set();
|
||||
let rfidbufferExtend = [];
|
||||
|
||||
const counterInterval = setInterval(counter, conf.counterInterval, rfidbuffer.size, conf.arcId);
|
||||
const stream = got.stream(`http://${conf.ip}/api/v1/data/stream`);
|
||||
|
||||
stream
|
||||
.on('data', async value => {
|
||||
const parsed = await rfidParser(value);
|
||||
rfidbuffer = new Set([...rfidbuffer, ...parsed.codes]);
|
||||
alexm marked this conversation as resolved
Outdated
juan
commented
Has oblidat llevar este console.log? Plenara el log del servidor de ruido Has oblidat llevar este console.log? Plenara el log del servidor de ruido
|
||||
rfidbufferExtend = rfidbufferExtend.concat(parsed.extended);
|
||||
|
||||
if (parsed)
|
||||
rfidbuffer = rfidbuffer.concat(parsed);
|
||||
debug(rfidbuffer, rfidbufferExtend);
|
||||
|
||||
debug(parsed);
|
||||
|
||||
if (rfidbuffer && rfidbuffer.length && parsed && parsed.length) {
|
||||
clearInterval(interval);
|
||||
if (rfidbuffer.size) {
|
||||
clearTimeout(interval);
|
||||
interval = null;
|
||||
interval = setInterval(createPallet, conf.interval);
|
||||
interval = setTimeout(createPallet, conf.interval);
|
||||
}
|
||||
})
|
||||
.on('error', e => {
|
||||
|
@ -30,34 +32,12 @@ export default async(conf, cb) => {
|
|||
});
|
||||
|
||||
function createPallet() {
|
||||
clearInterval(interval); // try remove
|
||||
if (!rfidbuffer.length) return;
|
||||
clearTimeout(interval); // try remove
|
||||
clearInterval(counterInterval); // try remove
|
||||
|
||||
newPallet(rfidbuffer, conf.arcId);
|
||||
rfidbuffer = [];
|
||||
rfidbufferSet = [new Set(), new Set(), new Set(), new Set()];
|
||||
}
|
||||
|
||||
function debug(parsed) {
|
||||
if (conf.env != 'dev') return;
|
||||
let totalBuffer = rfidbuffer.map(rfid => rfid.code);
|
||||
let totalBufferSet = new Set(totalBuffer);
|
||||
console.log('TOTAL BUFFER: ', totalBufferSet.size);
|
||||
|
||||
const totalRead = [0, 0, 0, 0];
|
||||
for (let buffer of rfidbuffer)
|
||||
totalRead[buffer.antenna - 1]++;
|
||||
console.log('TOTAL READ ANTENNA:', totalRead);
|
||||
|
||||
for (let buffer of parsed)
|
||||
rfidbufferSet[buffer.antenna - 1].add(buffer.code);
|
||||
console.log('UNIQUE READ ANTENNA:', rfidbufferSet[0].size, rfidbufferSet[1].size, rfidbufferSet[2].size, rfidbufferSet[3].size);
|
||||
for (const [index, set] of rfidbufferSet.entries()) {
|
||||
if (((set.size * 100) / totalBufferSet.size) < 25)
|
||||
console.log('[WARNING_ANTENNA]: ', index + 1, ' ONLY ', set.size);
|
||||
}
|
||||
|
||||
console.log('----------------------------------------------------------------');
|
||||
rfidbuffer = new Set();
|
||||
rfidbufferExtend = [];
|
||||
}
|
||||
};
|
||||
|
||||
50;
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
export default parsed => {
|
||||
if (conf.env != 'dev') return;
|
||||
|
||||
// TOTAL
|
||||
console.log('TOTAL BUFFER: ', parsed.codes.size);
|
||||
|
||||
// TOTAL READS BY ANTENNA
|
||||
const totalRead = [0, 0, 0, 0];
|
||||
for (let read of parsed.extended)
|
||||
totalRead[read.antenna - 1]++;
|
||||
console.log('TOTAL READ ANTENNA:', totalRead);
|
||||
|
||||
// UNIQUE READS BY ANTENNA
|
||||
const uniqueRead = [new Set(), new Set(), new Set(), new Set()];
|
||||
for (let read of parsed.extended)
|
||||
uniqueRead[read.antenna - 1].add(read.code);
|
||||
console.log('UNIQUE READ ANTENNA:', uniqueRead[0].size, uniqueRead[1].size, uniqueRead[2].size, uniqueRead[3].size);
|
||||
|
||||
// WARNING IF AN ANTENNA READS LESS THAN IT SHOULD
|
||||
for (const [index, set] of uniqueRead.entries()) {
|
||||
if (((set.size * 100) / parsed.codes.size) < 25)
|
||||
console.log('[WARNING_ANTENNA]: ', index + 1, ' ONLY ', set.size);
|
||||
}
|
||||
|
||||
console.log('----------------------------------------------------------------');
|
||||
};
|
Loading…
Reference in New Issue
Que traduzca el error tambien