-- Modificato plugin per la gestione del contratto predefinito
UPDATE `zz_plugins` SET `script` = '', `options` = ' { \"main_query\": [ { \"type\": \"table\", \"fields\": \"Numero, Nome, Totale, Stato, Predefinito\", \"query\": \"SELECT co_contratti.id, numero AS Numero, `co_contratti`.`nome` AS Nome, an_anagrafiche.ragione_sociale AS Cliente, FORMAT(righe.totale_imponibile,2) AS Totale, co_staticontratti.descrizione AS Stato, IF(`co_contratti`.`predefined`=1, \'SÌ\', \'NO\') AS Predefinito FROM `co_contratti` LEFT JOIN `an_anagrafiche` ON `co_contratti`.`idanagrafica` = `an_anagrafiche`.`idanagrafica` LEFT JOIN `co_staticontratti` ON `co_contratti`.`idstato` = `co_staticontratti`.`id` LEFT JOIN (SELECT `idcontratto`, SUM(`subtotale` - `sconto`) AS `totale_imponibile`, SUM(`subtotale` - `sconto` + `iva`) AS `totale` FROM `co_righe_contratti` GROUP BY `idcontratto` ) AS righe ON `co_contratti`.`id` =`righe`.`idcontratto` WHERE 1=1 AND `co_contratti`.`idanagrafica`=|id_parent| GROUP BY `co_contratti`.`id` HAVING 2=2 ORDER BY `co_contratti`.`id` ASC\"} ]}', `directory` = 'contratti_anagrafiche' WHERE `zz_plugins`.`name` = 'Contratti del cliente';

ALTER TABLE `co_contratti` ADD `predefined` BOOLEAN NOT NULL AFTER `condizioni_fornitura`;

-- Aggiunto select Agenda per impostazione Dashboard
UPDATE `zz_settings` SET `tipo` = 'list[mese,settimana,giorno,agenda]' WHERE `zz_settings`.`nome` = 'Vista dashboard'; 

-- Aggiunta colonna Impianti in Attività
UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM `in_interventi`\nINNER JOIN `an_anagrafiche` ON `in_interventi`.`idanagrafica` = `an_anagrafiche`.`idanagrafica`\nLEFT JOIN `in_interventi_tecnici` ON `in_interventi_tecnici`.`idintervento` = `in_interventi`.`id`\nLEFT JOIN `in_interventi_tecnici_assegnati` ON `in_interventi_tecnici_assegnati`.`id_intervento` = `in_interventi`.`id`\nLEFT JOIN `in_statiintervento` ON `in_interventi`.`idstatointervento`=`in_statiintervento`.`idstatointervento`\nLEFT JOIN (\n    SELECT an_sedi.id, CONCAT(an_sedi.nomesede, \'<br />\',IF(an_sedi.telefono!=\'\',CONCAT(an_sedi.telefono,\'<br />\'),\'\'),IF(an_sedi.cellulare!=\'\',CONCAT(an_sedi.cellulare,\'<br />\'),\'\'),an_sedi.citta,IF(an_sedi.indirizzo!=\'\',CONCAT(\' - \',an_sedi.indirizzo),\'\')) AS info FROM an_sedi\n) AS sede_destinazione ON sede_destinazione.id = in_interventi.idsede_destinazione\nLEFT JOIN (\n    SELECT co_righe_documenti.idintervento, CONCAT(\'Fatt. \', co_documenti.numero_esterno, \' del \', DATE_FORMAT(co_documenti.data, \'%d/%m/%Y\')) AS info FROM co_documenti INNER JOIN co_righe_documenti ON co_documenti.id = co_righe_documenti.iddocumento\n) AS fattura ON fattura.idintervento = in_interventi.id\nLEFT JOIN (SELECT `zz_operations`.`id_email`, `zz_operations`.`id_record`\n    FROM `zz_operations`\n    INNER JOIN `em_emails` ON `zz_operations`.`id_email` = `em_emails`.`id`\n    INNER JOIN `em_templates` ON `em_emails`.`id_template` = `em_templates`.`id`\n    INNER JOIN `zz_modules` ON `zz_operations`.`id_module` = `zz_modules`.`id` \n    WHERE `zz_modules`.`name` = \'Interventi\' AND `zz_operations`.`op` = \'send-email\' \n    GROUP BY `zz_operations`.`id_record`) AS email ON email.id_record=in_interventi.id\nLEFT JOIN (\n    SELECT GROUP_CONCAT(CONCAT(matricola, IF(nome != \'\', CONCAT(\' - \', nome), \'\')) SEPARATOR \'<br>\') AS descrizione, my_impianti_interventi.idintervento\n    FROM my_impianti\n        INNER JOIN my_impianti_interventi ON my_impianti.id = my_impianti_interventi.idimpianto\n    GROUP BY my_impianti_interventi.idintervento\n) AS impianti ON impianti.idintervento = in_interventi.id\nWHERE 1=1 |date_period(`orario_inizio`,`data_richiesta`)|\nGROUP BY `in_interventi`.`id`\nHAVING 2=2\nORDER BY IFNULL(`orario_fine`, `data_richiesta`) DESC' WHERE `zz_modules`.`name` = 'Interventi';

INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES (NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Interventi'), 'Impianti', 'impianti.descrizione', '16', '1', '0', '0', '1', NULL, NULL, '0', '0', '1'); 

-- Allineamento totali dichiaranzione d'intento
UPDATE `co_dichiarazioni_intento` INNER JOIN (SELECT `co_documenti`.`id_dichiarazione_intento`, SUM(IF(`co_tipidocumento`.`reversed`=1, (-(`co_righe_documenti`.`subtotale`-`co_righe_documenti`.`sconto`)), (`co_righe_documenti`.`subtotale`-`co_righe_documenti`.`sconto`))) AS `totale` FROM `co_righe_documenti` INNER JOIN `co_documenti` ON `co_documenti`.`id`=`co_righe_documenti`.`iddocumento` INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id`=`co_documenti`.`idtipodocumento` INNER JOIN `co_iva` ON `co_iva`.`id`=`co_righe_documenti`.`idiva` WHERE `co_iva`.`codice_natura_fe`='N3.5' GROUP BY `co_documenti`.`id_dichiarazione_intento`) AS `righe` ON `righe`.`id_dichiarazione_intento`=`co_dichiarazioni_intento`.`id` SET `co_dichiarazioni_intento`.`totale`=`righe`.`totale`;