diff --git a/lstV2/server/services/notifications/utils/notificationSqlCleanup.ts b/lstV2/server/services/notifications/utils/notificationSqlCleanup.ts new file mode 100644 index 0000000..0f2e98e --- /dev/null +++ b/lstV2/server/services/notifications/utils/notificationSqlCleanup.ts @@ -0,0 +1,85 @@ +import { tryCatch } from "../../../globalUtils/tryCatch.js"; +import { query } from "../../sqlServer/prodSqlServer.js"; +import { + type SqlQuery, + sqlQuerySelector, +} from "../../sqlServer/utils/querySelector.utils.js"; + +const cleanUpQuery = ` +DECLARE @JobName varchar(max) = '[jobName]' +UPDATE msdb.dbo.sysjobs +SET enabled = 0 +WHERE name = @JobName; +`; + +// disable the jobs +const jobNames: string[] = [ + "monitor_$_lots", + "monitor_$_lots_2", + "monitor$lots", + "Monitor_APO", //listen for people to cry this is no longer a thing + "Monitor_APO2", + "Monitor_AutoConsumeMaterials", // TODO: migrate to lst + "Monitor_AutoConsumeMaterials_iow1", + "Monitor_AutoConsumeMaterials_iow2", + "Monitor_BlockedINV_Loc", + "monitor_inv_cycle", + "monitor_inv_cycle_1", + "monitor_inv_cycle_2", + "monitor_edi_import", // TODO: migrate to lst -- for the query select count(*) from AlplaPROD_test3.dbo.T_EDIDokumente (nolock) where /* IdLieferant > 1 and */ add_date > DATEADD(MINUTE, -30, getdate()) + "Monitor_Lot_Progression", + "Monitor_Lots", // TODO: migrate to lst -- this should be the one where we monitor the when a lot is assigned if its missing some data. + "Monitor_MinMax", // TODO:Migrate to lst + "Monitor_MinMax_iow2", + "Monitor_PM", + "Monitor_Purity", + "monitor_wastebookings", // TODO: Migrate + "LastPriceUpdate", // not even sure what this is + "GETLabelsCount", // seems like an old jc job + "jobforpuritycount", // was not even working correctly + "Monitor_EmptyAutoConsumLocations", // not sure who uses this one + "monitor_labelreprint", // Migrated but need to find out who really wants this + "test", // not even sure why this is active + "UpdateLastMoldUsed", // old jc inserts data into a table but not sure what its used for not linked to any other alert + "UpdateWhsePositions3", // old jc inserts data into a table but not sure what its used for not linked to any other alert + "UpdateWhsePositions4", + "delete_print", // i think this was in here for when we was having lag prints in iowa1 + "INV_WHSE_1", // something random i wrote long time ago looks like an inv thing to see aged stuff + "INV_WHSE_2", + "laneAgeCheck", // another strange one thats been since moved to lst + "monitor_blocking_2", + "monitor_blocking", // already in lst + "monitor_min_inv", // do we still want this one? it has a description of: this checks m-f the min inventory of materials based on the min level set in stock + "Monitor_MixedLocations", + "Monitor_PM", + "Monitor_PM2", + "wrong_lots_1", + "wrong_lots_2", + "invenotry check", // spelling error one of my stupids + "monitor_hold_monitor", + "Monitor_Silo_adjustments", +]; + +export const sqlJobCleanUp = async () => { + // running a query to disable jobs that are moved to lst to be better maintained + const sqlQuery = sqlQuerySelector("disableJob.query") as SqlQuery; + + if (!sqlQuery.success) { + console.log("Failed to load the query: ", sqlQuery.message); + return; + } + for (const job of jobNames) { + const { data, error } = await tryCatch( + query( + sqlQuery.query.replace("[jobName]", `${job}`), + `Disabling job: ${job}`, + ), + ); + + if (error) { + console.log(error); + } + + //console.log(data); + } +};