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

Records

Everything that was actually done, in one register: equipment records (breakdown, calibration, preventive, cleaning) and premises records (temp/RH, pest, sanitation, inspections) filed as they happen on the floor. The Maintenance tab plans the programs; this tab is the evidence. When the auditor asks “show me the compliance history”, this filtered list — printed — is the answer.
15 records in range · 1 alert · 1 waiting part · 1 calibration overdue Sorted newest first
Date Ref # Type Asset / room Details Status By
2026-07-07 TH-26-1188 Temp-Humidity Packing Room PM reading 29.2°C / 71% RH — above limits (18–28°C / 40–65%). A/C struggling — MWO-26-031 linked Alert OPAhmad
2026-07-07 CAL-26-078 Calibration CP-01 · Capsule Filler NJP-1200 6-monthly dosing disc calibration — was due 2026-06-25 (12 d overdue), being done inside today's PM. Result pending QC check Partial ENGFaizal
2026-07-07 CAL-26-077 Calibration QC-01 · Checkweigher Daily weight verification vs standard weights — within ±0.1 g tolerance Pass OPAhmad
2026-07-07 CL-26-0912 Cleaning Mixing Room Routine AM clean — floor / ceiling / walls & doors / equipment / dustbin, all items pass ✓ Done OPAhmad
2026-07-06 MWO-26-034 Breakdown FL-02 · Sachet Filling Line 2 Dosing pump failure — part ordered, ETA 2026-07-08. Machine Down, 2 MOs blocked Waiting part ENGFaizal
2026-07-05 SAN-26-031 Sanitation Production drains — Mixing + Filling Drain sanitization by fogging — QuatSan 2% dilution, QA verified ✓ Done OPAhmad
2026-07-04 INS-26-027 Inspection CYTO-11 — whole site Weekly GMP walk-down — 2 minor findings (cold room door seal → MWO-26-032, pallet spacing in FG Store) Partial QAFarah
2026-07-03 PEST-26-066 Pest Bait stations ×12 — all areas Internal monitoring round — no activity at any station (form defaults No Activity; ticking = pest found) Clear OPAhmad
2026-07-02 CL-26-0894 Cleaning Mixing Room Weekly deep clean + drain sanitization — QA verified, wet-ink sign kept (paper-parallel) ✓ Done OPAhmad
2026-07-01 CL-26-0890 Cleaning FL-01 · Sachet Filling Line 1 Allergen changeover clean — milk → allergen-free line. Swab test pass before next run Pass QCLee
2026-06-30 INS-26-026 Inspection CYTO-11 — whole site Monthly GMP inspection — 7-category checklist (premises, equipment, personnel, docs, storage, sanitation, pest), all pass Pass QAFarah
2026-06-28 PEST-26-064 Pest Site — Rentokil service visit Monthly contractor service — bait refresh, trend report + SDS filed against the visit Clear ENGFaizal
2026-06-27 CL-26-0871 Cleaning FG Store & raw mat rooms Weekly routine clean + spillage check — next cycle was due 2026-07-04, now 3 d overdue on the register ✓ Done OPAhmad
2026-06-20 SAN-26-027 Sanitation RO water system + piping Monthly sanitization + micro sampling — lab result within limits, cert filed Pass QCLee
2026-06-14 PM-26-102 Preventive MX-01 · Ribbon Blender 300L Monthly PM — lubrication + belt check per program. Next due 2026-07-14 ✓ Done ENGFaizal

15 of 214 records this year shown (paged). These records feed the printed GMP registers — the equipment file and premises file NPRA asks to open start from this list, filtered and printed per asset or per room.

Project Gaia — static mockup in Filament v3 idiom. No backend. One register over all record types; refs, assets and rooms continuous with Machines, Maintenance and the dashboards (FL-02 / MWO-26-034, CP-01 overdue calibration, Packing Room 29.2°C).

Maintenance record

Not saved

Breakdowns are reported from Maintenance → + Report breakdown (creates an MWO, not filed here).

Picking a program pre-fills asset + task; saving rolls its next-due forward.

Pre-filled from the program.

DateTimePicker — defaults to now.

Fail auto-raises a corrective work order (MWO) and flags the asset.

Checked against the room limits from the factory compliance profile — out-of-range auto-flags Alert and can raise a work order (see TH-26-1188, Packing Room 29.2 °C / 71 %).

Evidence

GMP Required — this program is GMP-critical; Save is disabled until a file is attached.
Drop photo / signed form / contractor cert here, or browse
PM-MX01-260707-form.pdf · 380 KB
PM-MX01-belt.jpg · 1.1 MB
On save: writes maintenance_log PM-26-103 and rolls MX-01's next due 2026-07-14 → 2026-08-07 (monthly, from completion date). The row updates on the Maintenance register and Machines' Last PM column.

Wet-ink QA signature stays on the paper log (paper-parallel direction); this field records who signed.

Records — field manifest

FieldFilament componentTypeSourceFK target
Records viewPolymorphic list — one Filament page over a UNION query (or per-type child resources sharing this table layout)derivedunion over maintenance_logs (PM / calibration / breakdown), daily_cleaning_records + cleaning logs, temp_humidity_records, pest_monitoring_logs + pest_service_records, sanitation_logs, inspection records — normalised to (date, ref, type, subject, details, status, by)source tables
Date / Ref #TextColumn::date() / TextColumn badge-monodate / stringstored on each source row; ref prefix per type (MWO / CAL / PM / CL / TH / PEST / SAN / INS)
TypeTextColumn badge + SelectFilterenumderived from source table + log type: Breakdown, Calibration, Cleaning, Preventive, Temp-Humidity, Pest, Sanitation, Inspection
Asset / roomTextColumn::url() → asset or roommorph FKsubject morph: assets.id (machines & facility assets) or rooms.idassets / rooms
StatusTextColumn badgeenum per typeDone / Repaired / Waiting part / Pass / Partial / Alert / Clear — colour map shared with source resources
ByTextColumn + role chip (ENG/QC/QA/OP)FKperformed_by → users; role chip from the user's role at time of recordusers.id
FiltersDateRangeFilter + SelectFilter(site) + SelectFilter(type) + global searchquerysite = tenant scope (multi-site only for group roles); default range = year to datefactories.id
+ Record (create)CreateAction slide-over → maintenance_logsformprogram_id nullable, subject morph asset/room, type, done_at, performed_by → users, result, readings json, remarks, evidence via Spatie MediaLibrary; next_due derived = done_at + program frequency; GMP-critical programs validate evidence presentmaintenance_programs / assets / rooms / users
PrintHeader action → PDF of the current filteractionprints the filtered list in the paper register layout (equipment records 8.2 / premises records 10.2 style)

Engine notes

  • Auditor use-case drives this screen: “show me the compliance history” = pick range + site (+ type), print. No re-keying — rows are the same records entered on Maintenance, Machines and the daily floor forms.
  • Nothing is stored twice: this is a read-only projection. Editing happens on the owning resource (work order, cleaning log, TH form…); the register just reads.
  • Alert / Waiting part rows stay visually hot here even after the day passes — the register is also where FM checks that every alert got a closing record.
  • Per-asset filter of this same view is what prints into the equipment file; per-room filter prints into the premises file.
  • + Record files completion evidence against a program: saving writes the maintenance_log and rolls the program's next-due forward (done_at + frequency); Fail results auto-raise a corrective MWO. Breakdowns are never filed here — they enter via Maintenance → + Report breakdown.