Skip to content

Commit 8127ab6

Browse files
fix: distinzione somma ore sessioni da conteggiare per consuntivo
1 parent 950016b commit 8127ab6

5 files changed

Lines changed: 19 additions & 7 deletions

File tree

modules/contratti/ajax/select.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
$contratti_results = [];
6868
foreach ($rs as $r) {
6969
$contratto = Contratto::find($r['id']);
70-
$ore_erogate = $contratto->interventi->sum('ore_totali');
70+
$ore_erogate = $contratto->interventi->sum('ore_totali_da_conteggiare');
7171
$ore_previste = $contratto->getRighe()->where('um', 'ore')->sum('qta');
7272
$perc_ore = $ore_previste > 0 ? ($ore_erogate * 100) / $ore_previste : 0;
7373
if ($ore_previste) {

modules/interventi/header.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
->where('orario_inizio', '<', Carbon::tomorrow())
6464
->sum('ore');
6565
} else {
66-
$ore_erogate = $contratto->interventi->sum('ore_totali');
66+
$ore_erogate = $contratto->interventi->sum('ore_ore_totali_da_conteggiaretotali');
6767
}
6868
$ore_previste = $contratto->getRighe()->where('um', 'ore')->sum('qta');
6969
$perc_ore = $ore_previste != 0 ? ($ore_erogate * 100) / ($ore_previste ?: 1) : 0;

modules/interventi/src/Intervento.php

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,14 +82,25 @@ public static function build(Anagrafica $anagrafica, TipoSessione $tipo_sessione
8282
public function getOreTotaliAttribute()
8383
{
8484
if (!isset($this->info['ore_totali'])) {
85-
$sessioni = $this->sessioni()->leftJoin('in_tipiintervento', 'in_interventi_tecnici.idtipointervento', 'in_tipiintervento.id')->where('non_conteggiare', 0);
85+
$sessioni = $this->sessioni;
8686

8787
$this->info['ore_totali'] = $sessioni->sum('ore');
8888
}
8989

9090
return $this->info['ore_totali'];
9191
}
9292

93+
public function getOreTotaliDaConteggiareAttribute()
94+
{
95+
if (!isset($this->info['ore_totali_da_conteggiare'])) {
96+
$sessioni = $this->sessioni()->leftJoin('in_tipiintervento', 'in_interventi_tecnici.idtipointervento', 'in_tipiintervento.id')->where('non_conteggiare', 0);
97+
98+
$this->info['ore_totali_da_conteggiare'] = $sessioni->sum('ore');
99+
}
100+
101+
return $this->info['ore_totali_da_conteggiare'];
102+
}
103+
93104
public function getKmTotaliAttribute()
94105
{
95106
if (!isset($this->info['km_totali'])) {
@@ -197,6 +208,7 @@ public function toArray()
197208

198209
$result = array_merge($array, [
199210
'ore_totali' => $this->ore_totali,
211+
'ore_totali_da_conteggiare' => $this->ore_totali_da_conteggiare,
200212
'km_totali' => $this->km_totali,
201213
]);
202214

plugins/consuntivo/edit.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ function getQueryInterventiDisponibili($idanagrafica)
157157

158158
// Tabella con i dati
159159
foreach ($interventi as $intervento) {
160-
$totale_ore_completate += !empty($intervento->stato->is_bloccato) ? $intervento->ore_totali : 0;
160+
$totale_ore_completate += !empty($intervento->stato->is_bloccato) ? $intervento->ore_totali_da_conteggiare : 0;
161161
// Riga per il singolo intervento
162162
echo '
163163
<tr style="background:'.$intervento->stato->colore.';">
@@ -172,7 +172,7 @@ function getQueryInterventiDisponibili($idanagrafica)
172172
</td>
173173
174174
<td class="text-right">
175-
'.($intervento->ore_totali <= 0 ? '<i class="fa fa-exclamation-triangle text-warning" title="'.tr('Questa sessione è vuota').'"></i> ' : '').numberFormat($intervento->ore_totali).'
175+
'.($intervento->ore_totali_da_conteggiare <= 0 ? '<i class="fa fa-exclamation-triangle text-warning" title="'.tr('Questa sessione è vuota').'"></i> ' : '').numberFormat($intervento->ore_totali_da_conteggiare).'
176176
</td>
177177
178178
<td class="text-right">
@@ -351,7 +351,7 @@ function getQueryInterventiDisponibili($idanagrafica)
351351
$totale_costo = sum(array_column($array_interventi, 'spesa'));
352352
$totale_addebito = sum(array_column($array_interventi, 'imponibile'));
353353
$totale = sum(array_column($array_interventi, 'totale_imponibile'));
354-
$totale_ore = sum(array_column($array_interventi, 'ore_totali'));
354+
$totale_ore = sum(array_column($array_interventi, 'ore_totali_da_conteggiare'));
355355
// Totali
356356
echo '
357357
<tr class="font-weight-bold">

templates/contratti_cons/bottom.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828
$rs = $dbo->fetchArray("SELECT SUM(qta) AS totale_ore FROM `co_righe_contratti` WHERE um='ore' AND idcontratto = ".prepare($id_record));
2929
$totale_ore = $rs[0]['totale_ore'];
30-
$totale_ore_impiegate = $records->sum('ore_totali');
30+
$totale_ore_impiegate = $records->sum('ore_totali_da_conteggiare');
3131

3232
if ($pricing || !empty($totale_ore)) {
3333
// Totale imponibile

0 commit comments

Comments
 (0)