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';
// 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';
}

View File

@ -382,7 +382,7 @@ elseif ($record['stato'] == 'Bozza') {
if (!empty($record['id_dichiarazione_intento'])) {
echo Plugins::link("Dichiarazioni d'Intento", $record['idanagrafica'], null, null, 'class="pull-right"');
}
echo '
{[ "type": "select", "label": "'.tr("Dichiarazione d'intento").'", "name": "id_dichiarazione_intento", "ajax-source": "dichiarazioni_intento", "select-options": {"idanagrafica": '.$record['idanagrafica'].', "data": "'.$record['data'].'"},"value": "$id_dichiarazione_intento$" ]}
</div>';

View File

@ -97,7 +97,8 @@ class Clienti extends AppResource
an_anagrafiche.email,
an_anagrafiche.sitoweb AS sito_web,
an_anagrafiche.note,
an_anagrafiche.deleted_at
an_anagrafiche.deleted_at,
an_anagrafiche.idtipointervento_default AS id_tipo_intervento_default
FROM an_anagrafiche
LEFT OUTER JOIN an_nazioni ON an_anagrafiche.id_nazione = an_nazioni.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,
firma_file,
IF(firma_data = '0000-00-00 00:00:00', '', firma_data) AS firma_data,
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
firma_nome
FROM in_interventi
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));
$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;
}
@ -212,7 +215,7 @@ class Interventi extends AppResource
$record->firma_file = $firma_file;
}
// Aggiornamento impianti collegati
// Aggiornamento degli impianti collegati
$database->query('DELETE FROM my_impianti_interventi WHERE idintervento = '.prepare($record->id));
foreach ($data['impianti'] as $id_impianto) {
$database->insert('my_impianti_interventi', [
@ -220,6 +223,15 @@ class Interventi extends AppResource
'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)

View File

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