Fix fatturazione sessioni tecnici
This commit is contained in:
parent
7ca9d79bed
commit
a86574be4f
|
@ -171,8 +171,6 @@ if (!function_exists('aggiungi_intervento_in_fattura')) {
|
||||||
|
|
||||||
$fattura = Fattura::find($id_fattura);
|
$fattura = Fattura::find($id_fattura);
|
||||||
$intervento = Intervento::find($id_intervento);
|
$intervento = Intervento::find($id_intervento);
|
||||||
|
|
||||||
$data = $intervento->fine;
|
|
||||||
$codice = $intervento->codice;
|
$codice = $intervento->codice;
|
||||||
|
|
||||||
// Riga di descrizione
|
// Riga di descrizione
|
||||||
|
@ -193,12 +191,20 @@ if (!function_exists('aggiungi_intervento_in_fattura')) {
|
||||||
|
|
||||||
$ore_di_lavoro = $sessioni->groupBy(fn ($item, $key) => $item['prezzo_orario'].'|'.$item['sconto_unitario'].'|'.$item['tipo_sconto']);
|
$ore_di_lavoro = $sessioni->groupBy(fn ($item, $key) => $item['prezzo_orario'].'|'.$item['sconto_unitario'].'|'.$item['tipo_sconto']);
|
||||||
foreach ($ore_di_lavoro as $gruppo) {
|
foreach ($ore_di_lavoro as $gruppo) {
|
||||||
|
$date = [];
|
||||||
$sessione = $gruppo->first();
|
$sessione = $gruppo->first();
|
||||||
$riga = Riga::build($fattura);
|
$riga = Riga::build($fattura);
|
||||||
|
|
||||||
|
foreach ($gruppo as $sessione){
|
||||||
|
$dateValue = date('d/m/Y', strtotime($sessione->orario_fine));
|
||||||
|
if (!in_array($dateValue, $date)) {
|
||||||
|
$date[] = $dateValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$riga->descrizione = tr("Ore di lavoro dell'attività _NUM_ del _DATE_", [
|
$riga->descrizione = tr("Ore di lavoro dell'attività _NUM_ del _DATE_", [
|
||||||
'_NUM_' => $codice,
|
'_NUM_' => $codice,
|
||||||
'_DATE_' => dateFormat($data),
|
'_DATE_' => implode(', ', $date),
|
||||||
]);
|
]);
|
||||||
$riga->idintervento = $id_intervento;
|
$riga->idintervento = $id_intervento;
|
||||||
$riga->um = 'ore';
|
$riga->um = 'ore';
|
||||||
|
@ -235,12 +241,20 @@ if (!function_exists('aggiungi_intervento_in_fattura')) {
|
||||||
// Diritti di chiamata raggruppati per costo
|
// Diritti di chiamata raggruppati per costo
|
||||||
$diritti_chiamata = $sessioni->where('prezzo_diritto_chiamata', '>', 0)->groupBy(fn ($item, $key) => $item['prezzo_diritto_chiamata']);
|
$diritti_chiamata = $sessioni->where('prezzo_diritto_chiamata', '>', 0)->groupBy(fn ($item, $key) => $item['prezzo_diritto_chiamata']);
|
||||||
foreach ($diritti_chiamata as $gruppo) {
|
foreach ($diritti_chiamata as $gruppo) {
|
||||||
|
$date = [];
|
||||||
$diritto_chiamata = $gruppo->first();
|
$diritto_chiamata = $gruppo->first();
|
||||||
$riga = Riga::build($fattura);
|
$riga = Riga::build($fattura);
|
||||||
|
|
||||||
|
foreach ($gruppo as $sessione){
|
||||||
|
$dateValue = date('d/m/Y', strtotime($sessione->orario_fine));
|
||||||
|
if (!in_array($dateValue, $date)) {
|
||||||
|
$date[] = $dateValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$riga->descrizione = tr("Diritto di chiamata dell'attività _NUM_ del _DATE_", [
|
$riga->descrizione = tr("Diritto di chiamata dell'attività _NUM_ del _DATE_", [
|
||||||
'_NUM_' => $codice,
|
'_NUM_' => $codice,
|
||||||
'_DATE_' => dateFormat($data),
|
'_DATE_' => implode(', ', $date),
|
||||||
]);
|
]);
|
||||||
$riga->idintervento = $id_intervento;
|
$riga->idintervento = $id_intervento;
|
||||||
// $riga->um = 'ore';
|
// $riga->um = 'ore';
|
||||||
|
@ -266,17 +280,25 @@ if (!function_exists('aggiungi_intervento_in_fattura')) {
|
||||||
// Viaggi raggruppati per costo
|
// Viaggi raggruppati per costo
|
||||||
$viaggi = $sessioni->where('prezzo_km_unitario', '>', 0)->groupBy(fn ($item, $key) => $item['prezzo_km_unitario'].'|'.$item['scontokm_unitario'].'|'.$item['tipo_scontokm']);
|
$viaggi = $sessioni->where('prezzo_km_unitario', '>', 0)->groupBy(fn ($item, $key) => $item['prezzo_km_unitario'].'|'.$item['scontokm_unitario'].'|'.$item['tipo_scontokm']);
|
||||||
foreach ($viaggi as $gruppo) {
|
foreach ($viaggi as $gruppo) {
|
||||||
|
$date = [];
|
||||||
$qta_trasferta = $gruppo->sum('km');
|
$qta_trasferta = $gruppo->sum('km');
|
||||||
if ($qta_trasferta == 0) {
|
if ($qta_trasferta == 0) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach ($gruppo as $sessione){
|
||||||
|
$dateValue = date('d/m/Y', strtotime($sessione->orario_fine));
|
||||||
|
if (!in_array($dateValue, $date)) {
|
||||||
|
$date[] = $dateValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$viaggio = $gruppo->first();
|
$viaggio = $gruppo->first();
|
||||||
$riga = Riga::build($fattura);
|
$riga = Riga::build($fattura);
|
||||||
|
|
||||||
$riga->descrizione = tr("Trasferta dell'attività _NUM_ del _DATE_", [
|
$riga->descrizione = tr("Trasferta dell'attività _NUM_ del _DATE_", [
|
||||||
'_NUM_' => $codice,
|
'_NUM_' => $codice,
|
||||||
'_DATE_' => dateFormat($data),
|
'_DATE_' => implode(', ', $date),
|
||||||
]);
|
]);
|
||||||
$riga->idintervento = $id_intervento;
|
$riga->idintervento = $id_intervento;
|
||||||
$riga->um = 'km';
|
$riga->um = 'km';
|
||||||
|
|
Loading…
Reference in New Issue