// import cron from "node-cron"; // import {runQuery, prisma, totalInvNoRn, activeArticle, getShiftTime, historicalInv} from "database"; // import {createLog} from "logging"; // import {deleteHistory} from "./deleteHistory.js"; // export const historyInv = async (date) => { // //console.log(date); // if (!date) { // return `Missing Data`; // } // // date should be sent over as a string IE: 2024-01-01 // let inv = []; // try { // inv = await prisma.historyInventory.findMany({where: {histDate: date}}); // console.log(inv.length); // // if the date returns nothing we need to pull the historical data // if (inv.length === 0) { // const result = await prisma.settings.findFirst({where: {name: "plantToken"}}); // try { // const plantUpdate = historicalInv.replaceAll("test1", result.value); // const queryDate = plantUpdate.replaceAll("[date]", date); // inv = await runQuery(queryDate, "Get histical inv"); // return inv; // } catch (error) { // createLog("general/eom", "error", "There was an error getting the historical inv."); // return error; // } // } else { // return inv; // } // //return inv; // } catch (error) { // console.log(error); // return error; // } // }; // // start the cron job for getting the hostrical inv based on the plants shift time // export const startCronHist = () => { // let shiftTime = ["06", "00", "00"]; // const startProcess = async () => { // let inv = []; // let articles = []; // let plantToken = "test1"; // const date = new Date(); // const dateString = date.toISOString().split("T")[0]; // date.setDate(date.getDate() - 30); // const oldDate = date.toISOString().split("T")[0]; // // checking if even need to run this // // before adding more make sure we dont already have data // const checkInv = await prisma.historyInventory.findFirst({where: {histDate: dateString}}); // if (checkInv) { // createLog( // "general/eom", // "warn", // `There seems to already be inventory added for ${dateString}, no new data will be added` // ); // return; // } // // get plant token // try { // const result = await prisma.settings.findFirst({where: {name: "plantToken"}}); // plantToken = result.value; // } catch (error) { // createLog("general/eom", "error", "failed to get planttoken"); // } // //get shift time // try { // const result = await runQuery(getShiftTime.replaceAll("test1", plantToken), "GettingShift time"); // shiftTime = result[0].shiftStartTime.split(":"); // } catch (error) { // createLog("general/eom", "error", `Error running getShift Query: ${error}`); // } // // get inventory // try { // const result = await runQuery(totalInvNoRn.replaceAll("test1", plantToken), "getting inventory"); // inv = result; // } catch (error) { // createLog("general/eom", "error", `Error running get inventory Query: ${error}`); // } // // get active articles // try { // const result = await runQuery(activeArticle.replaceAll("test1", plantToken), "Get active articles"); // articles = result; // } catch (error) { // createLog("general/eom", "error", `Error running get article: ${error}`); // } // //add the inventory to the historical table // try { // let hist = Object.entries(inv).map(([key, value]) => { // // remove the values we dont want in the historical view // const {total_Pallets, avalible_Pallets, coa_Pallets, held_Pallets, ...histData} = value; // // get av tyep // const avType = articles.filter((a) => (a.IdArtikelvarianten = inv[key].av))[0].TypeOfMaterial; // // add in the new fields // const hist = { // ...histData, // histDate: dateString, //new Date(Date.now()).toISOString().split("T")[0], // avType, // }; // return hist; // }); // try { // const addHistData = await prisma.historyInventory.createMany({data: hist}); // createLog( // "general/eom", // "info", // `${addHistData.count} were just added to the historical inventory for date ${dateString}` // ); // } catch (error) { // createLog("general/eom", "error", `Adding new historical inventory error: ${error}`); // } // // delete the older inventory // deleteHistory(oldDate); // } catch (error) { // createLog("general/eom", "error", `Adding new historical inventory error: ${error}`); // } // }; // // actaully run the process once after restaart just to make sure we have inventory // startProcess(); // // setup the cron stuff // const startHour = shiftTime[0]; // const startMin = shiftTime[1]; // createLog("general/eom", "info", `Historical Data will run at ${shiftTime[0]}:${shiftTime[1]} daily`); // cron.schedule(`${startMin} ${startHour} * * *`, () => { // createLog("general/eom", "info", "Running historical invnetory."); // startProcess(); // }); // };