Plant asset register, preventive maintenance scheduling, breakdown management, spare parts inventory, utilization tracking, and costing.
Plant Maintenance manages batching plants, crushing plants, RMC plants, and other fixed plant assets at construction sites. Preventive maintenance schedules based on operating hours or calendar intervals. Breakdown maintenance tracked with root cause analysis. Spare parts inventory maintained for critical components. Plant utilization and production output tracked for cost-per-unit analysis.
| Status | Description | Allowed Actions | Next States |
|---|---|---|---|
| Operational | Plant running and producing | Log Production, Schedule PM | Under Maintenance |
| Under Maintenance | Scheduled or corrective maintenance | Complete, Return | Operational |
| Breakdown | Unplanned stoppage | Diagnose, Repair | Under Maintenance |
| Standby | Plant idle, available | Mobilize | Operational |
| Decommissioned | Plant retired | Dispose | — |
plant_id — PKproject_id — FK → project.projectplant_code, plant_name, plant_type — Identificationcapacity, capacity_uom — Production capacitycommission_date, operating_hours — Lifecycle trackingstatus — Operational statepm_id — PKplant_id — FK → plant.plant_assetpm_type — daily | weekly | monthly | overhaulscheduled_date, actual_date — Planning vs executionchecklist_json — Maintenance checklist itemsperformed_by, cost — Execution detailsbm_id — PKplant_id — FK → plant.plant_assetreported_date, resolved_date — Breakdown durationfailure_component, root_cause — Analysisdowntime_hours, production_loss — Impactrepair_cost — Financial impactpart_id — PKplant_id — FK → plant.plant_assetpart_name, part_number — Spare identificationmin_stock, current_stock — Inventory levelslead_time_days — Procurement lead timeunit_cost — Replacement costRegister plant with specifications, capacity, and commissioning date. Create maintenance schedule based on manufacturer recommendations.
Auto-generated PM work orders based on schedule. Checklists specific to plant type. Completed PMs update next due date.
Operator reports breakdown. Maintenance team diagnoses and repairs. Root cause analysis documented. Parts replaced from spare inventory.
Critical spares maintained at minimum stock levels. Reorder triggered when stock falls below minimum. Lead time tracked for planning.
Daily production output logged. Cost per unit = (fuel + maintenance + spares + labour) / total production. Benchmarked against industry standards.
SELECT pa.plant_name, SUM(pu.production_hours) AS running_hours, SUM(bm.downtime_hours) AS breakdown_hours, ROUND(SUM(pu.production_hours) / (SUM(pu.production_hours) + COALESCE(SUM(bm.downtime_hours), 0)) * 100, 1) AS availability_pct FROM plant.plant_asset pa LEFT JOIN plant.plant_utilization pu ON pu.plant_id = pa.plant_id LEFT JOIN plant.breakdown_maintenance bm ON bm.plant_id = pa.plant_id GROUP BY pa.plant_id;