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

@ -705,7 +705,7 @@ switch (post('op')) {
$descrizione = ($documento->direzione == 'entrata') ? 'Fattura immediata di vendita' : 'Fattura immediata di acquisto'; $descrizione = ($documento->direzione == 'entrata') ? 'Fattura immediata di vendita' : 'Fattura immediata di acquisto';
// Fattura differita in caso di importazione da DDT // Fattura differita in caso di importazione da DDT
if ($documento instanceof DDT){ if ($documento instanceof DDT) {
$descrizione = ($documento->direzione == 'entrata') ? 'Fattura differita di vendita' : 'Fattura differita di acquisto'; $descrizione = ($documento->direzione == 'entrata') ? 'Fattura differita di vendita' : 'Fattura differita di acquisto';
} }

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)

View File

@ -216,16 +216,16 @@ class RigheInterventi extends AppResource
$record->descrizione = $data['descrizione']; $record->descrizione = $data['descrizione'];
$record->um = $data['um'] ?: null; $record->um = $data['um'] ?: null;
if(empty($data['id_iva'])){ if (empty($data['id_iva'])) {
if ($data['is_articolo']) { if ($data['is_articolo']) {
$originale = ArticoloOriginale::find($data['id_articolo']); $originale = ArticoloOriginale::find($data['id_articolo']);
$data['id_iva'] = $originale->idiva_vendita; $data['id_iva'] = $originale->idiva_vendita;
}else{ } else {
$data['id_iva'] = setting('Iva predefinita'); $data['id_iva'] = setting('Iva predefinita');
} }
} }
if(!empty($data['prezzo_unitario'])){ if (!empty($data['prezzo_unitario'])) {
$record->setPrezzoUnitario($data['prezzo_unitario'], $data['id_iva']); $record->setPrezzoUnitario($data['prezzo_unitario'], $data['id_iva']);
$record->setSconto($data['sconto_percentuale'] ?: $data['sconto_unitario'], $data['tipo_sconto']); $record->setSconto($data['sconto_percentuale'] ?: $data['sconto_unitario'], $data['tipo_sconto']);
} }