feat(lstv2 move): moved lstv2 into this app to keep them combined and easier to maintain
This commit is contained in:
68
lstV2/server/services/rfid/controller/stations/station3.ts
Normal file
68
lstV2/server/services/rfid/controller/stations/station3.ts
Normal file
@@ -0,0 +1,68 @@
|
||||
/**
|
||||
* Phase 1 we link the tag to the line only the line3.x where x is the line number
|
||||
* 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 what 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 adding ${tagData[0].tag}.`
|
||||
);
|
||||
}
|
||||
createLog(
|
||||
"info",
|
||||
"rfid",
|
||||
"rfid",
|
||||
`${tagData[0].reader} has a ${tagData[0].tag} will post it :)`
|
||||
);
|
||||
// make sure we only have one tag or dont update
|
||||
if (tagData.length != 1) {
|
||||
createLog(
|
||||
"error",
|
||||
"rfid",
|
||||
"rfid",
|
||||
`There are ${tagData.length} tags, and ${tagData[0].reader} only allows 1 tag to create a label.`
|
||||
);
|
||||
// get tag data
|
||||
|
||||
for (let i = 0; i < tagData.length; i++) {
|
||||
const tag = {
|
||||
...tagData[i],
|
||||
runningNr: 0,
|
||||
lastareaIn: "NeedsChecked",
|
||||
};
|
||||
tagStuff([tag]);
|
||||
}
|
||||
} else {
|
||||
//console.log("Generate the label and link it to the tag.");
|
||||
const tag = { ...tagData[0], runningNr: 0 };
|
||||
const tagdata = await tagStuff([tag]);
|
||||
|
||||
createLog(
|
||||
"debug",
|
||||
"rfid",
|
||||
"rfid",
|
||||
"Generate a label and link it to this tag."
|
||||
);
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user