Gestita visualizzazione ricorrenti su dashboard

This commit is contained in:
Luca 2023-03-29 00:36:46 +02:00
parent 1f53e2882d
commit 954c8a5703
2 changed files with 11 additions and 3 deletions

View File

@ -474,7 +474,15 @@ switch (filter('op')) {
$start = filter('start');
$end = filter('end');
$query = 'SELECT * FROM `zz_events` WHERE `zz_events`.`is_bank_holiday` = 1 AND `zz_events`.`data` >= '.prepare($start).' AND `zz_events`.`data` <= '.prepare($end);
//TODO: Problema con anni bisestili Es. 2024-02-29 e 2023-03-01 sono entrambi il 60 esimo giorno dell'anno.
$query = 'SELECT * FROM `zz_events`
WHERE `zz_events`.`is_bank_holiday` = 1
AND
(`zz_events`.`is_recurring` = 1
AND DAYOFYEAR(`zz_events`.`data`) BETWEEN
LEAST(DAYOFYEAR('.prepare($start).'), DAYOFYEAR('.prepare($end).')) AND GREATEST(DAYOFYEAR('.prepare($start).'), DAYOFYEAR('.prepare($end).')) )
OR
(`zz_events`.`is_recurring` = 0 AND `zz_events`.`data` >= '.prepare($start).' AND `zz_events`.`data` <= '.prepare($end).')';
$eventi = $dbo->fetchArray($query);
@ -483,7 +491,7 @@ switch (filter('op')) {
$results[] = [
'id' => $evento['id'],
'title' => $evento['nome'],
'start' => $evento['data'],
'start' => ($evento['is_recurring'] ? date('Y-', strtotime($start)).date('m-d', strtotime($evento['data'])): $evento['data']),
//'end' => date('Y-m-d', strtotime($evento['data']. '+1 day')),
'display' => "background",
'allDay' => true,

View File

@ -27,7 +27,7 @@ UPDATE `zz_impostazioni` SET `editable` = '0' WHERE `nome` = 'Destinatario';
-- Aggiornamento query moduli per il nuovo sistema di caricamento via ajax
UPDATE `zz_modules` SET `options` = '{ "main_query": [ { "type": "table", "fields": "Ragione sociale, Tipologia, Città, Telefono, color_Rel.", "query": "SELECT `idanagrafica` AS `id`, ragione_sociale AS `Ragione sociale`, (SELECT GROUP_CONCAT(descrizione SEPARATOR '', '') FROM an_tipianagrafiche INNER JOIN an_tipianagrafiche_anagrafiche ON an_tipianagrafiche.idtipoanagrafica=an_tipianagrafiche_anagrafiche.idtipoanagrafica GROUP BY idanagrafica HAVING idanagrafica=an_anagrafiche.idanagrafica) AS `Tipologia`, citta AS `Città`, telefono AS `Telefono`, an_relazioni.colore AS `color_Rel.`, an_relazioni.descrizione AS `color_title_Rel.`, deleted FROM an_anagrafiche LEFT OUTER JOIN an_relazioni ON an_anagrafiche.idrelazione=an_relazioni.id HAVING 1=1 AND deleted=0 ORDER BY `ragione_sociale`"} ]}' WHERE `name` = 'Anagrafiche';
UPDATE `zz_modules` SET `options` = '{ "main_query": [ { "type": "table", "fields": "ID, Tipo, Ragione sociale, Stato, Data inizio, Data fine, _print_", "query": "SELECT `in_interventi`.`idanagrafica`, `in_interventi`.`idintervento` AS `id`, `in_interventi`.`idintervento` AS `ID`, `ragione_sociale` AS `Ragione sociale`, DATE_FORMAT(MIN(`orario_inizio`), ''%d/%m/%Y'') AS `Data inizio`, DATE_FORMAT(MAX(`orario_fine`), ''%d/%m/%Y'') AS `Data fine`, `data_richiesta`, (SELECT `colore` FROM `in_statiintervento` WHERE `idstatointervento`=`in_interventi`.`idstatointervento`) AS `_bg_`, (SELECT `descrizione` FROM `in_statiintervento` WHERE `idstatointervento`=`in_interventi`.`idstatointervento`) AS `Stato`, (SELECT `descrizione` FROM `in_tipiintervento` WHERE `idtipointervento`=`in_interventi`.`idtipointervento`) AS `Tipo`, ''pdfgen.php?ptype=interventi&idintervento=$id$&mode=single'' AS `_print_`, `orario_inizio`, `orario_fine` FROM (`in_interventi` INNER JOIN `an_anagrafiche` ON `in_interventi`.`idanagrafica`=`an_anagrafiche`.`idanagrafica`) LEFT OUTER JOIN `in_interventi_tecnici` ON `in_interventi_tecnici`.`idintervento`=`in_interventi`.`idintervento` GROUP BY `in_interventi`.`idintervento` HAVING 1=1 AND ((DATE_FORMAT(`orario_inizio`, ''%Y-%m-%d'') >= ''|period_start|'' AND DATE_FORMAT(`orario_fine`, ''%Y-%m-%d'') <= ''|period_end|'') OR (DATE_FORMAT(`data_richiesta`, ''%Y-%m-%d'') >= ''|period_start|'' AND DATE_FORMAT(`data_richiesta`, ''%Y-%m-%d'') <= ''|period_end|'')) ORDER BY IFNULL(`orario_fine`, `data_richiesta`) DESC"} ]}' WHERE `zz_modules`.`name` = 'Interventi';
UPDATE `zz_modules` SET `options` = '{ "main_query": [ { "type": "table", "fields": "ID, Tipo, Ragione sociale, Stato, Data inizio, Data fine, _print_", "query": "SELECT `in_interventi`.`idanagrafica`, `in_interventi`.`idintervento` AS `id`, `in_interventi`.`idintervento` AS `ID`, `ragione_sociale` AS `Ragione sociale`, DATE_FORMAT(MIN(`orario_inizio`), ''%d/%m/%Y'') AS `Data inizio`, DATE_FORMAT(MAX(`orario_fine`), ''%d/%m/%Y'') AS `Data fine`, `data_richiesta`, (SELECT `colore` FROM `in_statiintervento` WHERE `idstatointervento`=`in_interventi`.`idstatointervento`) AS `_bg_`, (SELECT `descrizione` FROM `in_statiintervento` WHERE `idstatointervento`=`in_interventi`.`idstatointervento`) AS `Stato`, (SELECT `descrizione` FROM `in_tipiintervento` WHERE `idtipointervento`=`in_interventi`.`idtipointervento`) AS `Tipo`, ''pdfgen.php?ptype=interventi&idintervento=$id$&mode=single'' AS `_print_`, `orario_inizio`, `orario_fine` FROM (`in_interventi` INNER JOIN `an_anagrafiche` ON `in_interventi`.`idanagrafica`=`an_anagrafiche`.`idanagrafica`) LEFT OUTER JOIN `in_interventi_tecnici` ON `in_interventi_tecnici`.`idintervento`=`in_interventi`.`idintervento` GROUP BY `in_interventi`.`idintervento` HAVING 1=1 AND ((DATE_FORMAT(`orario_inizio`, ''%Y-%m-%d'') >= ''|period_start|'' AND DATE_FORMAT(`orario_fine`, ''%Y-%m-%d'') <= ''|period_end|'') OR (DATE_FORMAT(`data_richiesta`, ''%Y-%m-%d'') >= ''|period_start|'' AND DATE_FORMAT(`data_richiesta`, ''%Y-%m-%d'') <= ''|period_end|'')) ORDER BY IFNULL(`orario_fine`, `data_richiesta`) DESC"} ]}' WHERE `zz_modules`.`name` = 'Interventi';
UPDATE `zz_modules` SET `options` = '{ "main_query": [ { "type": "table", "fields": "Descrizione", "query": "SELECT `idtipoanagrafica` AS `id`, `descrizione` AS `Descrizione` FROM `an_tipianagrafiche` HAVING 1=1"} ]}' WHERE `name` = 'Tipi di anagrafiche';
UPDATE `zz_modules` SET `options` = '{ "main_query": [ { "type": "table", "fields": "Codice, Descrizione, Costo orario, Costo al km, Diritto di chiamata, Costo orario tecnico, Costo al km tecnico, Diritto di chiamata tecnico", "query": "SELECT `idtipointervento` AS `id`, `idtipointervento` AS `Codice`, `descrizione` AS `Descrizione`, REPLACE(FORMAT(`costo_orario`,2), ''.'', '','') AS `Costo orario`, REPLACE(FORMAT(`costo_km`,2), ''.'', '','') AS `Costo al km`, REPLACE(FORMAT(`costo_diritto_chiamata`,2), ''.'', '','') AS `Diritto di chiamata`, REPLACE(FORMAT(`costo_orario_tecnico`,2), ''.'', '','') AS `Costo orario tecnico`, REPLACE(FORMAT(`costo_km_tecnico`,2), ''.'', '','') AS `Costo al km tecnico`, REPLACE(FORMAT(`costo_diritto_chiamata_tecnico`,2), ''.'', '','') AS `Diritto di chiamata tecnico` FROM `in_tipiintervento` HAVING 1=1"} ]}' WHERE `name` = 'Tipi di intervento';
UPDATE `zz_modules` SET `options` = '{ "main_query": [ { "type": "table", "fields": "Codice, Descrizione, color_Colore", "query": "SELECT `idstatointervento` AS `Codice`, `idstatointervento` AS `id`, `descrizione` AS `Descrizione`, `colore` AS `color_Colore` FROM `in_statiintervento` HAVING 1=1"} ]}' WHERE `name` = 'Stati di intervento';