Files
lst/scripts/FinanceProcess/consumePalletsToLot copy.mjs
2026-02-03 15:40:51 -06:00

89 lines
3.0 KiB
JavaScript

import net from "net";
/**
* This uses a kinda fake scanner to mimic the scanning process to a server and creates the bol.
*/
const scannerID = "98@";
const scannerCommand = "Alplaprodcmd112"; // to consume all the pallets
const lot = "AlplaPRODchg#00000016706"; // to consume to the lot make sure its showing in 2.0 to be able to consume to it
const labels = [
"1000000000000000000000000000000005106656",
"1000000000000000000000000000000005106386",
"1000000000000000000000000000000005106446",
"1000000000000000000000000000000005106326",
"1000000000000000000000000000000005105726",
"1000000000000000000000000000000005106056",
"1000000000000000000000000000000005106256",
"1000000000000000000000000000000005105836",
"1000000000000000000000000000000005105986",
"1000000000000000000000000000000005105506",
"1000000000000000000000000000000005106136",
"1000000000000000000000000000000005105696",
"1000000000000000000000000000000005105426",
"1000000000000000000000000000000005105916",
"1000000000000000000000000000000005105216",
"1000000000000000000000000000000005105416",
"1000000000000000000000000000000005105196",
"1000000000000000000000000000000005105226",
"1000000000000000000000000000000005105816",
"1000000000000000000000000000000005110186",
"1000000000000000000000000000000005110256",
"1000000000000000000000000000000005109926",
"1000000000000000000000000000000005110096",
"1000000000000000000000000000000005110026",
"1000000000000000000000000000000005110036",
"1000000000000000000000000000000005109716",
"1000000000000000000000000000000005110006",
"1000000000000000000000000000000005109446",
"1000000000000000000000000000000005109606",
"1000000000000000000000000000000005109076",
];
const STX = "\x02";
const ETX = "\x03";
const scanner = new net.Socket();
scanner.connect(50000, "10.204.0.26", async () => {
console.log("Connected to scanner");
// change the scanner to the to 112
let message = Buffer.from(
`${STX}${scannerID}${scannerCommand}${ETX}`,
"ascii",
);
console.log("Sending:", message.toString("ascii"));
scanner.write(message);
await new Promise((resolve) => setTimeout(resolve, 2000));
// consume all the pallets in the array
await new Promise((resolve) => setTimeout(resolve, 2000));
for (let i = 0; i < labels.length; i++) {
const l = labels[i];
// trigger the lot
let message = Buffer.from(`${STX}${scannerID}${lot}${ETX}`, "ascii");
console.log("Sending:", message.toString("ascii"));
scanner.write(message);
message = Buffer.from(`${STX}${scannerID}${l}${ETX}`, "ascii");
console.log("Sending:", message.toString("ascii"));
scanner.write(message);
await new Promise((resolve) => setTimeout(resolve, 1200));
}
await new Promise((resolve) => setTimeout(resolve, 1500));
scanner.destroy();
});
scanner.on("data", async (data) => {
console.log("Response:", data.toString("ascii"));
});
scanner.on("close", () => {
console.log("Connection closed");
});
scanner.on("error", (err) => {
console.error("Scanner error:", err);
});