feat(rfid): more rfid topics while monitoring the system run

This commit is contained in:
2025-07-10 20:09:35 -05:00
parent 58711becf2
commit 6a082d9737
10 changed files with 87 additions and 12 deletions

View File

@@ -11,12 +11,15 @@ import { sendEmail } from "../../../notifications/controller/sendMail.js";
import { tryCatch } from "../../../../globalUtils/tryCatch.js";
import { db } from "../../../../../database/dbclient.js";
import { rfidTags } from "../../../../../database/schema/rfidTags.js";
import { eq } from "drizzle-orm";
import { and, eq, gte, ne, sql } from "drizzle-orm";
import { rfidReaders } from "../../../../../database/schema/rfidReaders.js";
import { shouldSkipByCooldown } from "../../utils/rateLimit.js";
export const wrapperStuff = async (tagData: any) => {
console.log("WrapperTag", tagData[0].tag);
if (shouldSkipByCooldown("wrapperDouble Scan", 10)) return;
// update the reader with the last tag read.
const { error } = await tryCatch(
db
.update(rfidReaders)
@@ -53,8 +56,21 @@ export const wrapperStuff = async (tagData: any) => {
monitorChecks();
}
const { data: tagdata, error: tagError } = await tryCatch(
db.select().from(rfidTags).where(eq(rfidTags.tag, tagData[0].tag))
db
.select()
.from(rfidTags)
.where(
and(
eq(rfidTags.tag, tagData[0].tag),
gte(
rfidTags.lastRead,
sql.raw(`NOW() - INTERVAL '6 hours'`)
),
ne(rfidTags.lastareaIn, "wrapper1")
)
)
);
console.log("DB Data:", tagdata);
if (tagError) {
return {
success: false,
@@ -136,10 +152,12 @@ export const wrapperStuff = async (tagData: any) => {
const genlabel = await labelingProcess({
line: lineNum.toString(),
});
console.log(genlabel);
if (genlabel?.success) {
const createPrintData = {
...tagData[0],
runnungNr: parseInt(genlabel.data?.SSCC.slice(10, -1)),
runnungNumber: parseInt(genlabel.data?.SSCC.slice(10, -1)),
};
tagStuff([createPrintData]);