diff --git a/api.php b/api.php index 6c985da..c9ba867 100644 --- a/api.php +++ b/api.php @@ -1944,6 +1944,7 @@ switch ($action) { 'hallintaosoite' => trim($input['hallintaosoite'] ?? ''), 'serial' => trim($input['serial'] ?? ''), 'site_id' => $input['site_id'] ?? null, + 'laitetila_id' => $input['laitetila_id'] ?? null, 'funktio' => trim($input['funktio'] ?? ''), 'tyyppi' => trim($input['tyyppi'] ?? ''), 'malli' => trim($input['malli'] ?? ''), diff --git a/db.php b/db.php index 6304a22..fe558f0 100644 --- a/db.php +++ b/db.php @@ -614,6 +614,7 @@ function initDatabase(): void { "ALTER TABLE documents ADD COLUMN folder_id VARCHAR(20) DEFAULT NULL AFTER customer_id", "ALTER TABLE documents ADD COLUMN max_versions INT DEFAULT 10 AFTER current_version", "ALTER TABLE document_versions ADD COLUMN content MEDIUMTEXT DEFAULT NULL AFTER mime_type", + "ALTER TABLE devices ADD COLUMN laitetila_id VARCHAR(20) DEFAULT NULL AFTER site_id", ]; foreach ($alters as $sql) { try { $db->query($sql); } catch (\Throwable $e) { /* sarake on jo olemassa / jo ajettu */ } @@ -1070,9 +1071,10 @@ function dbDeleteSite(string $siteId): void { function dbLoadDevices(string $companyId): array { $devices = _dbFetchAll(" - SELECT d.*, s.nimi AS site_name + SELECT d.*, s.nimi AS site_name, lt.nimi AS laitetila_name FROM devices d LEFT JOIN sites s ON d.site_id = s.id + LEFT JOIN laitetilat lt ON d.laitetila_id = lt.id WHERE d.company_id = ? ORDER BY d.nimi ", [$companyId]); @@ -1085,11 +1087,11 @@ function dbLoadDevices(string $companyId): array { function dbSaveDevice(string $companyId, array $device): void { _dbExecute(" - INSERT INTO devices (id, company_id, nimi, hallintaosoite, serial, site_id, funktio, tyyppi, malli, ping_check, lisatiedot, luotu, muokattu, muokkaaja) - VALUES (:id, :company_id, :nimi, :hallintaosoite, :serial, :site_id, :funktio, :tyyppi, :malli, :ping_check, :lisatiedot, :luotu, :muokattu, :muokkaaja) + INSERT INTO devices (id, company_id, nimi, hallintaosoite, serial, site_id, laitetila_id, funktio, tyyppi, malli, ping_check, lisatiedot, luotu, muokattu, muokkaaja) + VALUES (:id, :company_id, :nimi, :hallintaosoite, :serial, :site_id, :laitetila_id, :funktio, :tyyppi, :malli, :ping_check, :lisatiedot, :luotu, :muokattu, :muokkaaja) ON DUPLICATE KEY UPDATE nimi = VALUES(nimi), hallintaosoite = VALUES(hallintaosoite), serial = VALUES(serial), - site_id = VALUES(site_id), funktio = VALUES(funktio), tyyppi = VALUES(tyyppi), + site_id = VALUES(site_id), laitetila_id = VALUES(laitetila_id), funktio = VALUES(funktio), tyyppi = VALUES(tyyppi), malli = VALUES(malli), ping_check = VALUES(ping_check), lisatiedot = VALUES(lisatiedot), muokattu = VALUES(muokattu), muokkaaja = VALUES(muokkaaja) ", [ @@ -1099,6 +1101,7 @@ function dbSaveDevice(string $companyId, array $device): void { 'hallintaosoite' => $device['hallintaosoite'] ?? '', 'serial' => $device['serial'] ?? '', 'site_id' => !empty($device['site_id']) ? $device['site_id'] : null, + 'laitetila_id' => !empty($device['laitetila_id']) ? $device['laitetila_id'] : null, 'funktio' => $device['funktio'] ?? '', 'tyyppi' => $device['tyyppi'] ?? '', 'malli' => $device['malli'] ?? '', @@ -1950,6 +1953,8 @@ function dbLoadLaitetilat(string $companyId): array { $tilat = _dbFetchAll("SELECT * FROM laitetilat WHERE company_id = ? ORDER BY nimi", [$companyId]); foreach ($tilat as &$t) { $t['file_count'] = (int)_dbFetchScalar("SELECT COUNT(*) FROM laitetila_files WHERE laitetila_id = ?", [$t['id']]); + $t['device_count'] = (int)_dbFetchScalar("SELECT COUNT(*) FROM devices WHERE laitetila_id = ? AND company_id = ?", [$t['id'], $companyId]); + $t['devices'] = _dbFetchAll("SELECT id, nimi, tyyppi, malli, hallintaosoite, ping_status FROM devices WHERE laitetila_id = ? AND company_id = ? ORDER BY nimi", [$t['id'], $companyId]); } return $tilat; } diff --git a/index.html b/index.html index 5cbec61..6473bff 100644 --- a/index.html +++ b/index.html @@ -983,6 +983,12 @@
Toimipisteet ja konesalit joihin laitteita voidaan sijoittaa.
- - -