refactor(dock scanner): more work on dock scanner and semi finished
This commit is contained in:
@@ -6,7 +6,7 @@ export const dockDoorScans = pgTable("dock_door_scans", {
|
||||
id: uuid("id").defaultRandom().primaryKey(),
|
||||
dockId: text("dock_id").notNull(),
|
||||
loadingOrder: text("loading_order").notNull(),
|
||||
loadingUnit: text("loading_Unit").unique(), // can be running number or sscc depending on where it came from
|
||||
loadingUnit: text("loading_Unit"), // can be running number or sscc depending on where it came from
|
||||
loadingUnitStatus: text("loading_unit_status").default("loaded"), // TODO: add enums on the status of each load.
|
||||
message: text("message"), // the response it gave when scanning
|
||||
status: text("status").default("active"), // TODO: add in enums for this
|
||||
|
||||
@@ -16,6 +16,7 @@ r.get("/", async (_, res) => {
|
||||
loadingDateTo: format(addDays(new Date(Date.now()), 3), "yyyy-MM-dd"),
|
||||
states: [
|
||||
1, // planned
|
||||
2, // loading
|
||||
],
|
||||
//isCommissioned: true,
|
||||
},
|
||||
|
||||
@@ -32,13 +32,34 @@ r.post("/", async (req, res) => {
|
||||
})) as any;
|
||||
|
||||
if (orders?.data.errors) {
|
||||
console.log(orders.data.errors);
|
||||
//console.log(orders.data.errors);
|
||||
|
||||
// if (orders.data.errors[0].code === 20) {
|
||||
// await db
|
||||
// .update(dockDoorScanners)
|
||||
// .set({
|
||||
// currentLoadingOrder: "",
|
||||
// upd_date: sql`NOW()`,
|
||||
// upd_user: req.user?.username ?? "lst-dock-system",
|
||||
// })
|
||||
// .where(eq(dockDoorScanners.dockId, validated.dockId));
|
||||
|
||||
// return apiReturn(res, {
|
||||
// success: false,
|
||||
// level: "warn",
|
||||
// module: "dockdoor",
|
||||
// subModule: "loadingOrder",
|
||||
// message: `Loading order: ${validated.loadingOrder} cleared, It was probable completed by a scanner.. or user...`,
|
||||
// data: (orders.data.errors as any) ?? [],
|
||||
// status: 200,
|
||||
// });
|
||||
// }
|
||||
return apiReturn(res, {
|
||||
success: false,
|
||||
level: "error",
|
||||
module: "dockdoor",
|
||||
subModule: "loadingOrder",
|
||||
message: `Failed to finish the order.`,
|
||||
message: `Failed to finish the order: ${orders.data.errors[0].message}`,
|
||||
data: (orders.data.errors as any) ?? [],
|
||||
status: 400,
|
||||
});
|
||||
@@ -48,6 +69,7 @@ r.post("/", async (req, res) => {
|
||||
db
|
||||
.update(dockDoorScans)
|
||||
.set({
|
||||
status: "completed",
|
||||
upd_date: sql`NOW()`,
|
||||
upd_user: req.user?.username ?? "lst-dock-system",
|
||||
})
|
||||
|
||||
@@ -19,13 +19,18 @@ type Data = {
|
||||
|
||||
const postScan = async (data: any) => {
|
||||
try {
|
||||
await db.insert(dockDoorScans).values({
|
||||
dockId: data.dockId,
|
||||
loadingOrder: data.loadingOrder,
|
||||
loadingUnit: data.loadingUnit.sscc ?? data.loadingUnit.runningNo, // can be running number or sscc depending on where it came from
|
||||
loadingUnitStatus: data.loadingUnitStatus, // TODO: add enums on the status of each load.
|
||||
message: data.message, // the response it gave when scanning
|
||||
});
|
||||
const newScan = (await db
|
||||
.insert(dockDoorScans)
|
||||
.values({
|
||||
dockId: data.dockId,
|
||||
loadingOrder: data.loadingOrder,
|
||||
loadingUnit: data.loadingUnit.sscc ?? data.loadingUnit.runningNo, // can be running number or sscc depending on where it came from
|
||||
loadingUnitStatus: data.loadingUnitStatus, // TODO: add enums on the status of each load.
|
||||
message: data.message, // the response it gave when scanning
|
||||
})
|
||||
.returning()) as any;
|
||||
|
||||
emitToRoom(`dockDoorLoading:${data.dockId}`, newScan[0]);
|
||||
} catch (error) {
|
||||
console.log("Error: ", error);
|
||||
}
|
||||
@@ -133,7 +138,7 @@ const loadUnit = async (data: Data) => {
|
||||
loadingUnitStatus: "notLoaded",
|
||||
message: prod?.data.errors[0].message,
|
||||
});
|
||||
emitToRoom(`dockDoorLoading:${data.dockId}`, prod?.data.errors[0]);
|
||||
|
||||
return returnFunc({
|
||||
success: false,
|
||||
level: "error",
|
||||
@@ -158,7 +163,7 @@ const loadUnit = async (data: Data) => {
|
||||
loadingUnitStatus: "loaded",
|
||||
message: emitData.message,
|
||||
});
|
||||
emitToRoom(`dockDoorLoading:${data.dockId}`, emitData as any);
|
||||
|
||||
return returnFunc({
|
||||
success: true,
|
||||
level: "info",
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { desc, eq } from "drizzle-orm";
|
||||
import { db } from "../db/db.controller.js";
|
||||
import { dockDoorScans } from "../db/schema/dockdoor.scans.schema.js";
|
||||
import { logs } from "../db/schema/logs.schema.js";
|
||||
import { ppoRun } from "../warehousing/warehousing.ppooMonitor.js";
|
||||
import { dockDoorScans } from "../db/schema/dockdoor.scans.schema.js";
|
||||
|
||||
type RoomDefinition<T = unknown> = {
|
||||
seed: (limit: number) => Promise<T[]>;
|
||||
@@ -104,10 +104,12 @@ export const roomDefinition: Record<RoomId, RoomDefinition> = {
|
||||
"dockDoorLoading:2": {
|
||||
seed: async (limit) => {
|
||||
console.log(limit);
|
||||
console.log("reseeiding");
|
||||
try {
|
||||
const rows = await db
|
||||
.select()
|
||||
.from(dockDoorScans).where(eq(dockDoorScans.status, "active"))
|
||||
.from(dockDoorScans)
|
||||
.where(eq(dockDoorScans.status, "active"))
|
||||
.orderBy(desc(dockDoorScans.upd_date))
|
||||
.limit(limit);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user