PmJob (Periodieke onderhoudsjob)
De PmJob-entiteit is een onderdeel van een PmWorkOrder (PO-model). Elk PO-model bevat een of meerdere PmJobs die de daadwerkelijke werkzaamheden beschrijven. Bij het genereren van een werkorder wordt per PmJob een job aangemaakt.
Entiteitsnaam: PmJob
Databasetabel: PmJob
Primaire sleutel: PMJPMWID + PMJID (composiet: PmWorkOrder + LineId)
Contextsbewerken
| Value | Naam | Beschrijving |
|---|---|---|
| 0 | PmJobContext.None | Standaard |
| 1 | PmJobContext.Standard | Standaard |
| 2 | PmJobContext.Instrument | Instrument |
| 4 | PmJobContext.CourseRoute | Looproute |
| 8 | PmJobContext.ChangeTemplate | Wijzigingssjabloon |
| 16 | PmJobContext.Building | Gebouw |
| 32 | PmJobContext.Fleet | Fleet |
| 128 | PmJobContext.BuildingCourseRoute | Looproute gebouw |
| 256 | PmJobContext.InfraCourseRoute | Looproute Infra |
| 1024 | PmJobContext.PeriodicActivityChild | PO-model |
| 32768 | PmJobContext.Infra | Infra |
| 131072 | PmJobContext.IT | IT |
Belangrijkste propertiesbewerken
| Property | Type | Kolom | Omschrijving |
|---|---|---|---|
| Id.PmWorkOrder | PmWorkOrder | PMJPMWID | Bovenliggend PO-model |
| Id.LineId | UltimoString(3) | PMJID | Regelnummer |
| Description | UltimoString(200) | PMJDESCR | Omschrijving |
| Hours | Decimal | PMJHOURS | Geplande uren |
| PlannedHours | Decimal | PMJPLANHOURS | Geplande uren (totaal) |
| DurationCalculated | Decimal | PMJDURATIONCALC | Doorlooptijd |
| Delay | Decimal | PMJDELAY | Vertraging (offset in dagen) |
| Activity | Activity | PMJACTID | Activiteit |
| Employee | Employee | PMJEMPID | Medewerker |
| Craftsman | Craftsman | PMJCRMID | Vakman |
| Equipment | Equipment | PMJEQMID | Equipment |
| ProcessFunction | ProcessFunction | PMJPRFID | Procesfunctie |
| JobPlan | JobPlan | PMJJPID | Werkplan |
| WorkOrderType | WorkOrderType | PMJWOTID | Werkordertype |
| Priority | Priority | PMJPRIID | Prioriteit |
| Department | Department | PMJDEPID | Afdeling |
| CostCenter | CostCenter | PMJCCRID | Kostenplaats |
| DowntimeRequired | Boolean | PMJDOWNTIMEREQUIRED | Stilstand vereist |
| LockoutTagoutApplicable | Boolean | PMJLOTOAPPLICABLE | LOTO van toepassing |
| StopRelated | Boolean | PMJSTOPRELATED | Stopgerelateerd |
| UseStandardJobPlan | Boolean | PMJUSESTDJP | Standaard werkplan gebruiken |
| TotalCalculated | CompanyMoney | PMJTOTALCALC | Totale berekende kosten |
Functionaliteit & property-gedragbewerken
PmJob-properties worden deels handmatig ingesteld door de planner en deels automatisch gevuld door workflows bij het goedkeuren van het PO-model of het genereren van jobs. Onderstaande paragrafen beschrijven het gedrag van de meest relevante velden; gebruik lookup_property_usage("PmJob", "<property>") voor de volledige lijst en lookup_workflow("<naam>") voor de XML.
Status— de levenscyclus van de PO-taak —Statuswordt door 12 workflows geschreven. De kernstroom is:PmWorkOrder_PostApprovekeurt alle openstaande PmJobs goed (PmJobStatus.Approved) als de instellingPmWorkOrder.ApprovePmJobs = Trueof het PO-model tot een groep behoort.PmWorkOrder_PostReopenzet goedgekeurde PmJobs terug naarCreatedbij heropening van het PO-model. Bij wijziging van het MaintenanceClassification schrijftEquipment_ChangeMaintenanceClassification_IndividualPMIsFalsede status rechtstreeks.PmJob_PostImportstelt de status na een import in. Het statusfilter van 18 workflows maaktStatustot de meest gefilterde property van PmJob — gebruik de status altijd als eerste filter bij GetList-queries op PmJobs.JobPlan— de blauwdruk voor de gegenereerde job — Geschreven doorJobPlan_PreDelete(leegmaken bij verwijdering van het werkplan).PmJob_PreApprove_Validatevalideert dat een werkplan aanwezig is wanneerUseStandardJobPlan = True, en dat hetJobPlan.DowntimeRequiredovereenkomt metPmJob.DowntimeRequired.PmWorkOrder_CreateJobsleestJobPlanbij de job-generatie om materialen, resources, gereedschappen en taken op de nieuwe job te zetten. Consultanttip: bij gebruik vanUseStandardJobPlan = Truewordt het standaard werkplan van het equipmenttype gebruikt in plaats van het hier gekoppelde werkplan — controleer welk pad actief is vóór goedkeuring.UseStandardJobPlan— overschakelen naar standaard werkplan — Geschreven doorActionField705(interactief),PmJobJobPlan_CreatePmJobJobPlanForJobPlanAndPmJobenPmJobJobPlan_PreDelete.PmJob_PreApprove_ValidateenWorkOrder_CreateJobSecondWaylezen deze vlag om te bepalen welk werkplan bij generatie wordt toegepast. AlsUseStandardJobPlan = Truewordt het JobPlan van het gekoppelde equipment- of procesfunctietype gekozen; bijFalsegeldt het expliciet ingesteldeJobPlan. De vlag is dus bepalend voor of aanpassingen aan het werkplan via het equipmenttype automatisch doorsijpelen.DowntimeRequired— stilstandbeheer — Wordt doorActionField1624enPmJobJobPlan_CreatePmJobJobPlanForJobPlanAndPmJobgeschreven.PmJob_PreApprove_Validatevalideert de consistentie met het gekoppelde werkplan: alsDowntimeRequired = Falseop de PmJob staat maar het werkplan wél stilstand vereist, blokkeert de validatie de goedkeuring.ActionField1625toont een waarschuwing op basis van deze vlag. Correct instellen vanDowntimeRequiredis cruciaal bij de planning van stoprelevante onderhoudstaken.Description— ingevuld bij goedkeuring — Geschreven doorPmJob_PreApproveenPmWorkOrder_PostApprove. Bij looproute-contexten (CourseRoute, BuildingCourseRoute, InfraCourseRoute) overschrijftPmWorkOrder_PostApprovedeDescriptionmet de omschrijving van het bovenliggende PO-model. Dit zorgt voor consistente benamingen in de gegenereerde looproute-jobs zonder handmatige aanpassing per PmJob.DelayenDurationCalculated— timing-offset van de job — Beide geschreven doorPmJob_ConvertDurationFromDaysToHours.Delayslaat de offset op in dagen die een job na de planningstrigger moet starten (bijv. PmJob 2 start 7 dagen na PmJob 1).DurationCalculatedbevat de omgezette doorlooptijd in uren nadat de conversie van dagen naar uren is uitgevoerd. De vlagConvertedDurationToHours(ook geschreven/gelezen doorPmJob_ConvertDurationFromDaysToHours) voorkomt dubbele conversie.ReopenedAutomatically— heropening door equipment-wijziging — Wordt doorEquipment_ReopenPMAndTrashInspectionLinesopTruegezet wanneer het equipment heractivering triggert, en doorPmJob_PostApprovedbij het goedkeuren van de PmJob.Equipment_ApprovePMAndUnTrashInspectionLinesfiltert op deze vlag om te bepalen welke PmJobs heractivering behoeven. Via deze vlag is het traceerbaar welke PmJobs door een automatische trigger zijn heropend versus handmatige heractivering — relevant bij audits en probleemanalyse.
Het volledige, gegenereerde overzicht van álle PmJob-properties met hun schrijvende/lezende/filterende workflows staat in reference/properties/PmJob.
Statussenbewerken
| Value | Naam | Beschrijving |
|---|---|---|
| -1 | PmJobStatus.Trash | Prullenbak |
| 0 | PmJobStatus.None | Geen |
| 1 | PmJobStatus.Created | Open |
| 2 | PmJobStatus.Approved | Goedgekeurd |
Sub-entiteitenbewerken
PmJobMaterialbewerken
Gepland materiaal op PO-job. PK: PMJMPMWID + PMJMPMJID + PMJMARTID.
| Property | Type | Omschrijving |
|---|---|---|
| Article | Article | Artikel |
| Quantity | Decimal | Hoeveelheid |
| Price | CompanyMoney | Prijs |
| Cost | CompanyMoney | Kosten |
PmJobResourcebewerken
Geplande capaciteit op PO-job. PK: PMJRPMWID + PMJRPMJID + PMJRLINEID.
| Property | Type | Omschrijving |
|---|---|---|
| Craftsman | Craftsman | Vakman |
| Hours | Decimal | Geplande uren |
| Quantity | Decimal | Aantal |
| Tariff | CompanyMoney | Tarief |
Statussen PmJobResource: None (0), Te plannen (4).
Relaties met andere entiteitenbewerken
| Verwijst naar | Omschrijving |
|---|---|
| pm-workorder | Bovenliggend PO-model (PmWorkOrder) |
| job | Gegenereerde werkorder |
| job-plan | Gekoppeld werkplan |
| equipment / process-function | Asset waarop onderhoud plaatsvindt |
| activity | Activiteitscode |
| permit | Sjabloonwerkvergunning |
| lockout-tagout | LOTO-plan |
Tips voor consultantsbewerken
- PO-model structuur: Een PmWorkOrder bevat een of meer PmJobs. Elk genereert een aparte job bij het draaien van de planning.
- Delay-veld: Met
Delaykun je jobs na de planning-trigger laten starten (bijv. 7 dagen na de basisdatum). - UseStandardJobPlan: Als
true, wordt het standaard werkplan van het equipmenttype gebruikt i.p.v. een specifiek werkplan. - Kostenberekening:
TotalCalculatedis de som van materialen, uren, gereedschap en diversen. De deelberekeningen staan inMaterialsCalculated,ResourcesCalculated,ToolsCalculated,ExternalsCalculated. - UseWorkScheduleForPlanning: Bepaalt of bij het berekenen van de jobduur rekening wordt gehouden met het werkrooster.
Brondatabewerken
Let op: De wiki-samenvatting hierboven toont een curated subset van properties en praktische consultant-tips. Voor ground truth (exacte kolomnamen, alle properties, defaults, triggers) gebruik de onderstaande tools.
- Entity-definitie —
lookup_entity("PmJob")· reference/entities/PmJob Alle properties, contexts en statussen. Bron:Entities.xml. - DB-schema —
lookup_table_schema("PmJob")· reference/tables/PmJob Alle DB-kolommen, triggers, computed columns en defaults. Bron:database-schema.json. - Gerelateerde workflows —
find_workflows("", entity="PmJob")Alle Before/After Save events en andere workflow-ActionFields voor PmJob. Bron:workflows.xml. - Property-gebruik —
lookup_property_usage("PmJob", "Status")· reference/properties/PmJob Welke workflowsStatusschrijven, lezen of filteren (12 writers incl.PmWorkOrder_PostApprove,Equipment_ReopenPMAndTrashInspectionLines). Bron:workflows.xml. - Workflow-XML van een vuller —
lookup_workflow("PmWorkOrder_PostApprove")Volledige logica achter het goedkeuren van PmJobs, zetten van de volgende onderhoudsdatum op equipment, en activering vanAutoPmActive. Bron:workflows.xml.
Zie ookbewerken
- pm-workorder - PO-modellen
- job - Werkorders
- job-plan - Werkplannen
- job-material - Materiaalregels
- activity - Activiteiten