Fix calcolo trasferta interventi in fattura

This commit is contained in:
loviuz 2020-01-24 12:24:20 +01:00
parent b23075a804
commit 2e2ca32645
3 changed files with 32 additions and 29 deletions

View File

@ -489,8 +489,6 @@ switch (post('op')) {
$r->delete();
}
//$dbo->query("UPDATE in_interventi SET idstatointervento = (SELECT idstatointervento FROM in_statiintervento WHERE descrizione = 'Completato') WHERE id=".prepare($idintervento));
flash()->info(tr('Intervento _NUM_ rimosso!', [
'_NUM_' => $idintervento,
]));

View File

@ -167,7 +167,7 @@ trait RelationTrait
$result = parent::delete();
if (!empty($this->idintervento)) {
database()->query("UPDATE in_interventi SET idstatointervento = (SELECT idstatointervento FROM in_statiintervento WHERE descrizione = 'Completato') WHERE id=".prepare($this->idintervento));
database()->query("UPDATE in_interventi SET idstatointervento = (SELECT idstatointervento FROM in_statiintervento WHERE codice = 'OK') WHERE id=".prepare($this->idintervento));
}
return $result;

View File

@ -177,6 +177,37 @@ function aggiungi_intervento_in_fattura($id_intervento, $id_fattura, $descrizion
$riga->save();
}
// Viaggi raggruppati per costo
$viaggi = $sessioni->where('prezzo_km_unitario', '>', 0)->groupBy(function ($item, $key) {
return $item['prezzo_km_unitario'];
});
foreach ($viaggi as $gruppo) {
$viaggio = $gruppo->first();
$riga = Riga::build($fattura);
$riga->descrizione = tr("Trasferta dell'intervento _NUM_ del _DATE_", [
'_NUM_' => $codice,
'_DATE_' => dateFormat($data),
]);
$riga->idintervento = $id_intervento;
$riga->um = 'km';
$riga->id_iva = $id_iva;
$riga->idconto = $id_conto;
$riga->calcolo_ritenuta_acconto = $calcolo_ritenuta_acconto;
$riga->id_ritenuta_acconto = $id_ritenuta_acconto;
$riga->id_rivalsa_inps = $id_rivalsa_inps;
$riga->prezzo_unitario_vendita = $viaggio->prezzo_km_unitario;
$riga->sconto_unitario = $sessione->scontokm_unitario;
$riga->tipo_sconto = $sessione->tipo_scontokm;
$riga->qta = $gruppo->sum('km');
$riga->save();
}
}
// Articoli, righe, sconti e descrizioni collegati all'intervento
@ -199,32 +230,6 @@ function aggiungi_intervento_in_fattura($id_intervento, $id_fattura, $descrizion
$copia->save();
}
// Aggiunta km come "Trasferta" (se c'è)
if ($intervento->prezzo_viaggio > 0) {
$riga = Riga::build($fattura);
$riga->descrizione = tr("Trasferta dell'intervento _NUM_ del _DATE_", [
'_NUM_' => $codice,
'_DATE_' => dateFormat($data),
]);
$riga->idintervento = $id_intervento;
$riga->id_iva = $id_iva;
$riga->idconto = $id_conto;
$riga->calcolo_ritenuta_acconto = $calcolo_ritenuta_acconto;
$riga->id_ritenuta_acconto = $id_ritenuta_acconto;
$riga->id_rivalsa_inps = $id_rivalsa_inps;
$riga->prezzo_unitario_vendita = $intervento->prezzo_viaggio;
$riga->sconto_unitario = $intervento->sconto_totale_viaggio;
$riga->tipo_sconto = 'UNT';
$riga->qta = 1;
$riga->save();
}
// Ricalcolo inps, ritenuta e bollo
ricalcola_costiagg_fattura($id_fattura);