diff --git a/frontend/src/routes/(logistics)/openOrders/index.tsx b/frontend/src/routes/(logistics)/openOrders/index.tsx
new file mode 100644
index 0000000..c0d2930
--- /dev/null
+++ b/frontend/src/routes/(logistics)/openOrders/index.tsx
@@ -0,0 +1,14 @@
+import OpenOrders from "@/components/logistics/warehouse/openOrders";
+import { createFileRoute } from "@tanstack/react-router";
+
+export const Route = createFileRoute("/(logistics)/openOrders/")({
+ component: RouteComponent,
+});
+
+function RouteComponent() {
+ return (
+
+
+
+ );
+}
diff --git a/frontend/src/utils/fixTime.ts b/frontend/src/utils/fixTime.ts
index 277f18a..c5ecd85 100644
--- a/frontend/src/utils/fixTime.ts
+++ b/frontend/src/utils/fixTime.ts
@@ -1,6 +1,17 @@
-import { format } from "date-fns";
+import { addHours, format } from "date-fns";
export const fixTime = (date: any) => {
- const strippedDate = date.replace("Z", ""); // Remove Z
- return format(strippedDate, "MM/dd/yyyy hh:mm a");
+ if (!date) return;
+ // const strippedDate = date?.replace("Z", ""); // Remove Z
+ //return format(strippedDate, "MM/dd/yyyy hh:mm a");
+
+ const rawDate = new Date(date).toISOString();
+ const offsetMinutes = new Date().getTimezoneOffset(); // in minutes
+ const offsetHours =
+ -offsetMinutes / 60 >= 0 ? offsetMinutes / 60 : -offsetMinutes / 60;
+
+ return format(
+ addHours(rawDate, offsetHours).toISOString(),
+ "MM/dd/yyyy hh:mm a"
+ );
};
diff --git a/server/services/rfid/controller/readTags.ts b/server/services/rfid/controller/readTags.ts
index b0003dc..9f594a5 100644
--- a/server/services/rfid/controller/readTags.ts
+++ b/server/services/rfid/controller/readTags.ts
@@ -7,7 +7,6 @@ import { eq } from "drizzle-orm";
const authData = btoa("admin:Zebra123!");
let token: string;
let ip: string;
-
export const readTags = async (reader: string) => {
/**
* Start the read for x seconds then auto stop it
@@ -30,7 +29,7 @@ export const readTags = async (reader: string) => {
ip = readers.find((r) => r.reader === reader)?.readerIP as string;
// start the read
- startRead();
+ startRead(reader, ip);
// start the read
};
@@ -50,7 +49,7 @@ const getReaderToken = async () => {
}
};
-const startRead = async () => {
+const startRead = async (reader: string, ip: string) => {
await getReaderToken();
try {
const res = await axios.put(
@@ -65,17 +64,17 @@ const startRead = async () => {
if (res.status === 200) {
setTimeout(() => {
- stopRead();
- }, 2 * 1000);
+ stopRead(reader, ip);
+ }, 5 * 1000);
}
// stop after 5 seconds
} catch (error: any) {
if (error.response?.data.code === 3) {
- stopRead();
+ stopRead(reader, ip);
setTimeout(() => {
- startRead();
- }, 1000);
+ startRead(reader, ip);
+ }, 2 * 1000);
}
createLog(
"error",
@@ -86,7 +85,7 @@ const startRead = async () => {
}
};
-export const stopRead = async () => {
+export const stopRead = async (reader: string, ip: string) => {
await getReaderToken();
try {
const res = await axios.put(
@@ -101,7 +100,7 @@ export const stopRead = async () => {
"error",
"rfid",
"rfid",
- `There was an error Stopping the read: ${JSON.stringify(error)}`
+ `There was an error Stopping the read on ${reader}`
);
}
};
diff --git a/server/services/rfid/controller/stations/station3.ts b/server/services/rfid/controller/stations/station3.ts
index d86bab0..8f795a4 100644
--- a/server/services/rfid/controller/stations/station3.ts
+++ b/server/services/rfid/controller/stations/station3.ts
@@ -3,11 +3,32 @@
* Phase 2 we will generate a label to be reprinted at staion 4
*/
+import { eq } from "drizzle-orm";
+import { db } from "../../../../../database/dbclient.js";
+import { rfidReaders } from "../../../../../database/schema/rfidReaders.js";
+import { tryCatch } from "../../../../globalUtils/tryCatch.js";
import { createLog } from "../../../logger/logger.js";
import type { TagData } from "../tagData.js";
import { tagStuff } from "../tags/crudTag.js";
export const station3Tags = async (tagData: TagData[]) => {
+ /**
+ * Add the new tag to the reader so we know waht was really here
+ */
+ 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 addeding ${tagData[0].tag}.`
+ );
+ }
createLog(
"info",
"rfid",
diff --git a/server/services/rfid/controller/stations/wrappers.ts b/server/services/rfid/controller/stations/wrappers.ts
index 4062f0a..5aa3227 100644
--- a/server/services/rfid/controller/stations/wrappers.ts
+++ b/server/services/rfid/controller/stations/wrappers.ts
@@ -67,18 +67,19 @@ export const wrapperStuff = async (tagData: any) => {
"rfid",
`${tagData[0].tag}, Did not come from a line please check the pallet and manually print the label.`
);
+ tagStuff(tagData);
monitorChecks();
return {
success: false,
message: `${tagData[0].tag}, Did not come from a line please check the pallet and manually print the label.`,
};
}
- if (lines[0].runningNumber) {
+ if (lines[0]?.runningNumber) {
createLog(
"info",
"rfid",
"rfid",
- `Reprint label ${lines[0].runningNumber}`
+ `Reprint label ${lines[0]?.runningNumber}`
);
} else {
createLog(
@@ -88,7 +89,7 @@ export const wrapperStuff = async (tagData: any) => {
`A new label will be created and linked to this ${tagData[0].tag} tag`
);
const lineNum = parseInt(
- checkTag[0]?.lastareaIn.repalceAll("line3", "")
+ checkTag[0]?.lastareaIn.replace("line3.", "")
);
createLog(
"info",