Skip to content

24. Rejestr sprzętu szkolnego

This content is not available in your language yet.

Rejestr sprzętu szkolnego

System inwentaryzacji sprzętu szkolnego (laptopy, projektory, tablety) z możliwością dodawania, edycji, wypożyczania i zwrotów. Każda operacja jest odnotowywana w historii.

  • Projektowania systemu inwentaryzacji z historią zmian
  • Obsługi stanów sprzętu (dostępny/wypożyczony/w naprawie)
  • Generowania numerów inwentarzowych
  • Walidacji formularzy edycji
  • Pracy z zagnieżdżonymi tablicami JSON
  1. Dodawanie sprzętu — nazwa, kategoria, numer inwentarzowy, stan
  2. Przeglądanie inwentarza — lista z filtrowaniem po kategorii i stanie
  3. Wypożyczanie — przypisanie sprzętu do osoby z datą zwrotu
  4. Rejestracja zwrotu — oznaczenie jako dostępny
  5. Historia operacji — log wszystkich wypożyczeń i zwrotów
{
"equipment": [
{
"id": 1,
"inventory_no": "LAP-2025-001",
"name": "Laptop Dell Inspiron 15",
"category": "laptop",
"status": "available",
"condition": "good",
"added_at": "2025-09-01"
}
],
"loans": [
{
"id": 1,
"equipment_id": 1,
"borrower": "mgr Kowalski",
"purpose": "lekcja informatyki",
"loaned_at": "2026-02-10",
"due_date": "2026-02-14",
"returned_at": null
}
]
}

Wymagane funkcje:

  • Formularz dodawania sprzętu
  • Lista inwentarza z statusem
  • Wypożyczenie (imię osoby, data zwrotu)
  • Oznaczanie zwrotu
  • Zapis do JSON
Ocena: 3.0
  • Directoryrejestr-sprzetu/
    • index.php
    • dodaj.php
    • edytuj.php
    • wypozycz.php
    • zwrot.php
    • historia.php
    • Directoryincludes/
      • functions.php
      • auth.php
    • Directorydata/
      • equipment.json
      • loans.json
    • Directorycss/
      • style.css

Generowanie numeru inwentarzowego:

function generateInventoryNumber(string $category, array $equipment): string {
$prefix = strtoupper(substr($category, 0, 3));
$year = date('Y');
$count = count(array_filter($equipment, fn($e) => str_starts_with($e['inventory_no'], "$prefix-$year")));
return sprintf('%s-%d-%03d', $prefix, $year, $count + 1);
}

Sprawdzanie dostępności:

function isAvailable(array $equipment, int $id): bool {
foreach ($equipment as $item) {
if ($item['id'] === $id) {
return $item['status'] === 'available';
}
}
return false;
}