1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-06-05 22:09:38 +02:00

Aggiunta sincronizzazione Tecnici assegnati da applicazione

This commit is contained in:
Dasc3er
2021-02-24 09:24:29 +01:00
parent cd4015d2c7
commit 528c93fc9e
5 changed files with 25 additions and 12 deletions

View File

@@ -97,7 +97,8 @@ class Clienti extends AppResource
an_anagrafiche.email, an_anagrafiche.email,
an_anagrafiche.sitoweb AS sito_web, an_anagrafiche.sitoweb AS sito_web,
an_anagrafiche.note, an_anagrafiche.note,
an_anagrafiche.deleted_at an_anagrafiche.deleted_at,
an_anagrafiche.idtipointervento_default AS id_tipo_intervento_default
FROM an_anagrafiche FROM an_anagrafiche
LEFT OUTER JOIN an_nazioni ON an_anagrafiche.id_nazione = an_nazioni.id LEFT OUTER JOIN an_nazioni ON an_anagrafiche.id_nazione = an_nazioni.id
WHERE an_anagrafiche.idanagrafica = '.prepare($id); WHERE an_anagrafiche.idanagrafica = '.prepare($id);

View File

@@ -148,8 +148,7 @@ class Interventi extends AppResource
IF(idsede_destinazione = 0, NULL, idsede_destinazione) AS id_sede, IF(idsede_destinazione = 0, NULL, idsede_destinazione) AS id_sede,
firma_file, firma_file,
IF(firma_data = '0000-00-00 00:00:00', '', firma_data) AS firma_data, IF(firma_data = '0000-00-00 00:00:00', '', firma_data) AS firma_data,
firma_nome, firma_nome
(SELECT GROUP_CONCAT(ragione_sociale SEPARATOR ',') FROM in_interventi_tecnici_assegnati INNER JOIN an_anagrafiche ON in_interventi_tecnici_assegnati.id_tecnico=an_anagrafiche.idanagrafica WHERE id_intervento=in_interventi.id) AS tecnici_assegnati
FROM in_interventi FROM in_interventi
WHERE in_interventi.id = ".prepare($id); WHERE in_interventi.id = ".prepare($id);
@@ -159,6 +158,10 @@ class Interventi extends AppResource
$impianti = $database->fetchArray('SELECT idimpianto AS id FROM my_impianti_interventi WHERE idintervento = '.prepare($id)); $impianti = $database->fetchArray('SELECT idimpianto AS id FROM my_impianti_interventi WHERE idintervento = '.prepare($id));
$record['impianti'] = array_column($impianti, 'id'); $record['impianti'] = array_column($impianti, 'id');
// Individuazione dei tecnici assegnati
$tecnici = $database->fetchArray('SELECT id_tecnico AS id FROM in_interventi_tecnici_assegnati WHERE id_intervento = '.prepare($id));
$record['tecnici_assegnati'] = array_column($tecnici, 'id');
return $record; return $record;
} }
@@ -212,7 +215,7 @@ class Interventi extends AppResource
$record->firma_file = $firma_file; $record->firma_file = $firma_file;
} }
// Aggiornamento impianti collegati // Aggiornamento degli impianti collegati
$database->query('DELETE FROM my_impianti_interventi WHERE idintervento = '.prepare($record->id)); $database->query('DELETE FROM my_impianti_interventi WHERE idintervento = '.prepare($record->id));
foreach ($data['impianti'] as $id_impianto) { foreach ($data['impianti'] as $id_impianto) {
$database->insert('my_impianti_interventi', [ $database->insert('my_impianti_interventi', [
@@ -220,6 +223,15 @@ class Interventi extends AppResource
'idintervento' => $record->id, 'idintervento' => $record->id,
]); ]);
} }
// Aggiornamento dei tecnici assegnati
$database->query('DELETE FROM in_interventi_tecnici_assegnati WHERE id_intervento = '.prepare($record->id));
$tecnici_assegnati = (array) $data['tecnici_assegnati'];
$database->sync('in_interventi_tecnici_assegnati', [
'id_intervento' => $record->id,
], [
'id_tecnico' => $tecnici_assegnati,
]);
} }
protected function salvaFirma($firma_base64) protected function salvaFirma($firma_base64)