Compare commits

...

8 Commits

Author SHA1 Message Date
Pek5892 972d16fefc fix minore 2022-11-23 15:07:45 +01:00
Pek5892 acabbf57dd Ottimizzazione query vista stampe 2022-11-23 13:16:29 +01:00
Pek5892 f8bdfacb38 Aggiunta campi provvigione su righe promemoria 2022-11-23 13:05:27 +01:00
Pek5892 74c377a894 Ottimizzazione query vista Listini 2022-11-23 11:36:57 +01:00
Pek5892 b8fb7e1b72 Ottimizzazione query vista Giacenze sedi 2022-11-23 11:22:06 +01:00
Pek5892 f03e3972d0 Ottimizzazione query vista Coda di invio 2022-11-23 10:45:12 +01:00
Pek5892 a9009b58d9 Ottimizzazione query vista Newsletter 2022-11-23 10:17:38 +01:00
Pek5892 8b923d9893 Ottimizzazione query vista Contratti 2022-11-23 09:40:51 +01:00
8 changed files with 172 additions and 0 deletions

View File

@ -81,6 +81,12 @@ foreach ($righe as $riga) {
echo '
'.$descrizione;
if ($riga->isArticolo() && !empty($riga->articolo->barcode)) {
echo '
<br><small><i class="fa fa-barcode"></i> '.$riga->articolo->barcode.'</small>';
}
if (!empty($riga->note)) {
echo '
<br><small class="label label-default">'.nl2br($riga->note).'</small>';

View File

@ -119,6 +119,12 @@ foreach ($righe as $riga) {
}
}
if ($riga->isArticolo() && !empty($riga->articolo->barcode)) {
echo '
<br><small><i class="fa fa-barcode"></i> '.$riga->articolo->barcode.'</small>';
}
if (!empty($riga->note)) {
echo '
<br><small class="label label-default">'.nl2br($riga->note).'</small>';

View File

@ -163,6 +163,11 @@ foreach ($righe as $riga) {
}
}
if ($riga->isArticolo() && !empty($riga->articolo->barcode)) {
echo '
<br><small><i class="fa fa-barcode"></i> '.$riga->articolo->barcode.'</small>';
}
if (!empty($riga->note)) {
echo '
<br><small class="label label-default">'.nl2br($riga->note).'</small>';

View File

@ -107,6 +107,11 @@ echo '
}
}
if ($riga->isArticolo() && !empty($riga->articolo->barcode)) {
echo '
<br><small><i class="fa fa-barcode"></i> '.$riga->articolo->barcode.'</small>';
}
if (!empty($riga->note)) {
echo '
<br><small class="label label-default">'.nl2br($riga->note).'</small>';

View File

@ -135,6 +135,11 @@ foreach ($righe as $riga) {
}
}
if ($riga->isArticolo() && !empty($riga->articolo->barcode)) {
echo '
<br><small><i class="fa fa-barcode"></i> '.$riga->articolo->barcode.'</small>';
}
if (!empty($riga->note)) {
echo '
<br><small class="label label-default">'.nl2br($riga->note).'</small>';

View File

@ -82,6 +82,14 @@ foreach ($righe as $riga) {
}
echo '
'.$descrizione;
if ($riga->isArticolo() && !empty($riga->articolo->barcode)) {
echo '
<br><small><i class="fa fa-barcode"></i> '.$riga->articolo->barcode.'</small>';
}
if (!empty($riga->note)) {
echo '
<br><small class="label label-default">'.nl2br($riga->note).'</small>';

View File

@ -80,6 +80,12 @@ if (!$righe->isEmpty()) {
<br>'.tr('SN').': '.implode(', ', $serials);
}
}
if ($riga->isArticolo() && !empty($riga->articolo->barcode)) {
echo '
<br><small><i class="fa fa-barcode"></i> '.$riga->articolo->barcode.'</small>';
}
echo '
</td>';

View File

@ -478,6 +478,8 @@ WHERE
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` )|
GROUP BY
co_documenti.id
HAVING
2=2
ORDER BY
@ -500,3 +502,132 @@ WHERE
HAVING
2=2" WHERE `name` = 'Checklists';
-- Ottimizzazione query vista Contratti
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'orecontratti.somma - IFNULL(tecnici.sommatecnici, 0)' WHERE `zz_modules`.`name` = 'Contratti' AND `zz_views`.`name` = 'Ore rimanenti';
UPDATE `zz_modules` SET `options` = "SELECT
|select|
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`
LEFT JOIN ( SELECT GROUP_CONCAT(CONCAT(matricola, IF(nome != '', CONCAT(' - ', nome), '')) SEPARATOR '<br>') AS descrizione, my_impianti_contratti.idcontratto FROM my_impianti INNER JOIN my_impianti_contratti ON my_impianti.id = my_impianti_contratti.idimpianto GROUP BY my_impianti_contratti.idcontratto) AS impianti ON impianti.idcontratto = co_contratti.id
LEFT JOIN( SELECT um, SUM(qta) AS somma, idcontratto FROM co_righe_contratti GROUP BY um, idcontratto) AS orecontratti ON orecontratti.um = 'ore' AND orecontratti.idcontratto = co_contratti.id
LEFT JOIN( SELECT in_interventi.id_contratto, idintervento, SUM(ore) AS sommatecnici FROM in_interventi_tecnici INNER JOIN in_interventi ON in_interventi_tecnici.idintervento = in_interventi.id GROUP BY in_interventi.id_contratto, idintervento) AS tecnici ON tecnici.id_contratto = co_contratti.id
WHERE
1=1
|date_period(custom,'|period_start|' >= `data_bozza` AND '|period_start|' <= `data_conclusione`,'|period_end|' >= `data_bozza` AND '|period_end|' <= `data_conclusione`,`data_bozza` >= '|period_start|' AND `data_bozza` <= '|period_end|',`data_conclusione` >= '|period_start|' AND `data_conclusione` <= '|period_end|',`data_bozza` >= '|period_start|' AND `data_conclusione` = '0000-00-00')|
HAVING
2=2" WHERE `name` = 'Contratti';
-- Ottimizzazione query vista Newsletter
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`em_newsletters`.`id`' WHERE `zz_modules`.`name` = 'Newsletter' AND `zz_views`.`name` = 'id';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`em_newsletters`.`NAME`' WHERE `zz_modules`.`name` = 'Newsletter' AND `zz_views`.`name` = 'Nome';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`em_templates`.`NAME`' WHERE `zz_modules`.`name` = 'Newsletter' AND `zz_views`.`name` = 'Template';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`totale`' WHERE `zz_modules`.`name` = 'Newsletter' AND `zz_views`.`name` = 'Destinatari';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = "IF(completed_at IS NULL OR em_newsletters.state='DEV', 'No', CONCAT('Sì ', '(', DATE_FORMAT(completed_at, '%d/%m/%Y %H:%i:%s'),')'))" WHERE `zz_modules`.`name` = 'Newsletter' AND `zz_views`.`name` = 'Completato';
UPDATE `zz_modules` SET `options` = "SELECT
|select|
FROM
`em_newsletters`
LEFT JOIN `em_templates` ON `em_newsletters`.`id_template` = `em_templates`.`id`
LEFT JOIN (SELECT `id_newsletter`, COUNT(*) AS totale FROM `em_newsletter_receiver` GROUP BY `id_newsletter`) AS riceventi ON `riceventi`.`id_newsletter` = `em_newsletters`.`id`
WHERE
1=1 AND `em_newsletters`.`deleted_at` IS NULL
HAVING
2=2" WHERE `name` = 'Newsletter';
-- Ottimizzazione query vista Coda di invio
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`em_emails`.`id`' WHERE `zz_modules`.`name` = 'Stato email' AND `zz_views`.`name` = 'id';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`destinatari`.`nomi`' WHERE `zz_modules`.`name` = 'Stato email' AND `zz_views`.`name` = 'Destinatari';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`em_emails`.`subject`' WHERE `zz_modules`.`name` = 'Stato email' AND `zz_views`.`name` = 'Oggetto';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`em_emails`.`content`' WHERE `zz_modules`.`name` = 'Stato email' AND `zz_views`.`name` = 'Contenuto';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`em_templates`.`name`' WHERE `zz_modules`.`name` = 'Stato email' AND `zz_views`.`name` = 'Template';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`zz_modules`.`title`' WHERE `zz_modules`.`name` = 'Stato email' AND `zz_views`.`name` = 'Modulo';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`em_emails`.`sent_at`' WHERE `zz_modules`.`name` = 'Stato email' AND `zz_views`.`name` = 'Data invio';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`em_emails`.`failed_at`' WHERE `zz_modules`.`name` = 'Stato email' AND `zz_views`.`name` = 'Ultimo tentativo';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`zz_users`.`username`' WHERE `zz_modules`.`name` = 'Stato email' AND `zz_views`.`name` = 'Utente';
UPDATE `zz_modules` SET `options` = "SELECT
|select|
FROM
`em_emails`
LEFT JOIN `em_templates` ON `em_templates`.`id` = `em_emails`.`id_template`
INNER JOIN `zz_users` ON `zz_users`.`id` = `em_emails`.`created_by`
LEFT JOIN (SELECT `id_email`, GROUP_CONCAT(`address` SEPARATOR '<br>') as `nomi` FROM `em_email_receiver` GROUP BY `id_email`)AS `destinatari` ON `destinatari`.`id_email` = `em_emails`.`id`
LEFT JOIN `zz_modules` ON `zz_modules`.`id` = `em_templates`.`id_module`
WHERE
1=1
AND
(`em_emails`.`created_at` BETWEEN '|period_start|' AND '|period_end|' OR `em_emails`.`sent_at` IS NULL)
HAVING
2=2
ORDER BY
`em_emails`.`created_at` DESC" WHERE `name` = 'Stato email';
-- Ottimizzazione query vista Giacenze sedi
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'categoria.nome' WHERE `zz_modules`.`name` = 'Giacenze sedi' AND `zz_views`.`name` = 'Categoria';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'sottocategoria.nome' WHERE `zz_modules`.`name` = 'Giacenze sedi' AND `zz_views`.`name` = 'Sottocategoria';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'an_anagrafiche.ragione_sociale' WHERE `zz_modules`.`name` = 'Giacenze sedi' AND `zz_views`.`name` = 'Fornitore';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(co_iva.percentuale IS NOT NULL, (mg_articoli.prezzo_vendita + mg_articoli.prezzo_vendita * co_iva.percentuale / 100), mg_articoli.prezzo_vendita + mg_articoli.prezzo_vendita * iva.perc / 100)' WHERE `zz_modules`.`name` = 'Giacenze sedi' AND `zz_views`.`name` = 'Prezzo vendita ivato';
UPDATE `zz_modules` SET `options` = "SELECT
|select|
FROM
`mg_articoli`
LEFT JOIN an_anagrafiche ON mg_articoli.id_fornitore = an_anagrafiche.idanagrafica
LEFT JOIN co_iva ON mg_articoli.idiva_vendita = co_iva.id
LEFT JOIN (SELECT SUM(qta - qta_evasa) AS qta_impegnata, idarticolo FROM or_righe_ordini INNER JOIN or_ordini ON or_righe_ordini.idordine = or_ordini.id WHERE idstatoordine IN(SELECT id FROM or_statiordine WHERE completato = 0) GROUP BY idarticolo) ordini ON ordini.idarticolo = mg_articoli.id
LEFT JOIN (SELECT `idarticolo`, `idsede`, SUM(`qta`) AS `qta` FROM `mg_movimenti` WHERE `idsede` = '' GROUP BY `idarticolo`, `idsede`) movimenti ON `mg_articoli`.`id` = `movimenti`.`idarticolo`
LEFT JOIN (SELECT id, nome AS nome FROM mg_categorie)AS categoria ON categoria.id= mg_articoli.id_categoria
LEFT JOIN (SELECT id, nome AS nome FROM mg_categorie)AS sottocategoria ON sottocategoria.id=mg_articoli.id_sottocategoria
LEFT JOIN (SELECT co_iva.percentuale AS perc, co_iva.id, zz_settings.nome FROM co_iva INNER JOIN zz_settings ON co_iva.id=zz_settings.valore)AS iva ON iva.nome= 'Iva predefinita'
WHERE
1=1 AND `mg_articoli`.`deleted_at` IS NULL
HAVING
2=2 AND `Q.` > 0
ORDER BY
`descrizione`" WHERE `name` = 'Giacenze sedi';
-- Ottimizzazione query vista Listini
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'zz_modules.id' WHERE `zz_modules`.`name` = 'Listini' AND `zz_views`.`name` = '_link_module_';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'fornitore.codice' WHERE `zz_modules`.`name` = 'Listini' AND `zz_views`.`name` = 'Codice';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'fornitore.barcode' WHERE `zz_modules`.`name` = 'Listini' AND `zz_views`.`name` = 'Barcode';
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
LEFT JOIN zz_modules ON zz_modules.NAME= 'Articoli'
LEFT JOIN (SELECT codice_fornitore AS codice, id_articolo, id_fornitore, barcode_fornitore AS barcode, deleted_at FROM mg_fornitore_articolo) AS fornitore ON mg_prezzi_articoli.id_articolo= fornitore.id_articolo AND mg_prezzi_articoli.id_anagrafica=fornitore.id_fornitore AND fornitore.deleted_at IS NULL
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 `name` = 'Listini';
-- Aggiunta campi provvigione su righe promemoria
ALTER TABLE `co_righe_promemoria` ADD `provvigione` DECIMAL(15,6) NOT NULL AFTER `prezzo_unitario_ivato`, ADD `provvigione_unitaria` DECIMAL(15,6) NOT NULL AFTER `provvigione`, ADD `provvigione_percentuale` DECIMAL(15,6) NOT NULL AFTER `provvigione_unitaria`, ADD `tipo_provvigione` ENUM('UNT','PRC') NOT NULL DEFAULT 'UNT' AFTER `provvigione_percentuale`;
-- Ottimizzazione query vista Stampe
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'zz_modules.NAME' WHERE `zz_modules`.`name` = 'Stampe' AND `zz_views`.`name` = 'Modulo';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'zz_prints.id' WHERE `zz_modules`.`name` = 'Stampe' AND `zz_views`.`name` = 'id';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'zz_prints.title' WHERE `zz_modules`.`name` = 'Stampe' AND `zz_views`.`name` = 'Titolo';
UPDATE `zz_modules` SET `options` = "SELECT
|select|
FROM
`zz_prints`
LEFT JOIN zz_modules ON zz_modules.id = zz_prints.id_module
WHERE
1=1
AND
zz_prints.enabled=1
HAVING
2=2" WHERE `name` = 'Stampe';