feat(lstv2 move): moved lstv2 into this app to keep them combined and easier to maintain
This commit is contained in:
84
lstV2/server/services/ocme/controller/postRunningNr.ts
Normal file
84
lstV2/server/services/ocme/controller/postRunningNr.ts
Normal file
@@ -0,0 +1,84 @@
|
||||
import { db } from "../../../../database/dbclient.js";
|
||||
import { ocmeData } from "../../../../database/schema/ocme.js";
|
||||
import { createSSCC } from "../../../globalUtils/createSSCC.js";
|
||||
import { createLog } from "../../logger/logger.js";
|
||||
import { query } from "../../sqlServer/prodSqlServer.js";
|
||||
import { labelData } from "../../sqlServer/querys/materialHelpers/labelInfo.js";
|
||||
|
||||
export const postLabelData = async (data: any) => {
|
||||
let newData = data;
|
||||
if (Array.isArray(data)) {
|
||||
newData = {
|
||||
sscc: data[1],
|
||||
areaFrom: data[0],
|
||||
completed: true,
|
||||
};
|
||||
}
|
||||
|
||||
if (newData.sscc && !newData.runningNr) {
|
||||
newData.runningNr = newData.sscc.slice(10, -1);
|
||||
}
|
||||
if (!newData.sscc && !newData.runningNr) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Missing data please try again",
|
||||
data: [],
|
||||
};
|
||||
}
|
||||
let label: any = [];
|
||||
const filterQuery = labelData.replaceAll("[rn]", newData.runningNr);
|
||||
try {
|
||||
const res: any = await query(filterQuery, "Label data");
|
||||
label = res.data;
|
||||
} catch (error) {
|
||||
createLog(
|
||||
"error",
|
||||
"ocme",
|
||||
"ocme",
|
||||
"There was an error getting the labelData"
|
||||
);
|
||||
}
|
||||
|
||||
if (label?.length === 0) {
|
||||
return {
|
||||
success: false,
|
||||
message: "The label you scanned dose not exist in stock.",
|
||||
};
|
||||
}
|
||||
const newPost = {
|
||||
sscc: newData.sscc ? newData.sscc : await createSSCC(newData.runningNr),
|
||||
runningNr: newData.runningNr,
|
||||
completed: newData.completed ? newData.completed : true,
|
||||
lineNum: label[0]?.machineLocation,
|
||||
areaFrom: newData.areaFrom,
|
||||
pickedUp: false,
|
||||
};
|
||||
try {
|
||||
const enterNewData = await db
|
||||
.insert(ocmeData)
|
||||
.values(newPost)
|
||||
.onConflictDoUpdate({ target: ocmeData.runningNr, set: newPost })
|
||||
.returning({
|
||||
sscc: ocmeData.sscc,
|
||||
runningNr: ocmeData.runningNr,
|
||||
areaFrom: ocmeData.areaFrom,
|
||||
lineNum: ocmeData.lineNum,
|
||||
completed: ocmeData.completed,
|
||||
pickedUp: ocmeData.pickedUp,
|
||||
});
|
||||
|
||||
//console.log(enterNewData);
|
||||
return {
|
||||
success: true,
|
||||
message: "Data was posted to ocme info",
|
||||
data: enterNewData,
|
||||
};
|
||||
} catch (error) {
|
||||
//console.log(error);
|
||||
return {
|
||||
success: false,
|
||||
message: "Was not posted",
|
||||
data: [error],
|
||||
};
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user