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

Maintenance

One register for everything that needs recurring care: production machines, facility (HVAC, water, roof, paint), utilities, pest control, IT, cleaning schedules, and GMP programs like the annual self-inspection. Each row = a recurring program with an owner (staff or contractor), a next-due date, and required evidence (photo, form, or contractor cert). Overdue GMP-critical rows go red and show up on the factory manager's login.

5/7

Rooms cleaned today

1

Temp/RH out of range

0

Pest activity (last check)

3

Programs overdue

Room status today — cleaning from today's checklist records · temp/RH from today's readings vs per-room limits
Room Clean — AM Clean — PM Temp (limit) RH (limit) Within Remarks Log

Cleaning checklist per room (floor / ceiling / walls & doors / equipment / dustbin — from the real CTW form) defaults every item to PASS; only exceptions need remarks + corrective action. Temp/RH is entered AM + PM per room; limits come from the factory compliance profile; out-of-range auto-flags and can raise a work order.

18 programs · 3 overdue · 4 due within 14 days
Asset / area Category Task Frequency Owner Last done Next due Evidence GMP
4 corrective work orders · 1 blocking production
WO # Asset Issue Priority Impact Status Opened

Project Gaia — static mockup in Filament v3 idiom. No backend. Programs and contractors illustrative; categories and the 10-area self-inspection mirror the GMP reference material provided.

Corrective work order

MWO-26-035

Breakdown Not saved

Down flips the Machines register status, shows a red note on the machine row, and blocks new operation bookings.

No operations scheduled on MX-02 in the next 7 days — no MOs blocked. FM (Sarah) and ENG (Faizal) are still notified.

When the asset has scheduled ops, this panel lists them and flags each Blocked on the Make schedule — see FL-02 / MWO-26-034: 2 MOs blocked.

Drop photo here or browse
MX02-oil-leak.jpg· 1.2 MB

Maintenance register

New program

+ Create new asset opens an inline form (name, category, room) — Filament createOptionForm.

Sets the badge colour and register tab.

After the first completion, next-due rolls from each record (last done + frequency).

Contractor list: CoolAir Engineering, Rentokil, AquaTech, AirServe, BuildCare, FirePro, SIRIM-accredited lab.

Overdue GMP-critical rows go red and appear on the factory manager's login.

Raised after MWO-26-032 — cold room door seal worn, two temperature excursion alarms. A monthly preventive check stops the recurrence.

Facility log —

Log entry

GMP register

Feeds the supervisor Verify queue — QA counter-signs the clean.

Every item defaults to PASS (CTW P21 form) — only exceptions expand a remark + corrective action.

Saving flips this room's AM clean cell to a green ✓ and clears the "AM clean pending" remark on the Today board; the record lands in the supervisor Verify queue for QA counter-sign.
°C
↗ Raise work order
%
↗ Raise work order
Limits come from the per-factory compliance profile. Out-of-range readings auto-flag the "Temp/RH out of range" stat tile and can raise a corrective MWO. Same field set as the supervisor PM temp/RH check.

No activity keeps the "0 pest activity" tile green.

Any activity escalates to FM + owner.

Rentokil-Jul-2026.pdf· 640 KB
Internal monitoring defaults to NO ACTIVITY (ticking = pest found). Entries write the same registers the Print GMP registers pack (premises 10.2) reads.

Maintenance — field manifest

FieldFilament componentTypeSourceFK target
Asset / areaAssetResource (machines are assets with category=Machine)recordstored: assets (factory_id, category, name, room, contractor_id nullable, gmp_critical bool)factories / contractors
ProgramRelationManager on Assetrecordstored: maintenance_programs (asset_id, task, frequency, owner_type internal/contractor, evidence_type)assets.id
Next dueTextColumn::date() red overdue + dashboard widgetderivedlast completed log + frequency; overdue GMP rows notify FM + QAmaintenance_logs
EvidenceFileUpload / form link on the completion actionmedia/formstored: maintenance_logs (done_at, by, photos, cert_ref, result)
Cleaning logDedicated form matching the CTW P21 formrecordfields: date, equipment→asset, type Routine/Changeover/Deep, agent used, start/end, cleaned by→employee, checked by QA/QC, status Clean/Not clean, remarksassets / users
Self-inspectionProgram + child checklist (10 areas)recordareas: raw mat storage, production, packaging, FG warehouse, QC lab, documentation & records, sanitation & hygiene, water system, pest control, calibration & maintenance; findings → CAPAcapas
Work orderMaintWorkOrderResourcerecordstored: maint_work_orders (asset_id, issue, priority, status, blocks_production bool → flags affected MOs)assets / mos
Report breakdown (slide-over)CreateAction on MaintWorkOrderResource — Select (asset, optgrouped Machines/Facility/Vehicle), Textarea (issue), ToggleButtons (priority Critical/High/Medium/Low), Radio (take out of service / keep running), FileUpload (photo, optional), Select (reported_by), DateTimePicker (reported_at, default now)formwrites maint_work_orders (asset_id, issue, priority, status Open, blocks_production derived from schedule, reported_by, media); sets asset status Down when out-of-service chosenassets / users
Compliance profilePer-factory settings pageconfigstored: compliance_profiles (factory_id) → rooms (name, temp_min/max, rh_min/max), checklist templates per room typefactories.id
Daily cleaning recordForm: per-room checklist, all items default PASSrecordstored: daily_cleaning_records (room_id, shift AM/PM, items json default-pass, remarks on exceptions only, checked_by, qa_verified_by)rooms / users
Temp/RH recordForm: AM + PM readings per roomrecordstored: temp_humidity_records (room_id, time_am/pm, temp_am/pm, rh_am/pm, within_limits AUTO from profile limits)rooms
Pest monitoring (internal)Form: stations pre-populated, default No Activityrecordstored: pest_monitoring_logs (station_id, activity bool default false, pest_type, qty_est, photo, corrective) — any activity escalates to FM + ownerpest_stations
Pest control service (external)Form per provider visitrecordstored: pest_service_records (provider, technician, areas treated, methods, chemicals + SDS ref, report file)contractors
Pest control planAnnual document + provider docs checklistrecordstored: pest_control_plans (effective/review dates, activities, provider docs: contract, licences, SDS, training, monthly reports)contractors
Vehicle inspectionForm: weekly 10 checks / monthly +8, default OKrecordstored: vehicle_inspections (vehicle asset_id, type weekly/monthly, odometer, items default OK, remarks on exceptions); road tax / insurance / service-due dates live on the asset and roll into next-dueassets
Sanitation logForm per sanitization eventrecordstored: sanitation_logs (area/equipment, type Routine/Deep/Disinfection, agent, dilution, method Wipe/Spray/Fog, performed_by, verified_by)rooms / assets

Engine notes

  • Two default philosophies, deliberately opposite: cleaning/cleanliness checklists default every item to PASS (only exceptions need remarks — house rule), pest monitoring defaults to NO ACTIVITY (ticking = pest found). Any pest activity or out-of-range reading auto-escalates to FM + owner.
  • Machines screen stays the production view; this register is the superset — same assets table, category filter. Completing a program writes a maintenance_log and rolls next-due forward automatically.
  • New program (+ Program slide-over) writes maintenance_programs (asset_id, task, frequency, owner_type internal/contractor, owner_id, evidence_type, gmp_critical bool, first_due); the row appears on the register under its category (e.g. Facility) with Last done — and Next due = first_due (2026-08-01).
  • Breakdown flow mirrors the reference: report → asset Out of Service → linked MOs flagged blocked → part check/PO → repair → back online.
  • Report breakdown writes maint_work_orders and (if Down) flips the asset status; the new MWO lands at the top of the Work orders tab and in the Records register as type Breakdown; repair completion + parts consumed land on Equipment history (cf. MWO-26-028 heater bar on FL-01).
  • Log entry (per-room Log button on the Today board) is one modal with a 3-segment toggle — Cleaning writes daily_cleaning_records (CTW P21: checklist default-PASS, exceptions only) and drops the row into the supervisor Verify queue for QA counter-sign; Temp/RH writes temp_humidity_records with within_limits auto-computed from the compliance profile (out-of-range reveals Raise work order → same corrective-MWO form as Report breakdown); Pest/sanitation writes pest_monitoring_logs (default NO ACTIVITY). Same temp/RH field set as the supervisor PM check.
  • Printed registers (programs + logs + certs per asset) = the premises & equipment file NPRA asks to see; cleaning logs keep the wet-ink QA verify per current paper-parallel direction.