Compare commits

...

10 Commits

7 changed files with 61 additions and 16 deletions

View File

@@ -1,6 +1,6 @@
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { fixTime } from "@/utils/fixTime";
import { ColumnDef } from "@tanstack/react-table"; import { ColumnDef } from "@tanstack/react-table";
import { format } from "date-fns-tz";
import { Trash } from "lucide-react"; import { Trash } from "lucide-react";
// This type is used to define the shape of our data. // This type is used to define the shape of our data.
@@ -38,9 +38,11 @@ export const ocpColumns = (
header: "Error Date", header: "Error Date",
cell: ({ row }) => { cell: ({ row }) => {
if (row.getValue("created_at")) { if (row.getValue("created_at")) {
const correctDate = fixTime(row.getValue("created_at")); const correctDate: any = row.getValue("created_at");
const strippedDate = correctDate.replace("Z", ""); // Remove Z
const formattedDate = format(strippedDate, "MM/dd/yyyy HH:mm");
return ( return (
<div className="text-left font-medium">{correctDate}</div> <div className="text-left font-medium">{formattedDate}</div>
); );
} }
}, },

View File

@@ -36,7 +36,7 @@
} }
}, },
"admConfig": { "admConfig": {
"build": 433, "build": 437,
"oldBuild": "backend-0.1.3.zip" "oldBuild": "backend-0.1.3.zip"
}, },
"devDependencies": { "devDependencies": {

View File

@@ -42,7 +42,7 @@ export const labelerTagRead = async (tagData: any) => {
// check the dyco settings // check the dyco settings
const dycoPrint = settingData.filter((n) => n.name === "dycoPrint"); const dycoPrint = settingData.filter((n) => n.name === "dycoPrint");
// Only process if this is a new timestamp within the last 5 seconds // Only process if this is a new timestamp within the last 5 seconds
if (tagTime !== lastProcessedTimestamp && Date.now() - tagTime <= 5000) { if (tagTime !== lastProcessedTimestamp && Date.now() - tagTime <= 8000) {
lastProcessedTimestamp = tagTime; lastProcessedTimestamp = tagTime;
/** /**
* add logic in to see if this is the first time we run this so we return an error to validate we are in sync. * add logic in to see if this is the first time we run this so we return an error to validate we are in sync.

View File

@@ -13,7 +13,7 @@ import { tagStuff } from "../tags/crudTag.js";
export const station3Tags = async (tagData: TagData[]) => { export const station3Tags = async (tagData: TagData[]) => {
/** /**
* Add the new tag to the reader so we know waht was really here * Add the new tag to the reader so we know what was really here
*/ */
const { error } = await tryCatch( const { error } = await tryCatch(
db db
@@ -26,7 +26,7 @@ export const station3Tags = async (tagData: TagData[]) => {
"error", "error",
"rfid", "rfid",
"rfid", "rfid",
`${tagData[0].reader} encountered and error addeding ${tagData[0].tag}.` `${tagData[0].reader} encountered and error adding ${tagData[0].tag}.`
); );
} }
createLog( createLog(

View File

@@ -12,20 +12,41 @@ import { tryCatch } from "../../../../globalUtils/tryCatch.js";
import { db } from "../../../../../database/dbclient.js"; import { db } from "../../../../../database/dbclient.js";
import { rfidTags } from "../../../../../database/schema/rfidTags.js"; import { rfidTags } from "../../../../../database/schema/rfidTags.js";
import { eq } from "drizzle-orm"; import { eq } from "drizzle-orm";
import { rfidReaders } from "../../../../../database/schema/rfidReaders.js";
export const wrapperStuff = async (tagData: any) => { export const wrapperStuff = async (tagData: any) => {
console.log("WrapperTag", tagData[0].tag); console.log("WrapperTag", tagData[0].tag);
const { error } = await tryCatch(
db
.update(rfidReaders)
.set({ lastTagScanned: tagData[0].tag })
.where(eq(rfidReaders.reader, tagData[0].reader))
);
if (error) {
createLog(
"error",
"rfid",
"rfid",
`${tagData[0].reader} encountered and error adding ${tagData[0].tag}.`
);
}
if (tagData.length != 1) { if (tagData.length != 1) {
createLog( createLog(
"error", "error",
"rfid", "rfid",
"rfid", "rfid",
`There are ${tagData.length} tags and this ${tagData[0].reader} only allows 1 tag to create a label.` `There are ${tagData.length} tags and this ${
tagData[0].reader
} only allows 1 tag to create a label: tag ${tagData[0].tag}, ${
tagData[1].tag
}, ${tagData.length === 3 && tagData[2].tag}`
); );
const tag = { ...tagData[0], runningNr: 0 }; const tag = { ...tagData[0], runningNr: 0 };
//tagStuff([tag]); //tagStuff([tag]);
monitorChecks(); monitorChecks();
return;
} else { } else {
if (!tagData) { if (!tagData) {
createLog("error", "rfid", "rfid", `No tagData was grabbed.`); createLog("error", "rfid", "rfid", `No tagData was grabbed.`);
@@ -41,6 +62,21 @@ export const wrapperStuff = async (tagData: any) => {
}; };
} }
const checkTag: any = tagdata; const checkTag: any = tagdata;
if (checkTag.length === 0) {
createLog(
"error",
"rfid",
"rfid",
`${tagData[0].tag} is not currently registered to a line please validate the pallet and manually print.`
);
return {
success: false,
message:
"There is no tag in the system please manually print..",
};
}
if (checkTag[0]?.lastareaIn === "NeedsChecked") { if (checkTag[0]?.lastareaIn === "NeedsChecked") {
createLog( createLog(
"error", "error",
@@ -112,7 +148,7 @@ export const wrapperStuff = async (tagData: any) => {
} }
}; };
const monitorErrorTags: any = []; export const monitorErrorTags: any = [];
const monitorChecks = () => { const monitorChecks = () => {
/** /**
* If we have to check more than 10 tags in an hour send an email to alert everyone. * If we have to check more than 10 tags in an hour send an email to alert everyone.

View File

@@ -29,7 +29,14 @@ export const tagStuff = async (tagData: TagData[]): Promise<any> => {
}; };
try { try {
// insert the tag with the onConflict update the tag // insert the tag with the onConflict update the tag
const tag = await db.insert(rfidTags).values(newTag).returning({ const tag = await db
.insert(rfidTags)
.values(newTag)
.onConflictDoUpdate({
target: rfidTags.tagHex,
set: newTag,
})
.returning({
tag: rfidTags.tag, tag: rfidTags.tag,
runningNumber: rfidTags.runningNumber, runningNumber: rfidTags.runningNumber,
counts: rfidTags.counts, counts: rfidTags.counts,

View File

@@ -54,7 +54,7 @@ app.openapi(
//console.log("Raw value:", body[i].data.peakRssi, "Parsed:", parseInt(body[i].data.peakRssi)); //console.log("Raw value:", body[i].data.peakRssi, "Parsed:", parseInt(body[i].data.peakRssi));
if ( if (
tag.includes("ALPLA") && tag.includes("ALPLA") &&
parseInt(body[i].data.peakRssi) < -50 parseInt(body[i].data.peakRssi) < -40
) { ) {
tagdata = [ tagdata = [
...tagdata, ...tagdata,