Laitetilat: laitelinkit kortteihin + Sijainnit pois yritysasetuksista
Laitetila-laite-yhteys: - Lisätty laitetila_id -sarake devices-tauluun - Laite-lomakkeeseen uusi "Laitetila" dropdown (Tekniikka → Laitteet) - Laitetila-kortit näyttävät laitemäärän ja laitechipit (max 4 + "+N muuta") - Laitetilan detailnäkymässä taulukko tilan laitteista (nimi, tyyppi, malli, IP, ping) - dbLoadLaitetilat palauttaa device_count ja devices-listan per laitetila Yritysasetukset: - Poistettu Sijainnit-osio yrityksen tiedoista (hallitaan Tekniikka → Sijainnit) - Sijainnit sub-tab Tekniikassa pysyy ennallaan Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
13
db.php
13
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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user