From a8f1bbc4428bcd8ca4fe3a24e2b3b8ab4b628c52 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Fri, 19 May 2023 11:41:11 +0200 Subject: [PATCH 1/4] Fix #1306 --- templates/liquidazione_iva/body.php | 108 ++++++++++++++++++++++------ templates/liquidazione_iva/init.php | 60 ++++++++++------ templates/registro_iva/bottom.php | 8 +-- templates/registro_iva/init.php | 2 +- 4 files changed, 128 insertions(+), 50 deletions(-) diff --git a/templates/liquidazione_iva/body.php b/templates/liquidazione_iva/body.php index 8194a1767..425b6dc25 100644 --- a/templates/liquidazione_iva/body.php +++ b/templates/liquidazione_iva/body.php @@ -19,27 +19,27 @@ include_once __DIR__.'/../../core.php'; -$totale_iva_vendite = sum(array_column($iva_vendite, 'iva')); -$totale_subtotale_vendite = sum(array_column($iva_vendite, 'subtotale')); -$totale_iva_acquisti = sum(array_column($iva_acquisti, 'iva')); -$totale_subtotale_acquisti = sum(array_column($iva_acquisti, 'subtotale')); +$totale_iva_vendite = sum(array_column($iva_vendite, 'iva'), null, 2); +$totale_subtotale_vendite = sum(array_column($iva_vendite, 'subtotale'), null, 2); +$totale_iva_acquisti = sum(array_column($iva_acquisti, 'iva'), null, 2); +$totale_subtotale_acquisti = sum(array_column($iva_acquisti, 'subtotale'), null, 2); -$totale_iva_esigibile = sum(array_column($iva_vendite_esigibile, 'iva')); -$totale_iva_nonesigibile = sum(array_column($iva_vendite_nonesigibile, 'iva')); -$subtotale_iva_esigibile = sum(array_column($iva_vendite_esigibile, 'subtotale')); -$subtotale_iva_nonesigibile = sum(array_column($iva_vendite_nonesigibile, 'subtotale')); +$totale_iva_esigibile = sum(array_column($iva_vendite_esigibile, 'iva'), null, 2); +$totale_iva_nonesigibile = sum(array_column($iva_vendite_nonesigibile, 'iva'), null, 2); +$subtotale_iva_esigibile = sum(array_column($iva_vendite_esigibile, 'subtotale'), null, 2); +$subtotale_iva_nonesigibile = sum(array_column($iva_vendite_nonesigibile, 'subtotale'), null, 2); -$totale_iva_detraibile = sum(array_column($iva_acquisti_detraibile, 'iva')); -$totale_iva_nondetraibile = sum(array_column($iva_acquisti_nondetraibile, 'iva')); -$subtotale_iva_detraibile = sum(array_column($iva_acquisti_detraibile, 'subtotale')); -$subtotale_iva_nondetraibile = sum(array_column($iva_acquisti_nondetraibile, 'subtotale')); +$totale_iva_detraibile = sum(array_column($iva_acquisti_detraibile, 'iva'), null, 2); +$totale_iva_nondetraibile = sum(array_column($iva_acquisti_nondetraibile, 'iva'), null, 2); +$subtotale_iva_detraibile = sum(array_column($iva_acquisti_detraibile, 'subtotale'), null, 2); +$subtotale_iva_nondetraibile = sum(array_column($iva_acquisti_nondetraibile, 'subtotale'), null, 2); -$totale_iva_vendite_anno_precedente = sum(array_column($iva_vendite_anno_precedente, 'iva')); -$totale_iva_acquisti_anno_precedente = sum(array_column($iva_acquisti_anno_precedente, 'iva')); +$totale_iva_vendite_anno_precedente = sum(array_column($iva_vendite_anno_precedente, 'iva'), null, 2); +$totale_iva_acquisti_anno_precedente = sum(array_column($iva_acquisti_anno_precedente, 'iva'), null, 2); $totale_iva_anno_precedente = $totale_iva_vendite_anno_precedente - $totale_iva_acquisti_anno_precedente; -$totale_iva_vendite_periodo_precedente = sum(array_column($iva_vendite_periodo_precedente, 'iva')); -$totale_iva_acquisti_periodo_precedente = sum(array_column($iva_acquisti_periodo_precedente, 'iva')); +$totale_iva_vendite_periodo_precedente = sum(array_column($iva_vendite_periodo_precedente, 'iva'), null, 2); +$totale_iva_acquisti_periodo_precedente = sum(array_column($iva_acquisti_periodo_precedente, 'iva'), null, 2); $totale_iva_periodo_precedente = $totale_iva_vendite_periodo_precedente - $totale_iva_acquisti_periodo_precedente; $totale_iva = $totale_iva_esigibile - $totale_iva_detraibile; @@ -69,10 +69,20 @@ echo ' IVA ESIGIBILE DEL PERIODO '; +// Somma importi arrotondati per fattura +$aliquote=[]; + foreach ($iva_vendite_esigibile as $record) { + $aliquote[$record['aliquota']]['cod_iva'] = $record['cod_iva']; + $aliquote[$record['aliquota']]['descrizione'] = $record['descrizione']; + $aliquote[$record['aliquota']]['subtotale'] += sum($record['subtotale'], null, 2); + $aliquote[$record['aliquota']]['iva'] += sum($record['iva'], null, 2); +} + +foreach ($aliquote as $aliquota=>$record) { echo ' - '.round($record['aliquota']).'% + '.round($aliquota).'% '.$record['cod_iva'].' '.$record['descrizione'].' '.moneyFormat($record['subtotale'], 2).' @@ -91,10 +101,20 @@ echo ' IVA NON ESIGIBILE DEL PERIODO '; +// Somma importi arrotondati per fattura +$aliquote=[]; + foreach ($iva_vendite_nonesigibile as $record) { + $aliquote[$record['aliquota']]['cod_iva'] = $record['cod_iva']; + $aliquote[$record['aliquota']]['descrizione'] = $record['descrizione']; + $aliquote[$record['aliquota']]['subtotale'] += sum($record['subtotale'], null, 2); + $aliquote[$record['aliquota']]['iva'] += sum($record['iva'], null, 2); +} + +foreach ($aliquote as $aliquota=>$record) { echo ' - '.round($record['aliquota']).'% + '.round($aliquota).'% '.$record['cod_iva'].' '.$record['descrizione'].' '.moneyFormat($record['subtotale'], 2).' @@ -112,10 +132,21 @@ echo ' RIEPILOGO GENERALE IVA VENDITE '; + +// Somma importi arrotondati per fattura +$aliquote=[]; + foreach ($iva_vendite as $record) { + $aliquote[$record['aliquota']]['cod_iva'] = $record['cod_iva']; + $aliquote[$record['aliquota']]['descrizione'] = $record['descrizione']; + $aliquote[$record['aliquota']]['subtotale'] += sum($record['subtotale'], null, 2); + $aliquote[$record['aliquota']]['iva'] += sum($record['iva'], null, 2); +} + +foreach ($aliquote as $aliquota=>$record) { echo ' - '.round($record['aliquota']).'% + '.round($aliquota).'% '.$record['cod_iva'].' '.$record['descrizione'].' '.moneyFormat($record['subtotale'], 2).' @@ -149,10 +180,20 @@ echo ' IVA DETRAIBILE DEL PERIODO '; +// Somma importi arrotondati per fattura +$aliquote=[]; + foreach ($iva_acquisti_detraibile as $record) { + $aliquote[$record['aliquota']]['cod_iva'] = $record['cod_iva']; + $aliquote[$record['aliquota']]['descrizione'] = $record['descrizione']; + $aliquote[$record['aliquota']]['subtotale'] += sum($record['subtotale'], null, 2); + $aliquote[$record['aliquota']]['iva'] += sum($record['iva'], null, 2); +} + +foreach ($aliquote as $aliquota=>$record) { echo ' - '.round($record['aliquota']).'% + '.round($aliquota).'% '.$record['cod_iva'].' '.$record['descrizione'].' '.moneyFormat($record['subtotale'], 2).' @@ -172,10 +213,20 @@ echo ' IVA NON DETRAIBILE DEL PERIODO '; +// Somma importi arrotondati per fattura +$aliquote=[]; + foreach ($iva_acquisti_nondetraibile as $record) { + $aliquote[$record['aliquota']]['cod_iva'] = $record['cod_iva']; + $aliquote[$record['aliquota']]['descrizione'] = $record['descrizione']; + $aliquote[$record['aliquota']]['subtotale'] += sum($record['subtotale'], null, 2); + $aliquote[$record['aliquota']]['iva'] += sum($record['iva'], null, 2); +} + +foreach ($aliquote as $aliquota=>$record) { echo ' - '.round($record['aliquota']).'% + '.round($aliquota).'% '.$record['cod_iva'].' '.$record['descrizione'].' '.moneyFormat($record['subtotale'], 2).' @@ -194,10 +245,21 @@ echo ' RIEPILOGO GENERALE IVA ACQUISTI '; + +// Somma importi arrotondati per fattura +$aliquote=[]; + foreach ($iva_acquisti as $record) { + $aliquote[$record['aliquota']]['cod_iva'] = $record['cod_iva']; + $aliquote[$record['aliquota']]['descrizione'] = $record['descrizione']; + $aliquote[$record['aliquota']]['subtotale'] += sum($record['subtotale'], null, 2); + $aliquote[$record['aliquota']]['iva'] += sum($record['iva'], null, 2); +} + +foreach ($aliquote as $aliquota=>$record) { echo ' - '.round($record['aliquota']).'% + '.round($aliquota).'% '.$record['cod_iva'].' '.$record['descrizione'].' '.moneyFormat($record['subtotale'], 2).' @@ -220,7 +282,7 @@ echo ' - + diff --git a/templates/liquidazione_iva/init.php b/templates/liquidazione_iva/init.php index 425d4b4c1..73035b4eb 100644 --- a/templates/liquidazione_iva/init.php +++ b/templates/liquidazione_iva/init.php @@ -43,6 +43,7 @@ if (!empty($vendita_banco)){ $iva_vendite_esigibile = $dbo->fetchArray(' SELECT + id, cod_iva, aliquota, descrizione, @@ -51,6 +52,7 @@ $iva_vendite_esigibile = $dbo->fetchArray(' FROM ( SELECT + co_documenti.id AS id, co_iva.codice_natura_fe AS cod_iva, co_iva.percentuale AS aliquota, co_iva.descrizione AS descrizione, @@ -64,9 +66,10 @@ $iva_vendite_esigibile = $dbo->fetchArray(' WHERE co_tipidocumento.dir = "entrata" AND co_righe_documenti.is_descrizione = 0 AND co_documenti.split_payment = 0 AND idstatodocumento NOT IN(SELECT id FROM co_statidocumento WHERE descrizione = "Bozza" OR descrizione = "Annullata") AND co_documenti.data_competenza >= '.prepare($date_start).' AND co_documenti.data_competenza <= '.prepare($date_end).' GROUP BY - cod_iva, aliquota, descrizione + cod_iva, aliquota, descrizione, co_documenti.id UNION SELECT + vb_venditabanco.id AS id, co_iva.codice_natura_fe AS cod_iva, co_iva.percentuale AS aliquota, co_iva.descrizione AS descrizione, @@ -82,16 +85,18 @@ $iva_vendite_esigibile = $dbo->fetchArray(' WHERE vb_venditabanco.data >= '.prepare($date_start).' AND vb_venditabanco.data <= '.prepare($date_end).' AND vb_righe_venditabanco.is_descrizione = 0 AND vb_stati_vendita.descrizione = "Pagato" GROUP BY - cod_iva, aliquota, descrizione + cod_iva, aliquota, descrizione, vb_venditabanco.id ) AS tabella GROUP BY cod_iva, aliquota, - descrizione;'); + descrizione, + id'); $iva_vendite = $dbo->fetchArray(' SELECT + id, cod_iva, aliquota, descrizione, @@ -100,6 +105,7 @@ $iva_vendite = $dbo->fetchArray(' FROM ( SELECT + co_documenti.id AS id, co_iva.codice_natura_fe AS cod_iva, co_iva.percentuale AS aliquota, co_iva.descrizione AS descrizione, @@ -113,9 +119,10 @@ $iva_vendite = $dbo->fetchArray(' WHERE co_tipidocumento.dir = "entrata" AND co_righe_documenti.is_descrizione = 0 AND idstatodocumento NOT IN(SELECT id FROM co_statidocumento WHERE descrizione = "Bozza" OR descrizione = "Annullata") AND co_documenti.data_competenza >= '.prepare($date_start).' AND co_documenti.data_competenza <= '.prepare($date_end).' GROUP BY - cod_iva, aliquota, descrizione + cod_iva, aliquota, descrizione, co_documenti.id UNION SELECT + vb_venditabanco.id AS id, co_iva.codice_natura_fe AS cod_iva, co_iva.percentuale AS aliquota, co_iva.descrizione AS descrizione, @@ -131,15 +138,17 @@ $iva_vendite = $dbo->fetchArray(' WHERE vb_venditabanco.data >= '.prepare($date_start).' AND vb_venditabanco.data <= '.prepare($date_end).' AND vb_righe_venditabanco.is_descrizione = 0 AND vb_stati_vendita.descrizione = "Pagato" GROUP BY - cod_iva, aliquota, descrizione + cod_iva, aliquota, descrizione, vb_venditabanco.id ) AS tabella GROUP BY cod_iva, aliquota, - descrizione;'); + descrizione, + id'); $iva_vendite_anno_precedente = $dbo->fetchArray(' SELECT + id, cod_iva, aliquota, descrizione, @@ -148,6 +157,7 @@ $iva_vendite_anno_precedente = $dbo->fetchArray(' FROM ( SELECT + co_documenti.id AS id, co_iva.codice_natura_fe AS cod_iva, co_iva.percentuale AS aliquota, co_iva.descrizione AS descrizione, @@ -161,9 +171,10 @@ $iva_vendite_anno_precedente = $dbo->fetchArray(' WHERE co_tipidocumento.dir = "entrata" AND co_righe_documenti.is_descrizione = 0 AND idstatodocumento NOT IN(SELECT id FROM co_statidocumento WHERE descrizione = "Bozza" OR descrizione = "Annullata") AND co_documenti.data_competenza >= '.prepare($anno_precedente_start).' AND co_documenti.data_competenza <= '.prepare($anno_precedente_end).' GROUP BY - cod_iva, aliquota, descrizione + cod_iva, aliquota, descrizione, co_documenti.id UNION SELECT + vb_venditabanco.id AS id, co_iva.codice_natura_fe AS cod_iva, co_iva.percentuale AS aliquota, co_iva.descrizione AS descrizione, @@ -179,15 +190,17 @@ $iva_vendite_anno_precedente = $dbo->fetchArray(' WHERE vb_venditabanco.data >= '.prepare($anno_precedente_start).' AND vb_venditabanco.data <= '.prepare($anno_precedente_end).' AND vb_righe_venditabanco.is_descrizione = 0 AND vb_stati_vendita.descrizione = "Pagato" GROUP BY - cod_iva, aliquota, descrizione + cod_iva, aliquota, descrizione, vb_venditabanco.id ) AS tabella GROUP BY cod_iva, aliquota, - descrizione;'); + descrizione, + id'); $iva_vendite_periodo_precedente = $dbo->fetchArray(' SELECT + id, cod_iva, aliquota, descrizione, @@ -196,6 +209,7 @@ $iva_vendite_periodo_precedente = $dbo->fetchArray(' FROM ( SELECT + co_documenti.id AS id, co_iva.codice_natura_fe AS cod_iva, co_iva.percentuale AS aliquota, co_iva.descrizione AS descrizione, @@ -209,9 +223,10 @@ $iva_vendite_periodo_precedente = $dbo->fetchArray(' WHERE co_tipidocumento.dir = "entrata" AND co_righe_documenti.is_descrizione = 0 AND idstatodocumento NOT IN(SELECT id FROM co_statidocumento WHERE descrizione = "Bozza" OR descrizione = "Annullata") AND co_documenti.data_competenza >= '.prepare($periodo_precedente_start).' AND co_documenti.data_competenza <= '.prepare($periodo_precedente_end).' GROUP BY - cod_iva, aliquota, descrizione + cod_iva, aliquota, descrizione, co_documenti.id UNION SELECT + vb_venditabanco.id AS id, co_iva.codice_natura_fe AS cod_iva, co_iva.percentuale AS aliquota, co_iva.descrizione AS descrizione, @@ -227,12 +242,13 @@ $iva_vendite_periodo_precedente = $dbo->fetchArray(' WHERE vb_venditabanco.data >= '.prepare($periodo_precedente_start).' AND vb_venditabanco.data <= '.prepare($periodo_precedente_end).' AND vb_righe_venditabanco.is_descrizione = 0 AND vb_stati_vendita.descrizione = "Pagato" GROUP BY - cod_iva, aliquota, descrizione + cod_iva, aliquota, descrizione, vb_venditabanco.id ) AS tabella GROUP BY cod_iva, aliquota, - descrizione;'); + descrizione, + id'); } @@ -253,7 +269,7 @@ $iva_vendite_esigibile = $dbo->fetchArray(' WHERE co_tipidocumento.dir = "entrata" AND co_righe_documenti.is_descrizione = 0 AND co_documenti.split_payment = 0 AND idstatodocumento NOT IN(SELECT id FROM co_statidocumento WHERE descrizione = "Bozza" OR descrizione = "Annullata") AND co_documenti.data_competenza >= '.prepare($date_start).' AND co_documenti.data_competenza <= '.prepare($date_end).' GROUP BY - co_iva.id;'); + co_iva.id, co_documenti.id'); $iva_vendite = $dbo->fetchArray(' SELECT @@ -270,7 +286,7 @@ $iva_vendite = $dbo->fetchArray(' WHERE co_tipidocumento.dir = "entrata" AND co_righe_documenti.is_descrizione = 0 AND idstatodocumento NOT IN(SELECT id FROM co_statidocumento WHERE descrizione = "Bozza" OR descrizione = "Annullata") AND co_documenti.data_competenza >= '.prepare($date_start).' AND co_documenti.data_competenza <= '.prepare($date_end).' GROUP BY - co_iva.id;'); + co_iva.id, co_documenti.id'); $iva_vendite_anno_precedente = $dbo->fetchArray(' SELECT @@ -287,7 +303,7 @@ $iva_vendite_anno_precedente = $dbo->fetchArray(' WHERE co_tipidocumento.dir = "entrata" AND co_righe_documenti.is_descrizione = 0 AND idstatodocumento NOT IN(SELECT id FROM co_statidocumento WHERE descrizione = "Bozza" OR descrizione = "Annullata") AND co_documenti.data_competenza >= '.prepare($anno_precedente_start).' AND co_documenti.data_competenza <= '.prepare($anno_precedente_end).' GROUP BY - co_iva.id;'); + co_iva.id, co_documenti.id'); $iva_vendite_periodo_precedente = $dbo->fetchArray(' SELECT @@ -304,7 +320,7 @@ $iva_vendite_periodo_precedente = $dbo->fetchArray(' WHERE co_tipidocumento.dir = "entrata" AND co_righe_documenti.is_descrizione = 0 AND idstatodocumento NOT IN(SELECT id FROM co_statidocumento WHERE descrizione = "Bozza" OR descrizione = "Annullata") AND co_documenti.data_competenza >= '.prepare($periodo_precedente_start).' AND co_documenti.data_competenza <= '.prepare($periodo_precedente_end).' GROUP BY - co_iva.id;'); + co_iva.id, co_documenti.id'); } $iva_vendite_nonesigibile = $dbo->fetchArray(' @@ -322,7 +338,7 @@ $iva_vendite_nonesigibile = $dbo->fetchArray(' WHERE co_tipidocumento.dir = "entrata" AND co_righe_documenti.is_descrizione = 0 AND co_documenti.split_payment = 1 AND idstatodocumento NOT IN(SELECT id FROM co_statidocumento WHERE descrizione = "Bozza" OR descrizione = "Annullata") AND co_documenti.data_competenza >= '.prepare($date_start).' AND co_documenti.data_competenza <= '.prepare($date_end).' GROUP BY - co_iva.id;'); + co_iva.id, co_documenti.id'); $iva_acquisti_detraibile = $dbo->fetchArray(' SELECT @@ -339,7 +355,7 @@ $iva_acquisti_detraibile = $dbo->fetchArray(' WHERE co_tipidocumento.dir = "uscita" AND co_righe_documenti.is_descrizione = 0 AND co_documenti.split_payment = 0 AND idstatodocumento NOT IN(SELECT id FROM co_statidocumento WHERE descrizione = "Bozza" OR descrizione = "Annullata") AND co_documenti.data_competenza >= '.prepare($date_start).' AND co_documenti.data_competenza <= '.prepare($date_end).' AND co_iva.indetraibile != 100 GROUP BY - co_iva.id;'); + co_iva.id, co_documenti.id'); $iva_acquisti_nondetraibile = $dbo->fetchArray(' SELECT @@ -356,7 +372,7 @@ $iva_acquisti_nondetraibile = $dbo->fetchArray(' WHERE co_tipidocumento.dir = "uscita" AND co_righe_documenti.is_descrizione = 0 AND idstatodocumento NOT IN(SELECT id FROM co_statidocumento WHERE descrizione = "Bozza" OR descrizione = "Annullata") AND co_documenti.data_competenza >= ' . prepare($date_start) . ' AND co_documenti.data_competenza <= ' . prepare($date_end) . ' AND co_iva.indetraibile != 0 GROUP BY - co_iva.id;'); + co_iva.id, co_documenti.id'); $iva_acquisti = $dbo->fetchArray(' SELECT @@ -373,7 +389,7 @@ $iva_acquisti = $dbo->fetchArray(' WHERE co_tipidocumento.dir = "uscita" AND co_righe_documenti.is_descrizione = 0 AND idstatodocumento NOT IN(SELECT id FROM co_statidocumento WHERE descrizione = "Bozza" OR descrizione = "Annullata") AND co_documenti.data_competenza >= '.prepare($date_start).' AND co_documenti.data_competenza <= '.prepare($date_end).' GROUP BY - co_iva.id;'); + co_iva.id, co_documenti.id'); $iva_acquisti_anno_precedente = $dbo->fetchArray(' SELECT @@ -390,7 +406,7 @@ $iva_acquisti_anno_precedente = $dbo->fetchArray(' WHERE co_tipidocumento.dir = "uscita" AND co_righe_documenti.is_descrizione = 0 AND idstatodocumento NOT IN(SELECT id FROM co_statidocumento WHERE descrizione = "Bozza" OR descrizione = "Annullata") AND co_documenti.data_competenza >= '.prepare($anno_precedente_start).' AND co_documenti.data_competenza <= '.prepare($anno_precedente_end).' GROUP BY - co_iva.id;'); + co_iva.id, co_documenti.id'); $iva_acquisti_periodo_precedente = $dbo->fetchArray(' SELECT @@ -407,4 +423,4 @@ $iva_acquisti_periodo_precedente = $dbo->fetchArray(' WHERE co_tipidocumento.dir = "uscita" AND co_righe_documenti.is_descrizione = 0 AND idstatodocumento NOT IN(SELECT id FROM co_statidocumento WHERE descrizione = "Bozza" OR descrizione = "Annullata") AND co_documenti.data_competenza >= '.prepare($periodo_precedente_start).' AND co_documenti.data_competenza <= '.prepare($periodo_precedente_end).' GROUP BY - co_iva.id;'); \ No newline at end of file + co_iva.id, co_documenti.id'); \ No newline at end of file diff --git a/templates/registro_iva/bottom.php b/templates/registro_iva/bottom.php index a53851d0c..de9f050c1 100755 --- a/templates/registro_iva/bottom.php +++ b/templates/registro_iva/bottom.php @@ -19,8 +19,8 @@ include_once __DIR__.'/../../core.php'; -$totale_iva = sum(array_column($records, 'iva')); -$totale_subtotale = sum(array_column($records, 'subtotale')); +$totale_iva = sum(array_column($records, 'iva'), null, 2); +$totale_subtotale = sum(array_column($records, 'subtotale'), null, 2); echo ' @@ -42,8 +42,8 @@ echo ' foreach ($iva as $descrizione => $tot_iva) { if (!empty($descrizione)) { - $somma_iva = sum($iva[$descrizione]); - $somma_totale = sum($totale[$descrizione]); + $somma_iva = sum($iva[$descrizione], null, 2); + $somma_totale = sum($totale[$descrizione], null, 2); echo ' diff --git a/templates/registro_iva/init.php b/templates/registro_iva/init.php index 840a83038..5dd27e646 100755 --- a/templates/registro_iva/init.php +++ b/templates/registro_iva/init.php @@ -33,7 +33,7 @@ $vendita_banco = $dbo->fetchNum("SELECT * FROM zz_modules WHERE name='Vendita al $v_iva = []; $v_totale = []; -if ((!empty($vendita_banco)) && ($id_sezionale == -1) && ($tipo == 'vendite')){ +if ((!empty($vendita_banco)) && ($tipo == 'vendite')){ $query = ' SELECT data_registrazione, From d001d3f11c675a7ce18b9ac9a3a2f8315ca758d6 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Fri, 19 May 2023 12:10:32 +0200 Subject: [PATCH 2/4] Fix minore --- templates/registro_iva/init.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/registro_iva/init.php b/templates/registro_iva/init.php index 5dd27e646..840a83038 100755 --- a/templates/registro_iva/init.php +++ b/templates/registro_iva/init.php @@ -33,7 +33,7 @@ $vendita_banco = $dbo->fetchNum("SELECT * FROM zz_modules WHERE name='Vendita al $v_iva = []; $v_totale = []; -if ((!empty($vendita_banco)) && ($tipo == 'vendite')){ +if ((!empty($vendita_banco)) && ($id_sezionale == -1) && ($tipo == 'vendite')){ $query = ' SELECT data_registrazione, From d268ba555fbaaecdb46ef321e82c9ce348a824e8 Mon Sep 17 00:00:00 2001 From: Matteo Date: Fri, 19 May 2023 12:22:48 +0200 Subject: [PATCH 3/4] Aggiunto widget per stampa settimanale calendario --- ...tampa_calendario_settimanale.dashboard.php | 114 ++++++++++++++++ templates/dashboard_settimanale/body.php | 129 ++++++++++++++++++ templates/dashboard_settimanale/header.php | 34 +++++ templates/dashboard_settimanale/settings.php | 26 ++++ update/2_4_46.sql | 9 +- 5 files changed, 311 insertions(+), 1 deletion(-) create mode 100644 modules/dashboard/widgets/stampa_calendario_settimanale.dashboard.php create mode 100644 templates/dashboard_settimanale/body.php create mode 100644 templates/dashboard_settimanale/header.php create mode 100644 templates/dashboard_settimanale/settings.php diff --git a/modules/dashboard/widgets/stampa_calendario_settimanale.dashboard.php b/modules/dashboard/widgets/stampa_calendario_settimanale.dashboard.php new file mode 100644 index 000000000..4664b9c32 --- /dev/null +++ b/modules/dashboard/widgets/stampa_calendario_settimanale.dashboard.php @@ -0,0 +1,114 @@ +. + */ + +include_once __DIR__.'/../../../core.php'; + +use Carbon\Carbon; + +// Trovo id_print della stampa +$id_print = Prints::getPrints()['Stampa calendario settimanale']; + +echo ' +
+ +
+
+ {[ "type": "text", "label": "'.tr('Settimana').'", "name": "date", "required": "1" ]} +
+ +
+ {[ "type": "select", "label": "'.tr('Formato').'", "name": "format", "required": "1", "values": "list=\"A4\": \"'.tr('A4').'\", \"A3\": \"'.tr('A3').'\"", "value": "'.$_SESSION['dashboard']['format'].'" ]} +
+ +
+ {[ "type": "select", "label": "'.tr('Orientamento').'", "name": "orientation", "required": "1", "values": "list=\"L\": \"'.tr('Orizzontale').'\", \"P\": \"'.tr('Verticale').'\"", "value": "'.$_SESSION['dashboard']['orientation'].'" ]} +
+ + +
+

 

+ + +
+ +
+ + + +'; + +echo ' +'; + +?> + + + + diff --git a/templates/dashboard_settimanale/body.php b/templates/dashboard_settimanale/body.php new file mode 100644 index 000000000..71b53e151 --- /dev/null +++ b/templates/dashboard_settimanale/body.php @@ -0,0 +1,129 @@ +. + */ + +include_once __DIR__.'/../../core.php'; + +use Carbon\Carbon; + +$calendar = $_SESSION['dashboard']; + +$date_start = $calendar['date_week_start']; +$date_end = date('Y-m-d', strtotime('+1 day', strtotime($calendar['date_week_end']))); + +$title = date('d/m/Y', strtotime($date_start))." - ".date('d/m/Y', strtotime($date_end)); + +$min_date = new Carbon($date_start); +$max_date = new Carbon($date_end); + +$height = '480'; + +$stati = (array) $calendar['idstatiintervento']; +$tipi = (array) $calendar['idtipiintervento']; +$tecnici = (array) $calendar['idtecnici']; + +$query = "SELECT + DATE(orario_inizio) AS data, + in_interventi.richiesta AS richiesta, + DATE_FORMAT(orario_inizio, '%H:%i') AS ora_inizio, + DATE_FORMAT(orario_fine, '%H:%i') AS ora_fine, + (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=in_interventi.idanagrafica) AS anagrafica, + GROUP_CONCAT((SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=in_interventi_tecnici.idtecnico) SEPARATOR ', ') AS tecnico, + in_statiintervento.colore AS color +FROM in_interventi_tecnici + INNER JOIN in_interventi ON in_interventi_tecnici.idintervento=in_interventi.id + LEFT OUTER JOIN in_statiintervento ON in_interventi.idstatointervento=in_statiintervento.idstatointervento +WHERE ".$where.' + idtecnico IN('.implode(',', $tecnici).') AND + in_interventi.idstatointervento IN('.implode(',', $stati).') AND + in_interventi_tecnici.idtipointervento IN('.implode(',', $tipi).') '.Modules::getAdditionalsQuery('Interventi').' +GROUP BY in_interventi.id, data +ORDER BY ora_inizio ASC'; +$sessioni = $dbo->fetchArray($query); + +$sessioni = collect($sessioni)->groupBy('data'); + +// Intestazione tabella +echo ' +

'.tr('Calendario _PERIOD_', [ + '_PERIOD_' => $title, +], ['upper' => true]).'

'; + +// Elenco per la gestione +$list = []; + +// Filler per i giorni non inclusi della settimana iniziale +$current_day = $min_date; + +// Elenco del periodo indicato +while ($current_day->lessThan($max_date)) { + $list[] = [ + 'date' => $current_day->copy(), + 'contents' => $sessioni[$current_day->toDateString()] ?: [], + ]; + + $current_day->addDay(); +} + +// Stampa della tabella +echo ' +
PROSPETTO RIEPILOGATIVO DI LIQUIDAZIONE I.V.A.PROSPETTO RIEPILOGATIVO DI LIQUIDAZIONE IVA
DESCRIZIONE IMPORTO
'; + +$count = count($list); +for ($i = 0; $i < $count; $i = $i + 7) { + echo ' + '; + + for ($c = 0; $c < 7; ++$c) { + $element = $list[$i + $c]; + + echo ' + '; + } + + echo ' + '; + + echo ' + '; + + for ($c = 0; $c < 7; ++$c) { + $element = $list[$i + $c]; + + $clienti = ''; + foreach ($element['contents'] as $sessione) { + $clienti .= '
'.ucfirst($element['date']->formatLocalized('%A %d/%m')).'
'.$sessione['ora_inizio'].' - '.$sessione['ora_fine'].'
'.$sessione['anagrafica'].'
+ '.$sessione['richiesta'].''.$sessione['tecnico'].'
'; + } + + $background = '#ffffff'; + + if (empty($clienti)) { + $background = 'lightgray'; + } + + echo ' + '.$clienti.''; + } + + echo ' + '; +} + +echo ' +'; diff --git a/templates/dashboard_settimanale/header.php b/templates/dashboard_settimanale/header.php new file mode 100644 index 000000000..340ebbd4e --- /dev/null +++ b/templates/dashboard_settimanale/header.php @@ -0,0 +1,34 @@ +. + */ + +echo ' + +
+
+

$f_ragionesociale$

+

$f_indirizzo$ $f_citta_full$

+

'.(!empty($f_piva) ? tr('P.Iva').': ' : '').'$f_piva$

+

'.(!empty($f_codicefiscale) ? tr('C.F.').': ' : '').'$f_codicefiscale$

+

'.(!empty($f_capsoc) ? tr('Cap.Soc.').': ' : '').'$f_capsoc$

+

'.(!empty($f_telefono) ? tr('Tel').': ' : '').'$f_telefono$

+
+
+ Logo +
+
'; diff --git a/templates/dashboard_settimanale/settings.php b/templates/dashboard_settimanale/settings.php new file mode 100644 index 000000000..0eff70354 --- /dev/null +++ b/templates/dashboard_settimanale/settings.php @@ -0,0 +1,26 @@ +. + */ + +$format = (isset($_SESSION['dashboard']['format'])) ? $_SESSION['dashboard']['format'] : 'A4'; +$orientation = (isset($_SESSION['dashboard']['orientation'])) ? $_SESSION['dashboard']['orientation'] : 'L'; + +return [ + 'format' => $format, + 'orientation' => $orientation, +]; diff --git a/update/2_4_46.sql b/update/2_4_46.sql index 35ebc0b34..ca884e565 100644 --- a/update/2_4_46.sql +++ b/update/2_4_46.sql @@ -25,4 +25,11 @@ ORDER BY DELETE FROM `zz_prints` WHERE `name` = 'Spesometro'; -- Aggiunta stampa ddt in entrata -INSERT INTO `zz_prints` (`id`, `id_module`, `is_record`, `name`, `title`, `filename`, `directory`, `previous`, `options`, `icon`, `version`, `compatibility`, `order`, `predefined`, `default`, `enabled`) VALUES (NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Ddt di acquisto'), '1', 'Ddt di acquisto', 'Ddt in entrata', 'DDT num. {numero} del {data}', 'ddt', 'idddt', '{\"pricing\":true}', 'fa fa-print', '', '', '0', '1', '1', '1'); \ No newline at end of file +INSERT INTO `zz_prints` (`id`, `id_module`, `is_record`, `name`, `title`, `filename`, `directory`, `previous`, `options`, `icon`, `version`, `compatibility`, `order`, `predefined`, `default`, `enabled`) VALUES (NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Ddt di acquisto'), '1', 'Ddt di acquisto', 'Ddt in entrata', 'DDT num. {numero} del {data}', 'ddt', 'idddt', '{\"pricing\":true}', 'fa fa-print', '', '', '0', '1', '1', '1'); + +-- Aggiuntq widget per la stampa settimanale del calendario +INSERT INTO `zz_widgets` (`id`, `name`, `type`, `id_module`, `location`, `class`, `query`, `bgcolor`, `icon`, `print_link`, `more_link`, `more_link_type`, `php_include`, `text`, `enabled`, `order`, `help`) VALUES +(NULL, 'Stampa calendario settimanale', 'print', (SELECT id FROM zz_modules WHERE name = 'Dashboard'), 'controller_top', NULL, NULL, '#4ccc4c', 'fa fa-print', '', './modules/dashboard/widgets/stampa_calendario_settimanale.dashboard.php', 'popup', '', 'Stampa calendario settimanale', 1, 7, NULL); + +INSERT INTO `zz_prints` (`id`, `id_module`, `is_record`, `name`, `title`, `filename`, `directory`, `previous`, `options`, `icon`, `version`, `compatibility`, `order`, `predefined`, `default`, `enabled`, `available_options`) VALUES +(NULL, (SELECT id FROM zz_modules WHERE name = 'Dashboard'), 1, 'Stampa calendario settimanale', 'Stampa calendario settimanale', 'Calendario settimanale', 'dashboard_settimanale', '', '', 'fa fa-print', '', '', 0, 1, 1, 1, NULL); From 5cd74c4d1d325b6f4ceb44a1b43cf3b7286c328d Mon Sep 17 00:00:00 2001 From: Matteo Date: Fri, 19 May 2023 13:19:19 +0200 Subject: [PATCH 4/4] Fix su stampa settimanale calendario --- ...tampa_calendario_settimanale.dashboard.php | 2 +- templates/dashboard_settimanale/body.php | 46 +++++++++++++++---- 2 files changed, 37 insertions(+), 11 deletions(-) diff --git a/modules/dashboard/widgets/stampa_calendario_settimanale.dashboard.php b/modules/dashboard/widgets/stampa_calendario_settimanale.dashboard.php index 4664b9c32..52568eae1 100644 --- a/modules/dashboard/widgets/stampa_calendario_settimanale.dashboard.php +++ b/modules/dashboard/widgets/stampa_calendario_settimanale.dashboard.php @@ -37,7 +37,7 @@ echo '
- {[ "type": "select", "label": "'.tr('Orientamento').'", "name": "orientation", "required": "1", "values": "list=\"L\": \"'.tr('Orizzontale').'\", \"P\": \"'.tr('Verticale').'\"", "value": "'.$_SESSION['dashboard']['orientation'].'" ]} + {[ "type": "select", "label": "'.tr('Orientamento').'", "name": "orientation", "required": "1", "values": "list=\"L\": \"'.tr('Orizzontale').'\"", "value": "'.$_SESSION['dashboard']['orientation'].'" ]}
diff --git a/templates/dashboard_settimanale/body.php b/templates/dashboard_settimanale/body.php index 71b53e151..b888cad39 100644 --- a/templates/dashboard_settimanale/body.php +++ b/templates/dashboard_settimanale/body.php @@ -21,6 +21,34 @@ include_once __DIR__.'/../../core.php'; use Carbon\Carbon; +?> + +lessThan($max_date)) { // Stampa della tabella echo ' -'; +
'; $count = count($list); for ($i = 0; $i < $count; $i = $i + 7) { echo ' -
'; +
'; for ($c = 0; $c < 7; ++$c) { $element = $list[$i + $c]; echo ' -
'; +
'.ucfirst($element['date']->formatLocalized('%A %d/%m')).'
'; } echo ' - '; + '; echo ' - '; +
'; for ($c = 0; $c < 7; ++$c) { $element = $list[$i + $c]; @@ -118,12 +144,12 @@ for ($i = 0; $i < $count; $i = $i + 7) { } echo ' -
'; +
'.(!empty($clienti)?$clienti:' ').'
'; } echo ' - '; + '; } echo ' -
'.ucfirst($element['date']->formatLocalized('%A %d/%m')).'
'.$clienti.'
'; +';