2022-11-15 17:38:42 +01:00
-- Aggiunto modulo Listini clienti
RENAME TABLE ` mg_listini ` TO ` mg_piani_sconto ` ;
ALTER TABLE ` an_anagrafiche ` CHANGE ` idlistino_acquisti ` ` id_piano_sconto_acquisti ` INT ( 11 ) NULL DEFAULT NULL ;
ALTER TABLE ` an_anagrafiche ` CHANGE ` idlistino_vendite ` ` id_piano_sconto_vendite ` INT ( 11 ) NULL DEFAULT NULL ;
ALTER TABLE ` an_anagrafiche ` ADD ` id_listino ` INT NOT NULL AFTER ` id_piano_sconto_acquisti ` ;
CREATE TABLE ` mg_listini ` ( ` id ` INT NOT NULL AUTO_INCREMENT , ` nome ` VARCHAR ( 255 ) NOT NULL , ` data_attivazione ` DATE NULL , ` data_scadenza_predefinita ` DATE NULL , ` is_sempre_visibile ` BOOLEAN NOT NULL , ` note ` TEXT NOT NULL , ` created_at ` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , ` updated_at ` TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , PRIMARY KEY ( ` id ` ) ) ;
CREATE TABLE ` mg_listini_articoli ` ( ` id ` INT NOT NULL AUTO_INCREMENT , ` id_listino ` INT NOT NULL , ` id_articolo ` INT NOT NULL , ` data_scadenza ` DATE NOT NULL , ` prezzo_unitario ` DECIMAL ( 15 , 6 ) NOT NULL , ` prezzo_unitario_ivato ` DECIMAL ( 15 , 6 ) NOT NULL , ` sconto_percentuale ` DECIMAL ( 15 , 6 ) NOT NULL , ` dir ` VARCHAR ( 20 ) NOT NULL , ` created_at ` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , ` updated_at ` TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , PRIMARY KEY ( ` id ` ) ) ;
INSERT INTO ` zz_modules ` ( ` id ` , ` name ` , ` title ` , ` directory ` , ` options ` , ` options2 ` , ` icon ` , ` version ` , ` compatibility ` , ` order ` , ` parent ` , ` default ` , ` enabled ` , ` use_notes ` , ` use_checklists ` ) VALUES ( NULL , ' Listini cliente ' , ' Listini cliente ' , ' listini_cliente ' , ' SELECT |select| FROM `mg_listini` WHERE 1=1 HAVING 2=2 ' , ' ' , ' fa fa-angle-right ' , ' 2.* ' , ' 2.* ' , ' 2 ' , ( SELECT ` id ` FROM ` zz_modules ` AS ` t ` WHERE ` t ` . ` name ` = ' Magazzino ' ) , ' 1 ' , ' 1 ' , ' 0 ' , ' 0 ' ) ;
2022-11-16 15:46:19 +01:00
INSERT INTO ` zz_views ` ( ` id_module ` , ` name ` , ` query ` , ` order ` , ` search ` , ` slow ` , ` format ` , ` html_format ` , ` search_inside ` , ` order_by ` , ` visible ` , ` summable ` , ` default ` ) VALUES
( ( SELECT ` id ` FROM ` zz_modules ` WHERE name = ' Listini cliente ' ) , ' id ' , ' id ' , 1 , 1 , 0 , 0 , 0 , ' ' , ' ' , 0 , 0 , 1 ) ,
( ( SELECT ` id ` FROM ` zz_modules ` WHERE name = ' Listini cliente ' ) , ' Nome ' , ' nome ' , 2 , 1 , 0 , 0 , 0 , ' ' , ' ' , 1 , 0 , 1 ) ,
2022-11-15 17:38:42 +01:00
( ( SELECT ` id ` FROM ` zz_modules ` WHERE name = ' Listini cliente ' ) , ' Data attivazione ' , ' data_attivazione ' , 3 , 1 , 0 , 1 , 0 , ' ' , ' ' , 1 , 0 , 1 ) ,
( ( SELECT ` id ` FROM ` zz_modules ` WHERE name = ' Listini cliente ' ) , ' Articoli ' , ' (SELECT COUNT(id) FROM mg_listini_articoli WHERE id_listino=mg_listini.id) ' , 4 , 1 , 0 , 0 , 0 , ' ' , ' ' , 1 , 0 , 1 ) ,
( ( SELECT ` id ` FROM ` zz_modules ` WHERE name = ' Listini cliente ' ) , ' Anagrafiche ' , ' (SELECT COUNT(idanagrafica) FROM an_anagrafiche WHERE id_listino=mg_listini.id) ' , 5 , 1 , 0 , 0 , 0 , ' ' , ' ' , 1 , 0 , 1 ) ,
( ( SELECT ` id ` FROM ` zz_modules ` WHERE name = ' Listini cliente ' ) , ' Ultima modifica ' , ' (SELECT username FROM zz_users WHERE id=(SELECT id_utente FROM zz_operations WHERE id_module=(SELECT id FROM zz_modules WHERE name=\ ' Listini cliente \ ' ) AND id_record=mg_listini.id ORDER BY id DESC LIMIT 0,1)) ' , 6 , 1 , 0 , 0 , 0 , ' ' , ' ' , 1 , 0 , 1 ) ,
( ( SELECT ` id ` FROM ` zz_modules ` WHERE name = ' Listini cliente ' ) , ' Sempre visibile ' , ' IF(is_sempre_visibile=0,\ ' NO \ ' ,\ ' SÌ \ ' ) ' , 7 , 1 , 0 , 0 , 0 , ' ' , ' ' , 1 , 0 , 1 ) ;
UPDATE ` zz_plugins ` SET ` title ` = ' Netto clienti ' , ` name ` = ' Netto Clienti ' WHERE ` zz_plugins ` . ` name ` = ' Listino Clienti ' ;
ALTER TABLE ` mg_articoli ` ADD ` minimo_vendita ` DECIMAL ( 15 , 6 ) NOT NULL AFTER ` prezzo_vendita_ivato ` ;
2022-11-15 17:40:40 +01:00
ALTER TABLE ` mg_articoli ` ADD ` minimo_vendita_ivato ` DECIMAL ( 15 , 6 ) NOT NULL AFTER ` minimo_vendita ` ;
2022-11-17 12:47:29 +01:00
INSERT INTO ` zz_settings ` ( ` id ` , ` nome ` , ` valore ` , ` tipo ` , ` editable ` , ` sezione ` , ` order ` , ` help ` ) VALUES ( NULL , ' Bloccare i prezzi inferiori al minimo di vendita ' , ' 0 ' , ' boolean ' , ' 1 ' , ' Fatturazione ' , NULL , NULL ) ;
2022-11-15 17:40:40 +01:00
-- Aggiunto task invio mail
INSERT INTO ` zz_tasks ` ( ` id ` , ` name ` , ` class ` , ` expression ` , ` next_execution_at ` , ` last_executed_at ` ) VALUES ( NULL , ' Invio automatico mail ' , ' Modules\\Emails\\EmailTask ' , ' */1 * * * * ' , NULL , NULL ) ;
2022-11-16 18:01:32 +01:00
-- Ottimizzazione query vista anagrafiche
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' sedi.nomi ' WHERE ` zz_modules ` . ` name ` = ' Anagrafiche ' AND ` zz_views ` . ` name ` = ' Sedi ' ;
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' an_anagrafiche.citta ' WHERE ` zz_modules ` . ` name ` = ' Anagrafiche ' AND ` zz_views ` . ` name ` = ' Città ' ;
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' an_anagrafiche.codice_destinatario ' WHERE ` zz_modules ` . ` name ` = ' Anagrafiche ' AND ` zz_views ` . ` name ` = ' Codice destinatario ' ;
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' an_anagrafiche.telefono ' WHERE ` zz_modules ` . ` name ` = ' Anagrafiche ' AND ` zz_views ` . ` name ` = ' Telefono ' ;
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' referenti.nomi ' WHERE ` zz_modules ` . ` name ` = ' Anagrafiche ' AND ` zz_views ` . ` name ` = ' Referenti ' ;
UPDATE ` zz_modules ` SET ` options ` = " SELECT
| select |
FROM
` an_anagrafiche `
LEFT JOIN ` an_relazioni ` ON ` an_anagrafiche ` . ` idrelazione ` = ` an_relazioni ` . ` id `
LEFT JOIN ` an_tipianagrafiche_anagrafiche ` ON ` an_tipianagrafiche_anagrafiche ` . ` idanagrafica ` = ` an_anagrafiche ` . ` idanagrafica `
LEFT JOIN ` an_tipianagrafiche ` ON ` an_tipianagrafiche ` . ` idtipoanagrafica ` = ` an_tipianagrafiche_anagrafiche ` . ` idtipoanagrafica `
LEFT JOIN ( SELECT ` idanagrafica ` , GROUP_CONCAT ( nomesede SEPARATOR ' , ' ) AS nomi FROM ` an_sedi ` GROUP BY idanagrafica ) AS sedi ON ` an_anagrafiche ` . ` idanagrafica ` = ` sedi ` . ` idanagrafica `
LEFT JOIN ( SELECT ` idanagrafica ` , GROUP_CONCAT ( nome SEPARATOR ' , ' ) AS nomi FROM ` an_referenti ` GROUP BY idanagrafica ) AS referenti ON ` an_anagrafiche ` . ` idanagrafica ` = ` referenti ` . ` idanagrafica `
WHERE
1 = 1 AND ` deleted_at ` IS NULL
GROUP BY
` an_anagrafiche ` . ` idanagrafica `
HAVING
2 = 2
ORDER BY
TRIM ( ` ragione_sociale ` ) " WHERE `name` = 'Anagrafiche';
2022-11-17 16:58:59 +01:00
-- Creazione modelli prima nota per liquidazione salari e stipendi
INSERT INTO ` co_pianodeiconti3 ` ( ` id ` , ` numero ` , ` descrizione ` , ` idpianodeiconti2 ` , ` dir ` , ` percentuale_deducibile ` ) VALUES
( NULL , ' 000080 ' , ' Personale c/Retribuzioni ' , ' 8 ' , ' ' , ' 100.00 ' ) ,
( NULL , ' 000090 ' , ' INPS c/Competenza ' , ' 8 ' , ' ' , ' 100.00 ' ) ,
( NULL , ' 000090 ' , ' Erario c/Ritenute dipendenti ' , ' 5 ' , ' ' , ' 100.00 ' ) ;
INSERT INTO ` co_movimenti_modelli ` ( ` id ` , ` idmastrino ` , ` nome ` , ` descrizione ` , ` idconto ` , ` totale ` ) VALUES
( NULL , 3 , ' Liquidazione salari e stipendi ' , ' Liquidazione retribuzione relativa al mese di ... ' , ( SELECT id FROM co_pianodeiconti3 WHERE descrizione = ' Costi salari e stipendi ' ) , ' 0.0 ' ) ,
( NULL , 3 , ' Liquidazione salari e stipendi ' , ' Liquidazione retribuzione relativa al mese di ... ' , ( SELECT id FROM co_pianodeiconti3 WHERE descrizione = ' INPS c/Competenza ' ) , ' 0.0 ' ) ,
( NULL , 3 , ' Liquidazione salari e stipendi ' , ' Liquidazione retribuzione relativa al mese di ... ' , ( SELECT id FROM co_pianodeiconti3 WHERE descrizione = ' Personale c/Retribuzioni ' ) , ' 0.0 ' ) ;
INSERT INTO ` co_movimenti_modelli ` ( ` id ` , ` idmastrino ` , ` nome ` , ` descrizione ` , ` idconto ` , ` totale ` ) VALUES
( NULL , 4 , ' Pagamento salari e stipendi ' , ' Pagamento ai dipendenti delle retribuzioni nette del mese di ... ' , ( SELECT id FROM co_pianodeiconti3 WHERE descrizione = ' Personale c/Retribuzioni ' ) , ' 0.0 ' ) ,
( NULL , 4 , ' Pagamento salari e stipendi ' , ' Pagamento ai dipendenti delle retribuzioni nette del mese di ... ' , ( SELECT id FROM co_pianodeiconti3 WHERE descrizione = ' INPS c/Competenza ' ) , ' 0.0 ' ) ,
( NULL , 4 , ' Pagamento salari e stipendi ' , ' Pagamento ai dipendenti delle retribuzioni nette del mese di ... ' , ( SELECT id FROM co_pianodeiconti3 WHERE descrizione = ' Erario c/Ritenute dipendenti ' ) , ' 0.0 ' ) ,
( NULL , 4 , ' Pagamento salari e stipendi ' , ' Pagamento ai dipendenti delle retribuzioni nette del mese di ... ' , ( SELECT id FROM co_pianodeiconti3 WHERE descrizione = ' Banca C/C ' ) , ' 0.0 ' ) ;
2022-11-17 16:59:31 +01:00
-- Ottimizzazione query vista prima nota
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' co_documenti.numero_esterno ' WHERE ` zz_modules ` . ` name ` = ' Prima nota ' AND ` zz_views ` . ` name ` = ' Rif. fattura ' ;
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 ` = ' Prima nota ' AND ` zz_views ` . ` name ` = ' Controparte ' ;
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' co_movimenti.data ' WHERE ` zz_modules ` . ` name ` = ' Prima nota ' AND ` zz_views ` . ` name ` = ' Data ' ;
UPDATE ` zz_modules ` SET ` options ` = "
SELECT
| select |
FROM
` co_movimenti `
INNER JOIN ` co_pianodeiconti3 ` ON ` co_movimenti ` . ` idconto ` = ` co_pianodeiconti3 ` . ` id `
LEFT JOIN ` co_documenti ` ON ` co_documenti ` . ` id ` = ` co_movimenti ` . ` iddocumento `
LEFT JOIN ` an_anagrafiche ` ON ` co_movimenti ` . ` id_anagrafica ` = ` an_anagrafiche ` . ` idanagrafica `
WHERE
1 = 1 AND ` primanota ` = 1 | date_period ( ` co_movimenti ` . ` data ` ) |
GROUP BY
` idmastrino ` ,
` primanota ` ,
` co_movimenti ` . ` data ` ,
` numero_esterno ` ,
` co_movimenti ` . ` descrizione ` ,
` an_anagrafiche ` . ` ragione_sociale `
HAVING
2 = 2
ORDER BY
` co_movimenti ` . ` data `
DESC " WHERE `name` = 'Prima nota';
2022-11-17 17:00:08 +01:00
-- Ottimizzazione query vista ordini cliente
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' or_statiordine.icona ' WHERE ` zz_modules ` . ` name ` = ' Ordini cliente ' AND ` zz_views ` . ` name ` = ' icon_Stato ' ;
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' or_statiordine.descrizione ' WHERE ` zz_modules ` . ` name ` = ' Ordini cliente ' AND ` zz_views ` . ` name ` = ' icon_title_Stato ' ;
UPDATE ` zz_modules ` SET ` options ` = " SELECT
| select |
FROM
` or_ordini `
LEFT JOIN ` or_tipiordine ` ON ` or_ordini ` . ` idtipoordine ` = ` or_tipiordine ` . ` id `
LEFT JOIN ` an_anagrafiche ` ON ` or_ordini ` . ` idanagrafica ` = ` an_anagrafiche ` . ` idanagrafica `
LEFT JOIN ( SELECT ` idordine ` , SUM ( ` qta ` - ` qta_evasa ` ) AS ` qta_da_evadere ` , SUM ( ` subtotale ` - ` sconto ` ) AS ` totale_imponibile ` , SUM ( ` subtotale ` - ` sconto ` + ` iva ` ) AS ` totale ` FROM ` or_righe_ordini ` GROUP BY ` idordine ` ) AS righe ON ` or_ordini ` . ` id ` = ` righe ` . ` idordine `
LEFT JOIN ( SELECT ` idordine ` , MIN ( ` data_evasione ` ) AS ` data_evasione ` FROM ` or_righe_ordini ` WHERE ( ` qta ` - ` qta_evasa ` ) > 0 GROUP BY ` idordine ` ) AS ` righe_da_evadere ` ON ` righe ` . ` idordine ` = ` righe_da_evadere ` . ` idordine `
LEFT JOIN ` or_statiordine ` ON ` or_statiordine ` . ` id ` = ` or_ordini ` . ` idstatoordine `
LEFT JOIN (
SELECT GROUP_CONCAT ( DISTINCT co_documenti . numero_esterno SEPARATOR ' , ' ) AS info , co_righe_documenti . original_document_id AS idordine FROM co_documenti INNER JOIN co_righe_documenti ON co_documenti . id = co_righe_documenti . iddocumento WHERE original_document_type = ' Modules\\Ordini\\Ordine ' GROUP BY idordine
) AS fattura ON fattura . idordine = or_ordini . id
LEFT JOIN (
SELECT ` zz_operations ` . ` id_email ` , ` zz_operations ` . ` id_record `
FROM ` zz_operations `
INNER JOIN ` em_emails ` ON ` zz_operations ` . ` id_email ` = ` em_emails ` . ` id `
INNER JOIN ` em_templates ` ON ` em_emails ` . ` id_template ` = ` em_templates ` . ` id `
INNER JOIN ` zz_modules ` ON ` zz_operations ` . ` id_module ` = ` zz_modules ` . ` id `
WHERE ` zz_modules ` . ` name ` = ' Ordini cliente ' AND ` zz_operations ` . ` op ` = ' send-email '
GROUP BY ` zz_operations ` . ` id_record `
) AS ` email ` ON ` email ` . ` id_record ` = ` or_ordini ` . ` id `
WHERE
1 = 1 AND ` dir ` = ' entrata ' | date_period ( ` or_ordini ` . ` data ` ) |
HAVING
2 = 2
ORDER BY
` data ` DESC ,
2022-11-17 17:00:40 +01:00
CAST ( ` numero_esterno ` AS UNSIGNED ) DESC " WHERE `name` = 'Ordini cliente';
-- Ottimizzazione query vista ordini fornitore
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' or_statiordine.icona ' WHERE ` zz_modules ` . ` name ` = ' Ordini fornitore ' AND ` zz_views ` . ` name ` = ' icon_Stato ' ;
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' or_statiordine.descrizione ' WHERE ` zz_modules ` . ` name ` = ' Ordini fornitore ' AND ` zz_views ` . ` name ` = ' icon_title_Stato ' ;
UPDATE ` zz_modules ` SET ` options ` = " SELECT
| select |
FROM
` or_ordini `
LEFT JOIN ` or_tipiordine ` ON ` or_ordini ` . ` idtipoordine ` = ` or_tipiordine ` . ` id `
LEFT JOIN ` an_anagrafiche ` ON ` or_ordini ` . ` idanagrafica ` = ` an_anagrafiche ` . ` idanagrafica `
LEFT JOIN ( SELECT ` idordine ` , SUM ( ` qta ` - ` qta_evasa ` ) AS ` qta_da_evadere ` , SUM ( ` subtotale ` - ` sconto ` ) AS ` totale_imponibile ` , SUM ( ` subtotale ` - ` sconto ` + ` iva ` ) AS ` totale ` FROM ` or_righe_ordini ` GROUP BY ` idordine ` ) AS righe ON ` or_ordini ` . ` id ` = ` righe ` . ` idordine `
LEFT JOIN ( SELECT ` idordine ` , MIN ( ` data_evasione ` ) AS ` data_evasione ` FROM ` or_righe_ordini ` WHERE ( ` qta ` - ` qta_evasa ` ) > 0 GROUP BY ` idordine ` ) AS ` righe_da_evadere ` ON ` righe ` . ` idordine ` = ` righe_da_evadere ` . ` idordine `
LEFT JOIN ` or_statiordine ` ON ` or_statiordine ` . ` id ` = ` or_ordini ` . ` idstatoordine `
LEFT JOIN (
SELECT GROUP_CONCAT ( DISTINCT co_documenti . numero_esterno SEPARATOR ' , ' ) AS info , co_righe_documenti . original_document_id AS idordine FROM co_documenti INNER JOIN co_righe_documenti ON co_documenti . id = co_righe_documenti . iddocumento WHERE original_document_type = ' Modules\\Ordini\\Ordine ' GROUP BY idordine
) AS fattura ON fattura . idordine = or_ordini . id
LEFT JOIN (
SELECT ` zz_operations ` . ` id_email ` , ` zz_operations ` . ` id_record `
FROM ` zz_operations `
INNER JOIN ` em_emails ` ON ` zz_operations ` . ` id_email ` = ` em_emails ` . ` id `
INNER JOIN ` em_templates ` ON ` em_emails ` . ` id_template ` = ` em_templates ` . ` id `
INNER JOIN ` zz_modules ` ON ` zz_operations ` . ` id_module ` = ` zz_modules ` . ` id `
WHERE ` zz_modules ` . ` name ` = ' Ordini fornitore ' AND ` zz_operations ` . ` op ` = ' send-email '
GROUP BY ` zz_operations ` . ` id_record `
) AS ` email ` ON ` email ` . ` id_record ` = ` or_ordini ` . ` id `
WHERE
1 = 1 AND ` dir ` = ' uscita ' | date_period ( ` or_ordini ` . ` data ` ) |
HAVING
2 = 2
ORDER BY
` data ` DESC ,
CAST ( ` numero_esterno ` AS UNSIGNED ) DESC " WHERE `name` = 'Ordini fornitore';
2022-11-18 13:02:39 +01:00
-- Ottimizzazione query vista ddt uscita
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' dt_statiddt.icona ' WHERE ` zz_modules ` . ` name ` = ' Ddt di vendita ' AND ` zz_views ` . ` name ` = ' icon_Stato ' ;
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' dt_statiddt.descrizione ' WHERE ` zz_modules ` . ` name ` = ' Ddt di vendita ' AND ` zz_views ` . ` name ` = ' icon_title_Stato ' ;
UPDATE ` zz_modules ` SET ` options ` = " SELECT
| select |
FROM
` dt_ddt `
LEFT JOIN ` an_anagrafiche ` ON ` dt_ddt ` . ` idanagrafica ` = ` an_anagrafiche ` . ` idanagrafica `
LEFT JOIN ` dt_tipiddt ` ON ` dt_ddt ` . ` idtipoddt ` = ` dt_tipiddt ` . ` id `
LEFT JOIN ` dt_causalet ` ON ` dt_ddt ` . ` idcausalet ` = ` dt_causalet ` . ` id `
LEFT JOIN ` dt_spedizione ` ON ` dt_ddt ` . ` idspedizione ` = ` dt_spedizione ` . ` id `
LEFT JOIN ` an_anagrafiche ` ` vettori ` ON ` dt_ddt ` . ` idvettore ` = ` vettori ` . ` idanagrafica `
LEFT JOIN ` an_sedi ` AS sedi ON ` dt_ddt ` . ` idsede_partenza ` = sedi . ` id `
LEFT JOIN ` an_sedi ` AS ` sedi_destinazione ` ON ` dt_ddt ` . ` idsede_destinazione ` = ` sedi_destinazione ` . ` id `
LEFT JOIN (
SELECT ` idddt ` ,
SUM ( ` subtotale ` - ` sconto ` ) AS ` totale_imponibile ` ,
SUM ( ` subtotale ` - ` sconto ` + ` iva ` ) AS ` totale `
FROM
` dt_righe_ddt `
GROUP BY
` idddt `
) AS righe
ON
` dt_ddt ` . ` id ` = ` righe ` . ` idddt `
LEFT JOIN ` dt_statiddt ` ON ` dt_statiddt ` . ` id ` = ` dt_ddt ` . ` idstatoddt `
WHERE
1 = 1 AND ` dir ` = ' entrata ' | date_period ( ` data ` ) |
HAVING
2 = 2
ORDER BY
2022-11-18 16:04:19 +01:00
` data ` DESC ,
CAST ( ` numero_esterno ` AS UNSIGNED ) DESC ,
` dt_ddt ` . created_at DESC " WHERE `name` = 'Ddt di vendita';
2022-11-18 13:02:39 +01:00
2022-11-18 13:05:19 +01:00
-- Ottimizzazione query vista ddt entrata
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' dt_statiddt.icona ' WHERE ` zz_modules ` . ` name ` = ' Ddt di acquisto ' AND ` zz_views ` . ` name ` = ' icon_Stato ' ;
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' dt_statiddt.descrizione ' WHERE ` zz_modules ` . ` name ` = ' Ddt di acquisto ' AND ` zz_views ` . ` name ` = ' icon_title_Stato ' ;
UPDATE ` zz_modules ` SET ` options ` = " SELECT
| select |
FROM
` dt_ddt `
LEFT JOIN ` an_anagrafiche ` ON ` dt_ddt ` . ` idanagrafica ` = ` an_anagrafiche ` . ` idanagrafica `
LEFT JOIN ` dt_tipiddt ` ON ` dt_ddt ` . ` idtipoddt ` = ` dt_tipiddt ` . ` id `
LEFT JOIN ` dt_causalet ` ON ` dt_ddt ` . ` idcausalet ` = ` dt_causalet ` . ` id `
LEFT JOIN ` dt_spedizione ` ON ` dt_ddt ` . ` idspedizione ` = ` dt_spedizione ` . ` id `
LEFT JOIN ` an_anagrafiche ` ` vettori ` ON ` dt_ddt ` . ` idvettore ` = ` vettori ` . ` idanagrafica `
LEFT JOIN ` an_sedi ` AS sedi ON ` dt_ddt ` . ` idsede_partenza ` = sedi . ` id `
LEFT JOIN ` an_sedi ` AS ` sedi_destinazione ` ON ` dt_ddt ` . ` idsede_destinazione ` = ` sedi_destinazione ` . ` id `
LEFT JOIN (
SELECT ` idddt ` ,
SUM ( ` subtotale ` - ` sconto ` ) AS ` totale_imponibile ` ,
SUM ( ` subtotale ` - ` sconto ` + ` iva ` ) AS ` totale `
FROM
` dt_righe_ddt `
GROUP BY
` idddt `
) AS righe
ON
` dt_ddt ` . ` id ` = ` righe ` . ` idddt `
LEFT JOIN ` dt_statiddt ` ON ` dt_statiddt ` . ` id ` = ` dt_ddt ` . ` idstatoddt `
WHERE
1 = 1 AND ` dir ` = ' uscita ' | date_period ( ` data ` ) |
HAVING
2 = 2
ORDER BY
2022-11-18 16:04:19 +01:00
` data ` DESC ,
CAST ( ` numero_esterno ` AS UNSIGNED ) DESC ,
` dt_ddt ` . created_at DESC " WHERE `name` = 'Ddt di acquisto';
-- Ottimizzazione query vista impianti
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' my_impianti.id ' WHERE ` zz_modules ` . ` name ` = ' Impianti ' AND ` zz_views ` . ` name ` = ' id ' ;
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' my_impianti.idanagrafica ' WHERE ` zz_modules ` . ` name ` = ' Impianti ' AND ` zz_views ` . ` name ` = ' idanagrafica ' ;
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' my_impianti.nome ' WHERE ` zz_modules ` . ` name ` = ' Impianti ' AND ` zz_views ` . ` name ` = ' Nome ' ;
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' clienti.ragione_sociale ' WHERE ` zz_modules ` . ` name ` = ' Impianti ' AND ` zz_views ` . ` name ` = ' Cliente ' ;
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = " IF(my_impianti.idsede > 0, sede.info, CONCAT('', IF (clienti.telefono!='',CONCAT(clienti.telefono,'<br>'),''), IF(clienti.cellulare!='', CONCAT(clienti.cellulare,'<br>'),''),IF(clienti.citta!='',clienti.citta,''),IF(clienti.indirizzo!='',CONCAT(' - ',clienti.indirizzo),''))) " WHERE ` zz_modules ` . ` name ` = ' Impianti ' AND ` zz_views ` . ` name ` = ' Sede ' ;
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' tecnici.ragione_sociale ' WHERE ` zz_modules ` . ` name ` = ' Impianti ' AND ` zz_views ` . ` name ` = ' Tecnico ' ;
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' my_impianti_categorie.nome ' WHERE ` zz_modules ` . ` name ` = ' Impianti ' AND ` zz_views ` . ` name ` = ' Categoria ' ;
UPDATE ` zz_modules ` SET ` options ` = " SELECT
| select |
FROM
` my_impianti `
LEFT JOIN ` an_anagrafiche ` AS clienti ON ` clienti ` . ` idanagrafica ` = ` my_impianti ` . ` idanagrafica `
LEFT JOIN ` an_anagrafiche ` AS tecnici ON ` tecnici ` . ` idanagrafica ` = ` my_impianti ` . ` idtecnico `
LEFT JOIN ` my_impianti_categorie ` ON ` my_impianti_categorie ` . ` id ` = ` my_impianti ` . ` id_categoria `
LEFT JOIN ( 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
) AS sede ON sede . id = my_impianti . idsede
WHERE
1 = 1
HAVING
2 = 2
ORDER BY
` matricola ` " WHERE `name` = 'Impianti';
2022-11-18 17:42:25 +01:00
-- Ottimizzazione query vista Movimenti
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 ` = ' Movimenti ' 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 ` = " IF(`mg_movimenti`.`reference_type` = 'Modules\\\\Fatture\\\\Fattura', fattura.nomi, IF(`mg_movimenti`.`reference_type` = 'Modules\\\\DDT\\\\DDT', ddt.nomi, IF(`mg_movimenti`.`reference_type` = 'Modules\\\\Interventi\\\\Intervento', intervento.nomi, ''))) " WHERE ` zz_modules ` . ` name ` = ' Movimenti ' AND ` zz_views ` . ` name ` = ' Anagrafica ' ;
UPDATE ` zz_modules ` SET ` options ` = " SELECT
| select |
FROM
` mg_movimenti `
INNER JOIN ` mg_articoli ` ON ` mg_articoli ` . id = ` mg_movimenti ` . ` idarticolo `
LEFT JOIN ` an_sedi ` ON ` mg_movimenti ` . ` idsede ` = ` an_sedi ` . ` id `
LEFT JOIN ` zz_modules ` ON ` zz_modules ` . ` name ` = ' Articoli '
LEFT JOIN ( SELECT ` an_anagrafiche ` . ` idanagrafica ` , ` co_documenti ` . ` id ` , ` ragione_sociale ` AS nomi FROM ` co_documenti ` LEFT JOIN ` an_anagrafiche ` ON ` co_documenti ` . ` idanagrafica ` = ` an_anagrafiche ` . ` idanagrafica ` GROUP BY ` idanagrafica ` , ` co_documenti ` . ` id ` ) AS fattura ON ` fattura ` . ` id ` = ` mg_movimenti ` . ` reference_id `
LEFT JOIN ( SELECT ` an_anagrafiche ` . ` idanagrafica ` , ` dt_ddt ` . ` id ` , ` ragione_sociale ` AS nomi FROM ` dt_ddt ` LEFT JOIN ` an_anagrafiche ` ON ` dt_ddt ` . ` idanagrafica ` = ` an_anagrafiche ` . ` idanagrafica ` GROUP BY ` idanagrafica ` , ` dt_ddt ` . ` id ` ) AS ddt ON ` ddt ` . ` id ` = ` mg_movimenti ` . ` reference_id `
LEFT JOIN ( SELECT ` an_anagrafiche ` . ` idanagrafica ` , ` in_interventi ` . ` id ` , ` ragione_sociale ` AS nomi FROM ` in_interventi ` LEFT JOIN ` an_anagrafiche ` ON ` in_interventi ` . ` idanagrafica ` = ` an_anagrafiche ` . ` idanagrafica ` GROUP BY ` idanagrafica ` , ` in_interventi ` . ` id ` ) AS intervento ON ` intervento ` . ` id ` = ` mg_movimenti ` . ` reference_id `
WHERE
1 = 1 AND mg_articoli . deleted_at IS NULL
HAVING
2 = 2
ORDER BY
mg_movimenti . data DESC ,
mg_movimenti . created_at DESC " WHERE `name` = 'Movimenti';
2022-11-18 17:49:56 +01:00
-- Ottimizzazione query vista Template email
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' `em_templates`.`id` ' WHERE ` zz_modules ` . ` name ` = ' Template 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 ` = ' `em_templates`.`id` ' WHERE ` zz_modules ` . ` name ` = ' Template email ' AND ` zz_views ` . ` name ` = ' # ' ;
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 ` = ' Template email ' 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`.`SUBJECT` ' WHERE ` zz_modules ` . ` name ` = ' Template 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 ` = ' `zz_modules`.`name` ' WHERE ` zz_modules ` . ` name ` = ' Template email ' AND ` zz_views ` . ` name ` = ' Modulo ' ;
UPDATE ` zz_modules ` SET ` options ` = " SELECT
| select |
FROM
` em_templates `
LEFT JOIN ` zz_modules ` on ` zz_modules ` . ` id ` = ` em_templates ` . ` id_module `
WHERE
1 = 1 AND ` deleted_at ` IS NULL
HAVING
2 = 2
ORDER BY
` zz_modules ` . ` name ` " WHERE `name` = 'Template email';
2022-11-18 17:58:22 +01:00
-- Ottimizzazione query vista Campi personalizzati
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' `zz_fields`.`id` ' WHERE ` zz_modules ` . ` name ` = ' Campi personalizzati ' 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_modules`.`NAME` ' WHERE ` zz_modules ` . ` name ` = ' Campi personalizzati ' 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_plugins`.`NAME` ' WHERE ` zz_modules ` . ` name ` = ' Campi personalizzati ' AND ` zz_views ` . ` name ` = ' Plugin ' ;
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' `zz_fields`.`NAME` ' WHERE ` zz_modules ` . ` name ` = ' Campi personalizzati ' AND ` zz_views ` . ` name ` = ' Nome ' ;
UPDATE ` zz_modules ` SET ` options ` = " SELECT
| select |
FROM
` zz_fields `
LEFT JOIN ` zz_modules ` ON ` zz_modules ` . ` id ` = ` zz_fields ` . ` id_module `
LEFT JOIN ` zz_plugins ` ON ` zz_plugins ` . ` id ` = ` zz_fields ` . ` id_module `
WHERE
1 = 1
HAVING
2022-11-18 18:06:32 +01:00
2 = 2 " WHERE `name` = 'Campi personalizzati';
-- Ottimizzazione query vista Segmenti
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' `zz_segments`.`id` ' WHERE ` zz_modules ` . ` name ` = ' Segmenti ' 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_segments`.`NAME` ' WHERE ` zz_modules ` . ` name ` = ' Segmenti ' AND ` zz_views ` . ` name ` = ' Nome ' ;
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 ` = ' Segmenti ' AND ` zz_views ` . ` name ` = ' Modulo ' ;
UPDATE ` zz_modules ` SET ` options ` = " SELECT
| select |
FROM
` zz_segments `
LEFT JOIN ` zz_modules ` ON ` zz_modules ` . ` id ` = ` zz_segments ` . ` id_module `
WHERE
1 = 1
HAVING
2 = 2
ORDER BY ` zz_segments ` . ` NAME ` ,
` zz_segments ` . ` id_module ` " WHERE `name` = 'Segmenti';
2022-11-21 15:26:56 +01:00
-- Ottimizzazione query vista Fatture di vendita
UPDATE ` zz_views ` INNER JOIN ` zz_modules ` ON ` zz_views ` . ` id_module ` = ` zz_modules ` . ` id ` SET ` zz_views ` . ` query ` = ' `banche`.`descrizione` ' WHERE ` zz_modules ` . ` name ` = ' Fatture di vendita ' AND ` zz_views ` . ` name ` = ' Banca ' ;
UPDATE ` zz_modules ` SET ` options ` = " SELECT
| select |
FROM
` co_documenti `
LEFT JOIN ` an_anagrafiche ` ON ` co_documenti ` . ` idanagrafica ` = ` an_anagrafiche ` . ` idanagrafica `
LEFT JOIN ` co_tipidocumento ` ON ` co_documenti ` . ` idtipodocumento ` = ` co_tipidocumento ` . ` id `
LEFT JOIN ( SELECT ` iddocumento ` , SUM ( ` subtotale ` - ` sconto ` ) AS ` totale_imponibile ` , SUM ( ` iva ` ) AS ` iva ` FROM ` co_righe_documenti ` GROUP BY ` iddocumento ` ) AS righe ON ` co_documenti ` . ` id ` = ` righe ` . ` iddocumento `
LEFT JOIN ( SELECT ` co_banche ` . ` id ` , CONCAT ( ` co_banche ` . ` nome ` , ' - ' , ` co_banche ` . ` iban ` ) AS descrizione FROM ` co_banche ` GROUP BY ` co_banche ` . ` id ` ) AS banche ON ` banche ` . ` id ` = ` co_documenti ` . ` id_banca_azienda `
LEFT JOIN ` co_statidocumento ` ON ` co_documenti ` . ` idstatodocumento ` = ` co_statidocumento ` . ` id `
LEFT JOIN ` fe_stati_documento ` ON ` co_documenti ` . ` codice_stato_fe ` = ` fe_stati_documento ` . ` codice `
LEFT JOIN ` co_ritenuta_contributi ` ON ` co_documenti ` . ` id_ritenuta_contributi ` = ` co_ritenuta_contributi ` . ` id `
LEFT JOIN ( SELECT ` zz_operations ` . ` id_email ` , ` zz_operations ` . ` id_record ` FROM ` zz_operations ` INNER JOIN ` em_emails ` ON ` zz_operations ` . ` id_email ` = ` em_emails ` . ` id ` INNER JOIN ` em_templates ` ON ` em_emails ` . ` id_template ` = ` em_templates ` . ` id ` INNER JOIN ` zz_modules ` ON ` zz_operations ` . ` id_module ` = ` zz_modules ` . ` id ` WHERE ` zz_modules ` . ` name ` = ' Fatture di vendita ' AND ` zz_operations ` . ` op ` = ' send-email ' GROUP BY ` zz_operations ` . ` id_record ` , zz_operations . id_email ) AS ` email ` ON ` email ` . ` id_record ` = ` co_documenti ` . ` id `
LEFT JOIN ` co_pagamenti ` ON ` co_documenti ` . ` idpagamento ` = ` co_pagamenti ` . ` id `
LEFT JOIN ( SELECT ` numero_esterno ` , ` id_segment ` , ` idtipodocumento ` , ` data ` FROM ` co_documenti ` WHERE ` co_documenti ` . ` idtipodocumento ` IN ( SELECT ` id ` FROM ` co_tipidocumento ` WHERE ` dir ` = ' entrata ' ) AND ( ` co_documenti ` . ` data ` BETWEEN ' 2022-01-01 ' AND ' 2022-12-31 23:59:59 ' ) AND ` numero_esterno ` ! = ' ' GROUP BY ` id_segment ` , ` numero_esterno ` , ` idtipodocumento ` , ` data ` HAVING COUNT ( ` numero_esterno ` ) > 1 ) dup ON ` co_documenti ` . ` numero_esterno ` = ` dup ` . ` numero_esterno ` AND ` dup ` . ` id_segment ` = ` co_documenti ` . ` id_segment ` AND ` dup ` . ` idtipodocumento ` = ` co_documenti ` . ` idtipodocumento ` AND ` dup ` . ` data ` = ` co_documenti ` . ` data `
WHERE
1 = 1 AND ` dir ` = ' entrata ' | segment ( ` co_documenti ` . ` id_segment ` ) | | date_period ( ` co_documenti ` . ` data ` ) |
HAVING
2 = 2
ORDER BY
` co_documenti ` . ` data ` DESC ,
CAST ( ` co_documenti ` . ` numero_esterno ` AS UNSIGNED ) DESC " WHERE `name` = 'Fatture di vendita';