feat(quality): priority ranking added
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import { differenceInMinutes } from "date-fns";
|
||||
import { eq, sql } from "drizzle-orm";
|
||||
import { priority } from "st-ethernet-ip/dist/enip/cip/connection-manager/index.js";
|
||||
import { db } from "../../../../database/dbclient.js";
|
||||
import { qualityRequest } from "../../../../database/schema/qualityRequest.js";
|
||||
import { timeZoneFix } from "../../../globalUtils/timeZoneFix.js";
|
||||
@@ -39,11 +40,13 @@ export const addNewPallet = async (data: any) => {
|
||||
const palletData: any = c;
|
||||
// if the pallet exist then tell the user to check on it
|
||||
const pStatus = [1, 4, 6];
|
||||
if (palletData && pStatus.includes(palletData[0]?.palletStatus)) {
|
||||
return {
|
||||
success: false,
|
||||
message: `Running number ${data.runningNr} is already pending or reactivated please follow up with the warehouse team on status to be moved.`,
|
||||
};
|
||||
if (!data.priority) {
|
||||
if (palletData && pStatus.includes(palletData[0]?.palletStatus)) {
|
||||
return {
|
||||
success: false,
|
||||
message: `Running number ${data.runningNr} is already pending or reactivated please follow up with the warehouse team on status to be moved.`,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// update the existing pallet if already in the system
|
||||
@@ -61,25 +64,36 @@ export const addNewPallet = async (data: any) => {
|
||||
data: pe,
|
||||
};
|
||||
}
|
||||
const pData = {
|
||||
warehouseAtRequest: p[0].warehouseAtRequest,
|
||||
locationAtRequest: p[0].locationAtRequest,
|
||||
warehouseMovedTo: null,
|
||||
locationMovedTo: null,
|
||||
palletStatus: data.palletStatusText === "return" ? 6 : 4,
|
||||
//durationToMove: 0,
|
||||
palletStatusText:
|
||||
data.palletStatusText === "return" ? "return" : "reactivated",
|
||||
qualityDurationToInspect:
|
||||
data.palletStatusText === "return"
|
||||
? differenceInMinutes(new Date(Date.now()), p[0].lastMove)
|
||||
: 0,
|
||||
locationDropOff:
|
||||
data.palletStatusText === "return" ? "Return to warhouse" : "",
|
||||
palletRequest: palletData[0].palletStatus + 1,
|
||||
upd_user: data.user,
|
||||
upd_date: sql`NOW()`,
|
||||
};
|
||||
|
||||
let pData = {};
|
||||
|
||||
if (data.priority) {
|
||||
pData = {
|
||||
priority: data.priority,
|
||||
upd_user: data.user,
|
||||
upd_date: sql`NOW()`,
|
||||
};
|
||||
} else {
|
||||
pData = {
|
||||
warehouseAtRequest: p[0].warehouseAtRequest,
|
||||
locationAtRequest: p[0].locationAtRequest,
|
||||
warehouseMovedTo: null,
|
||||
locationMovedTo: null,
|
||||
palletStatus: data.palletStatusText === "return" ? 6 : 4,
|
||||
//durationToMove: 0,
|
||||
palletStatusText:
|
||||
data.palletStatusText === "return" ? "return" : "reactivated",
|
||||
qualityDurationToInspect:
|
||||
data.palletStatusText === "return"
|
||||
? differenceInMinutes(new Date(Date.now()), p[0].lastMove)
|
||||
: 0,
|
||||
locationDropOff:
|
||||
data.palletStatusText === "return" ? "Return to warhouse" : "",
|
||||
palletRequest: palletData[0].palletStatus + 1,
|
||||
upd_user: data.user,
|
||||
upd_date: sql`NOW()`,
|
||||
};
|
||||
}
|
||||
|
||||
const { data: u, error } = await tryCatch(
|
||||
db
|
||||
|
||||
@@ -1,25 +1,28 @@
|
||||
import { desc } from "drizzle-orm";
|
||||
import { asc, desc } from "drizzle-orm";
|
||||
import { db } from "../../../../database/dbclient.js";
|
||||
import { qualityRequest } from "../../../../database/schema/qualityRequest.js";
|
||||
import { tryCatch } from "../../../globalUtils/tryCatch.js";
|
||||
import qualityBlockingMonitor from "../../notifications/controller/notifications/qualityBlocking.js";
|
||||
|
||||
export const getRequest = async () => {
|
||||
const { data, error } = await tryCatch(
|
||||
db.select().from(qualityRequest).orderBy(desc(qualityRequest.add_date))
|
||||
);
|
||||
const { data, error } = await tryCatch(
|
||||
db
|
||||
.select()
|
||||
.from(qualityRequest)
|
||||
.orderBy(asc(qualityRequest.priority), asc(qualityRequest.add_date)),
|
||||
);
|
||||
|
||||
if (error) {
|
||||
return {
|
||||
success: false,
|
||||
message: "There was an error getting the quality request",
|
||||
data: error,
|
||||
};
|
||||
}
|
||||
if (error) {
|
||||
return {
|
||||
success: false,
|
||||
message: "There was an error getting the quality request",
|
||||
data: error,
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
success: true,
|
||||
message: "Quality request pallets.",
|
||||
data,
|
||||
};
|
||||
return {
|
||||
success: true,
|
||||
message: "Quality request pallets.",
|
||||
data,
|
||||
};
|
||||
};
|
||||
|
||||
@@ -105,7 +105,7 @@ export const qualityCycle = async () => {
|
||||
);
|
||||
} else {
|
||||
createLog(
|
||||
"info",
|
||||
"debug",
|
||||
"lst",
|
||||
"quality",
|
||||
`Pallet ${
|
||||
@@ -119,7 +119,7 @@ export const qualityCycle = async () => {
|
||||
}
|
||||
await delay(150);
|
||||
} else {
|
||||
createLog("info", "lst", "quality", "nothing to update");
|
||||
//createLog("info", "lst", "quality", "nothing to update");
|
||||
}
|
||||
},
|
||||
5 * 60 * 1000,
|
||||
|
||||
Reference in New Issue
Block a user