Przejdź do głównej zawartości

62. Rejestr serwisowy urządzeń

Rejestr serwisowy urządzeń

Aplikacja PHP do prowadzenia historii serwisowej urządzeń (sprzęt biurowy, elektronika): każda naprawa logowana z opisem problemu, datą, kosztem i statusem (w naprawie/naprawiono/nienaprawialne).

  • Wiązania historii napraw z urządzeniem (relacja 1:N)
  • Obliczania łącznego kosztu serwisu urządzenia
  • Filtrowania po statusie i kategorii
  • Walidacji kosztów (liczba >= 0)

Rejestr serwisowy to standard w firmach zarządzających parkiem maszynowym. Systemy CMMS (Computerized Maintenance Management System) są w każdej fabryce i firmie IT.

  1. Lista urządzeń z łącznym kosztem napraw
  2. Formularz dodawania naprawy (urządzenie, problem, data, koszt, status)
  3. Historia napraw konkretnego urządzenia
  4. Filtrowanie po statusie
  5. Suma kosztów serwisu
{
"devices": [
{"id": 1, "name": "Drukarka HP 400", "category": "drukarka", "serial": "HP12345"}
],
"repairs": [
{
"id": 1,
"device_id": 1,
"problem": "Zacięcie papieru, uszkodzony wałek",
"repair_date": "2026-02-10",
"cost": 150.00,
"status": "fixed",
"technician": "mgr Kowalski"
}
]
}
  • Formularz naprawy (urządzenie, problem, data, koszt)
  • Lista napraw z kosztem
  • Walidacja: koszt >= 0, data prawidłowa
  • Zapis do JSON
Ocena: 3.0
<?php
// Łączny koszt serwisu urządzenia
function getDeviceTotalCost(array $repairs, int $deviceId): float {
$deviceRepairs = array_filter($repairs, fn($r) => $r['device_id'] === $deviceId);
return round(array_sum(array_column(array_values($deviceRepairs), 'cost')), 2);
}
// Walidacja kosztu
$cost = filter_var($_POST['cost'] ?? '', FILTER_VALIDATE_FLOAT);
if ($cost === false || $cost < 0) {
$errors[] = "Koszt musi być liczbą nieujemną";
}
// Status naprawy
$statuses = ['in_repair', 'fixed', 'unrepairable'];
$statusLabels = ['in_repair' => 'W naprawie', 'fixed' => 'Naprawiono', 'unrepairable' => 'Nie do naprawy'];

Serwisant w wersji PHP!

Zacznij od formularza naprawy i listy. Potem dodaj grupowanie po urządzeniu i sumowanie kosztów.