G Gaia

Switch factory

CYTO-11 — Balakong Jaya CTSB CYTO-29 CTSB CYTOWELL-54 — Taming Jaya PIC/S CTWSB CYTOCNGZ-602 — Guangzhou CTCNGZ

Only factories you are granted appear here (Filament tenant menu).

Leo Lim

leo@navi.my · Owner / Admin

Profile settings Change password

Theme

Sign out
RetailSellR&DMakeBuyStockPlanItemsGMPAdminInsights

Machines

Usage without extra data entry: every MO operation runs on a machine (the routing's resource). Booking time on a task writes a usage log row for that machine — utilisation, hours run and the GMP machine logbook all derive from work that's already recorded. PM & calibration dates are the only thing maintained by hand.
10 machines · avg utilisation 7d 46% · 1 calibration overdue
Code Machine Type Room Status Running now Util. 7d Hours 7d Last PM Calibration due

Project Gaia — static mockup in Filament v3 idiom. No backend. Machines and utilisation are illustrative; MO links are the real orders from the Katana snapshot. Location: CTSB — 11, Balakong Jaya.

Machines

New machine

Short code used on routings and the schedule — unique per factory.

Running is derived from open operation bookings — never set by hand.

Seeds two starter programs on the Maintenance register, first due one cycle after commissioning (PM 2026-08-01, calibration 2027-01-01).

Machines — field manifest

FieldFilament componentTypeSourceFK target
Code / Machine / Type / RoomTextColumn + SelectFilter(type)string / enumstored: machines (factory_id, code, name, type, room)factories.id
StatusTextColumn badge + Action "Set status"enum Running/Idle/Maintenance/Downderived Running from an open op booking; Idle default; Maintenance/Down set manually with note
Running nowTextColumn::url() → MOrelationderived: open machine_usage_logs row (mo_operation_id)mo_operations
Util. 7d / Hours 7dViewColumn (bar) / TextColumnderived %derived: Σ usage-log hours ÷ available hours (factory calendar) over trailing 7dmachine_usage_logs
Last PM / Calibration dueTextColumn::date(), red when overduedatesstored: maintenance_logs (type PM/calibration/repair, done_at, due_next, by, note)maintenance_logs
CommissionedDatePicker (CreateAction)datestored: machines.commissioned_at; seeds first PM/calibration due dates
Initial statusSelect (CreateAction)enum Idle/Maintenance/Downstored on create; Running is never set by hand (derived)
PM / Calibration frequencySelect ×2 (CreateAction)enum —/Monthly/Quarterly/6-monthly/Yearlywrites maintenance_programs rows (interval, next_due = commissioned + one cycle)machines.id
NotesTextarea (CreateAction)textstored: machines.notes

Engine notes

  • machine_usage_logs rows are written when a task/operation books time (start/stop or entered hours) — usage tracking costs the floor nothing extra.
  • Routing operations reference a machine type or a specific machine; the MO task inherits it, so schedule clashes are visible (two MOs on FL-01 at once).
  • GMP: this list + maintenance_logs printed = the machine register & logbook NPRA asks for; calibration overdue blocks "Running" via a policy warning (soft block v1).
  • Machines are per-factory (tenant-scoped) like all operational records.
  • CreateAction (+ Machine) stores machines (factory_id, code, name, type, room, commissioned_at, notes); the record lands in this list as Idle, util 0%, Last PM —.
  • Setting PM/calibration frequencies on create writes matching maintenance_programs rows, first due one cycle after commissioning (PM 2026-08-01, calibration 2027-01-01) — they surface on the Maintenance register.