-- Aggiornamento calcolo quantità impegnate ed evase
UPDATE`zz_modules`SET`options`='SELECT |select|\nFROM `mg_articoli`\n LEFT JOIN an_anagrafiche ON mg_articoli.id_fornitore = an_anagrafiche.idanagrafica\n LEFT JOIN co_iva ON mg_articoli.idiva_vendita = co_iva.id\n LEFT JOIN (\n SELECT SUM(or_righe_ordini.qta - or_righe_ordini.qta_evasa) AS qta_impegnata, or_righe_ordini.idarticolo\n FROM or_righe_ordini\n INNER JOIN or_ordini ON or_righe_ordini.idordine = or_ordini.id\n INNER JOIN or_tipiordine ON or_ordini.idtipoordine = or_tipiordine.id\n INNER JOIN or_statiordine ON or_ordini.idstatoordine = or_statiordine.id\n WHERE\n or_tipiordine.dir = \'entrata\'\n AND or_righe_ordini.confermato = 1\n AND or_statiordine.impegnato = 1\n GROUP BY idarticolo\n ) a ON a.idarticolo = mg_articoli.id\n LEFT JOIN (\n SELECT SUM(or_righe_ordini.qta-or_righe_ordini.qta_evasa) AS qta_ordinata, or_righe_ordini.idarticolo\n FROM or_righe_ordini\n INNER JOIN or_ordini ON or_righe_ordini.idordine = or_ordini.id\n INNER JOIN or_tipiordine ON or_ordini.idtipoordine = or_tipiordine.id\n INNER JOIN or_statiordine ON or_ordini.idstatoordine = or_statiordine.id\n WHERE\n or_tipiordine.dir = \'uscita\'\n AND or_righe_ordini.confermato = 1\n AND or_statiordine.impegnato = 1\n GROUP BY idarticolo\n ) ordini_fornitore ON ordini_fornitore.idarticolo = mg_articoli.id\n LEFT JOIN mg_categorie ON mg_articoli.id_categoria = mg_categorie.id\n LEFT JOIN mg_categorie AS sottocategorie ON mg_articoli.id_sottocategoria = sottocategorie.id\nWHERE 1=1 AND (`mg_articoli`.`deleted_at`) IS NULL\nHAVING 2=2\nORDER BY `mg_articoli`.`descrizione`'WHERE`zz_modules`.`name`='Articoli';
UPDATE`zz_segments`SET`clause`='(orario_inizio BETWEEN \'|period_start|\' AND \'|period_end|\' OR orario_fine BETWEEN \'|period_start|\' AND \'|period_end|\')'WHERE`zz_segments`.`name`='Attività';
-- Aumentato limite per campo note in scheda anagrafica
UPDATE`zz_modules`SET`options`='SELECT |select| FROM mg_prezzi_articoli INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = mg_prezzi_articoli.id_anagrafica INNER JOIN mg_articoli ON mg_articoli.id = mg_prezzi_articoli.id_articolo LEFT JOIN mg_categorie AS categoria ON mg_articoli.id_categoria=categoria.id LEFT JOIN mg_categorie AS sottocategoria ON mg_articoli.id_sottocategoria=sottocategoria.id WHERE 1=1 AND mg_articoli.deleted_at IS NULL AND an_anagrafiche.deleted_at IS NULL HAVING 2=2 ORDER BY an_anagrafiche.ragione_sociale'WHERE`zz_modules`.`name`='Listini';
INSERTINTO`zz_group_module`(`idgruppo`,`idmodule`,`name`,`clause`,`position`,`enabled`,`default`)VALUES((SELECT`id`FROM`zz_groups`WHERE`nome`='Tecnici'),(SELECT`id`FROM`zz_modules`WHEREname='Interventi'),'Mostra interventi ai tecnici assegnati','in_interventi.id IN (SELECT id_intervento FROM in_interventi_tecnici_assegnati WHERE id_intervento=in_interventi.id AND id_tecnico=|id_anagrafica|)','WHR',0,1);
((SELECT`id`FROM`zz_modules`WHEREname='Ordini cliente'),'icon_Prev. evasione','IF(righe.`qta_da_evadere` > 0,IF((righe_da_evadere.data_evasione>now() OR righe_da_evadere.data_evasione IS NULL), \'fafa-clock-otext-info\', \'fafa-warningtext-danger\'), \'fafa-checktext-success\')',8,1,0,0,'','',0,0,0),
((SELECT`id`FROM`zz_modules`WHEREname='Ordini cliente'),'icon_title_Prev. evasione','IF(righe.`qta_da_evadere` > 0,IF((righe_da_evadere.data_evasione>now() OR righe_da_evadere.data_evasione IS NULL), \'Inorario\', \'Inritardo\'), \'Consegnato\')',9,1,0,0,'','',0,0,0);
UPDATE`zz_modules`SET`options`='SELECT |select|\nFROM `or_ordini`\n LEFT JOIN `an_anagrafiche` ON `or_ordini`.`idanagrafica` = `an_anagrafiche`.`idanagrafica`\n LEFT JOIN `or_tipiordine` ON `or_ordini`.`idtipoordine` = `or_tipiordine`.`id`\n LEFT JOIN (\n SELECT `idordine`,\n SUM(`qta` - `qta_evasa`) AS `qta_da_evadere`,\n SUM(`subtotale` - `sconto`) AS `totale_imponibile`,\n SUM(`subtotale` - `sconto` + `iva`) AS `totale`\n FROM `or_righe_ordini`\n GROUP BY `idordine`\n ) AS righe ON `or_ordini`.`id` = `righe`.`idordine`\n LEFT JOIN (\n SELECT `idordine`,\n MIN(`data_evasione`) AS `data_evasione`\n FROM `or_righe_ordini`\n WHERE (`qta` - `qta_evasa`)>0\n GROUP BY `idordine`\n ) AS `righe_da_evadere` ON `righe`.`idordine`=`righe_da_evadere`.`idordine`\nWHERE 1=1 AND `dir` = \'entrata\' |date_period(`data`)|\nHAVING 2=2\nORDER BY `data` DESC, CAST(`numero_esterno` AS UNSIGNED) DESC'WHERE`zz_modules`.`name`='Ordini cliente';
UPDATE`zz_modules`SET`options`='SELECT |select|\nFROM `or_ordini`\n LEFT JOIN `an_anagrafiche` ON `or_ordini`.`idanagrafica` = `an_anagrafiche`.`idanagrafica`\n LEFT JOIN `or_tipiordine` ON `or_ordini`.`idtipoordine` = `or_tipiordine`.`id`\n LEFT JOIN (\n SELECT `idordine`,\n SUM(`qta` - `qta_evasa`) AS `qta_da_evadere`,\n SUM(`subtotale` - `sconto`) AS `totale_imponibile`,\n SUM(`subtotale` - `sconto` + `iva`) AS `totale`\n FROM `or_righe_ordini`\n GROUP BY `idordine`\n ) AS righe ON `or_ordini`.`id` = `righe`.`idordine`\n LEFT JOIN (\n SELECT `idordine`,\n MIN(`data_evasione`) AS `data_evasione`\n FROM `or_righe_ordini`\n WHERE (`qta` - `qta_evasa`)>0\n GROUP BY `idordine`\n ) AS `righe_da_evadere` ON `righe`.`idordine`=`righe_da_evadere`.`idordine`\nWHERE 1=1 AND `dir` = \'uscita\' |date_period(`data`)|\nHAVING 2=2\nORDER BY `data` DESC, CAST(`numero_esterno` AS UNSIGNED) DESC'WHERE`zz_modules`.`name`='Ordini fornitore';
INSERTINTO`zz_group_module`(`idgruppo`,`idmodule`,`name`,`clause`,`position`,`enabled`,`default`)VALUES(4,31,'Mostra i contratti ai clienti coivolti','co_contratti.idanagrafica=|id_anagrafica|','WHR',1,1);
UPDATE`zz_widgets`SET`query`='SELECT \n CONCAT_WS(\'\', REPLACE(REPLACE(REPLACE(FORMAT((\n SELECT SUM(da_pagare-pagato)), 2), \',\', \'#\'), \'.\', \',\'),\'#\', \'.\'), \'€\') AS dato FROM (co_scadenziario INNER JOIN co_documenti ON co_scadenziario.iddocumento=co_documenti.id) INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_tipidocumento.dir=\'entrata\' AND co_documenti.idstatodocumento!=1 |segment| AND 1=1' WHERE `zz_widgets`.`name` = 'Crediti da clienti';
-- Aggiunto campo descrizione revisione in preventivi
UPDATE`zz_modules`SET`options`='SELECT |select| FROM `do_documenti`\r\nINNER JOIN `do_categorie` ON `do_categorie`.`id` = `do_documenti`.`idcategoria`\r\nWHERE 1=1 AND `deleted_at` IS NULL AND\r\n (SELECT `idgruppo` FROM `zz_users` WHERE `zz_users`.`id` = |id_utente|) IN (SELECT `id_gruppo` FROM `do_permessi` WHERE `id_categoria` = `do_documenti`.`idcategoria`)\r\n |date_period(`data`)| OR data IS NULL\r\nHAVING 2=2'WHERE`zz_modules`.`name`='Gestione documentale';
UPDATE`zz_settings`SET`valore`=IF(`valore`='',(SELECT`id`FROM`co_iva`WHERE`descrizione`='Non imp. art. 8 c.1 lett. c DPR 633/1972'),`valore`)WHERE`nome`="Iva per lettere d'intento";
-- Fix query Fatture di acquisto
UPDATE`zz_modules`SET`options`='SELECT |select| FROM `co_documenti`\nLEFT JOIN `an_anagrafiche` ON `co_documenti`.`idanagrafica` = `an_anagrafiche`.`idanagrafica`\nLEFT JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento` = `co_tipidocumento`.`id`\nLEFT JOIN `co_statidocumento` ON `co_documenti`.`idstatodocumento` = `co_statidocumento`.`id`\nLEFT JOIN (\n SELECT `iddocumento`,\n SUM(`subtotale` - `sconto`) AS `totale_imponibile`,\n SUM(`subtotale` - `sconto` + `iva`) AS `totale`\n FROM `co_righe_documenti`\n GROUP BY `iddocumento`\n) AS righe ON `co_documenti`.`id` = `righe`.`iddocumento`\nLEFT JOIN (\n SELECT COUNT(`d`.`id`) AS `conteggio`,\n IF(`d`.`numero_esterno`=\'\', `d`.`numero`, `d`.`numero_esterno`) AS `numero_documento`,\n `d`.`idanagrafica` AS `anagrafica`\n FROM `co_documenti` AS `d`\n LEFT JOIN `co_tipidocumento` AS `d_tipo` ON `d`.`idtipodocumento` = `d_tipo`.`id`\n WHERE 1=1\n AND `d_tipo`.`dir` = \'uscita\'\n AND (\'|period_start|\' <= `d`.`data` AND \'|period_end|\' >= `d`.`data` OR \'|period_start|\' <= `d`.`data_competenza` AND \'|period_end|\' >= `d`.`data_competenza`)\n GROUP BY `numero_documento`, `d`.`idanagrafica`\n) AS `d` ON (`d`.`numero_documento` = IF(`co_documenti`.`numero_esterno`=\'\', `co_documenti`.`numero`, `co_documenti`.`numero_esterno`) AND `d`.`anagrafica`=`co_documenti`.`idanagrafica`)\nWHERE 1=1 AND `dir` = \'uscita\' |segment(`co_documenti`.`id_segment`)||date_period(custom, \'|period_start|\' <= `co_documenti`.`data` AND \'|period_end|\' >= `co_documenti`.`data`, \'|period_start|\' <= `co_documenti`.`data_competenza` AND \'|period_end|\' >= `co_documenti`.`data_competenza` )|\nHAVING 2=2\nORDER BY `co_documenti`.`data` DESC, CAST(IF(`co_documenti`.`numero` = \'\', `co_documenti`.`numero_esterno`, `co_documenti`.`numero`) AS UNSIGNED) DESC'WHERE`zz_modules`.`id`=15;