From a31b73d316c2528d727b8d1bbd21449ce11f6e8c Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Mon, 13 Mar 2023 11:07:50 +0100 Subject: [PATCH] Miglioria widget contratti in scadenza --- .../widgets/contratti_scadenza.dashboard.php | 15 ++++++++++++--- update/2_4_43.sql | 1 + 2 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 update/2_4_43.sql diff --git a/modules/contratti/widgets/contratti_scadenza.dashboard.php b/modules/contratti/widgets/contratti_scadenza.dashboard.php index 5ee7d078d..730a99ba3 100755 --- a/modules/contratti/widgets/contratti_scadenza.dashboard.php +++ b/modules/contratti/widgets/contratti_scadenza.dashboard.php @@ -30,7 +30,7 @@ FROM co_contratti WHERE rinnovabile = 1 AND YEAR(data_conclusione) > 1970 AND co_contratti.id NOT IN (SELECT idcontratto_prev FROM co_contratti contratti) -HAVING (ore_rimanenti < ore_preavviso_rinnovo OR DATEDIFF(data_conclusione, NOW()) < ABS(giorni_preavviso_rinnovo)) +HAVING (ore_rimanenti <= ore_preavviso_rinnovo OR DATEDIFF(data_conclusione, NOW()) <= ABS(giorni_preavviso_rinnovo)) ORDER BY giorni_rimanenti ASC, ore_rimanenti ASC'); if (!empty($rs)) { @@ -40,7 +40,7 @@ if (!empty($rs)) { '.tr('Contratto').' '.tr('Data inizio').' '.tr('Data conclusione').' - '.tr('Rinnovo').' + '.tr('Scadenza').' '; foreach ($rs as $r) { @@ -61,7 +61,16 @@ if (!empty($rs)) { $ore_rimanenti = str_replace('_NUM_', abs($r['ore_rimanenti']), $ore_rimanenti); } - $scadenza = ($r['giorni_rimanenti'] > 0) ? tr('scade tra _DAYS_ giorni') : tr('scaduto da _DAYS_ giorni'); + if ($r['giorni_rimanenti'] > 0) { + if ($r['giorni_rimanenti'] > 1) { + $scadenza = tr('tra _DAYS_ giorni'); + } else { + $scadenza = tr('tra _DAYS_ giorno'); + } + } else { + $scadenza = tr('scaduto da _DAYS_ giorni'); + } + $scadenza = str_replace('_DAYS_', abs($r['giorni_rimanenti']), $scadenza); echo ' diff --git a/update/2_4_43.sql b/update/2_4_43.sql new file mode 100644 index 000000000..117c35016 --- /dev/null +++ b/update/2_4_43.sql @@ -0,0 +1 @@ +UPDATE `zz_widgets` SET `query` = 'SELECT COUNT(dati.id) AS dato FROM(SELECT id, ((SELECT SUM(co_righe_contratti.qta) FROM co_righe_contratti WHERE co_righe_contratti.um=\'ore\' AND co_righe_contratti.idcontratto=co_contratti.id) - IFNULL( (SELECT SUM(in_interventi_tecnici.ore) FROM in_interventi_tecnici INNER JOIN in_interventi ON in_interventi_tecnici.idintervento=in_interventi.id WHERE in_interventi.id_contratto=co_contratti.id AND in_interventi.idstatointervento IN (SELECT in_statiintervento.idstatointervento FROM in_statiintervento WHERE in_statiintervento.is_completato = 1)), 0) ) AS ore_rimanenti, DATEDIFF(data_conclusione, NOW()) AS giorni_rimanenti, data_conclusione, ore_preavviso_rinnovo, giorni_preavviso_rinnovo, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=co_contratti.idanagrafica) AS ragione_sociale FROM co_contratti WHERE rinnovabile = 1 AND YEAR(data_conclusione) > 1970 AND co_contratti.id NOT IN (SELECT idcontratto_prev FROM co_contratti contratti) HAVING (ore_rimanenti <= ore_preavviso_rinnovo OR DATEDIFF(data_conclusione, NOW()) <= ABS(giorni_preavviso_rinnovo)) ORDER BY giorni_rimanenti ASC, ore_rimanenti ASC) dati' WHERE `zz_widgets`.`name` = 'Contratti in scadenza'; \ No newline at end of file