Skip to content

Commit de3d0f3

Browse files
fix: raggruppamento movimenti piano dei conti
1 parent 198b646 commit de3d0f3

2 files changed

Lines changed: 10 additions & 2 deletions

File tree

modules/partitario/dettagli_conto3.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@
2424

2525
$id_conto = get('id_conto');
2626

27+
// Se il conto è di stato patrimoniale, devo raggruppare i movimenti anche per segno
28+
$is_patrimoniale = $dbo->fetchOne('SELECT descrizione FROM co_pianodeiconti1 WHERE id=(SELECT idpianodeiconti1 FROM co_pianodeiconti2 WHERE id=(SELECT idpianodeiconti2 FROM co_pianodeiconti3 WHERE id='.prepare($id_conto).'))')['descrizione'] == 'Patrimoniale';
29+
$group_by = $is_patrimoniale ? ', IF(`totale`>0, 1, 0)' : '';
30+
2731
// Calcolo totale conto da elenco movimenti di questo conto
2832
$query = 'SELECT
2933
`co_movimenti`.*,
@@ -38,7 +42,7 @@
3842
`co_movimenti`.`data` >= '.prepare($_SESSION['period_start']).' AND
3943
`co_movimenti`.`data` <= '.prepare($_SESSION['period_end']).'
4044
GROUP BY
41-
`co_movimenti`.`iddocumento`, `co_movimenti`.`idmastrino`
45+
`co_movimenti`.`iddocumento`, `co_movimenti`.`idmastrino` '.$group_by.'
4246
ORDER BY
4347
`co_movimenti`.`data` DESC, `co_movimenti`.`id` DESC';
4448
$movimenti = $dbo->fetchArray($query);

templates/partitario_mastrino/init.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,14 @@
3030
$conto3 = $dbo->fetchOne('SELECT * FROM co_pianodeiconti3 WHERE id='.prepare($id_record));
3131
$conto2 = $dbo->fetchOne('SELECT * FROM co_pianodeiconti2 WHERE id='.prepare($conto3['idpianodeiconti2']));
3232
$conto1 = $dbo->fetchOne('SELECT * FROM co_pianodeiconti1 WHERE id='.prepare($conto2['idpianodeiconti1']));
33+
34+
// Se il conto è di stato patrimoniale, devo raggruppare i movimenti anche per segno
35+
$group_by = $conto1['descrizione'] == 'Patrimoniale' ? ', IF(`totale`>0, 1, 0)' : '';
36+
3337
// Movimenti
3438
$records = $dbo->fetchArray('SELECT co_movimenti.*, SUM(totale) AS totale FROM co_movimenti LEFT JOIN co_documenti ON co_movimenti.iddocumento=co_documenti.id WHERE co_movimenti.idconto='.prepare($id_record).' AND co_movimenti.data>='.prepare($date_start).' AND co_movimenti.data<='.prepare($date_end).'
3539
GROUP BY
36-
co_movimenti.idmastrino, IF(`totale`>0, 1, 0)
40+
`co_movimenti`.`iddocumento`, `co_movimenti`.`idmastrino` '.$group_by.'
3741
ORDER BY
3842
co_movimenti.data, CAST(co_documenti.numero AS UNSIGNED), CAST(co_documenti.numero_esterno AS UNSIGNED)');
3943

0 commit comments

Comments
 (0)