Skip to content

Commit 243aeae

Browse files
committed
feat: aggiunta impostazione per limitare conteggio ore ad oggi nell'intestazione
1 parent 9e7a07f commit 243aeae

2 files changed

Lines changed: 19 additions & 2 deletions

File tree

modules/interventi/header.php

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,22 @@
4949

5050
// Contratto
5151
$contratto = null;
52+
$metodo_conteggio = setting('Limita conteggio ore ad oggi nell\'intestazione');
5253
$ore_erogate = 0;
5354
$ore_previste = 0;
5455
$perc_ore = 0;
5556
$color = 'danger';
5657
if ($intervento->id_contratto) {
5758
$contratto = Contratto::find($intervento->id_contratto);
58-
$ore_erogate = $contratto->interventi->sum('ore_totali');
59+
// Se metodo_conteggio è 1, conta solo le sessioni fino a data odierna
60+
if ($metodo_conteggio == 1) {
61+
$ore_erogate = \Modules\Interventi\Components\Sessione::join('in_interventi', 'in_interventi_tecnici.idintervento', '=', 'in_interventi.id')
62+
->where('in_interventi.id_contratto', $contratto->id)
63+
->where('orario_inizio', '<', Carbon::tomorrow())
64+
->sum('ore');
65+
} else {
66+
$ore_erogate = $contratto->interventi->sum('ore_totali');
67+
}
5968
$ore_previste = $contratto->getRighe()->where('um', 'ore')->sum('qta');
6069
$perc_ore = $ore_previste != 0 ? ($ore_erogate * 100) / ($ore_previste ?: 1) : 0;
6170
if ($perc_ore < 75) {

update/2_11.sql

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,12 @@ INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `visible`) VALUES
2626

2727
INSERT INTO `zz_views_lang` (`id_lang`, `id_record`, `title`) VALUES
2828
(1, (SELECT MAX(`id`) FROM `zz_views`), 'Attivo'),
29-
(2, (SELECT MAX(`id`) FROM `zz_views`), 'Enabled');
29+
(2, (SELECT MAX(`id`) FROM `zz_views`), 'Enabled');
30+
31+
-- Aggiunta impostazione Limita conteggio ore ad oggi nell'intestazione
32+
INSERT INTO `zz_settings` (`nome`, `valore`, `tipo`, `editable`, `sezione`) VALUES
33+
('Limita conteggio ore ad oggi nell''intestazione', '0', 'boolean', 1, 'Attività');
34+
35+
INSERT INTO `zz_settings_lang` (`id_lang`, `id_record`, `title`, `help`) VALUES
36+
(1, (SELECT MAX(`id`) FROM `zz_settings`), 'Limita conteggio ore ad oggi nell''intestazione', 'Conteggia nell''intestazione attività solo le ore di lavoro dall''inizio al giorno corrente; se disabilitato conteggia tutte le ore collegate a un documento.'),
37+
(2, (SELECT MAX(`id`) FROM `zz_settings`), 'Limita conteggio ore ad oggi nell''intestazione', 'Conteggia nell''intestazione attività solo le ore di lavoro dall''inizio al giorno corrente; se disabilitato conteggia tutte le ore collegate a un documento.');

0 commit comments

Comments
 (0)