From 1fca7b633c96ddf7002166d42eb0053c379449d9 Mon Sep 17 00:00:00 2001 From: MatteoPistorello Date: Mon, 28 Mar 2022 11:28:14 +0200 Subject: [PATCH] Aggiunto pulsante per visualizzare movimenti prima nota --- modules/primanota/dettagli.php | 117 ++++++++++++++++++++++++++++++++ modules/primanota/movimenti.php | 16 ++++- 2 files changed, 131 insertions(+), 2 deletions(-) create mode 100644 modules/primanota/dettagli.php diff --git a/modules/primanota/dettagli.php b/modules/primanota/dettagli.php new file mode 100644 index 000000000..4584b25ba --- /dev/null +++ b/modules/primanota/dettagli.php @@ -0,0 +1,117 @@ +. + */ + +include_once __DIR__.'/../../core.php'; + +$prima_nota = Modules::get('Prima nota'); + +$id_conto = get('id_conto'); +$conto = $dbo->fetchOne('SELECT co_pianodeiconti2.numero AS numero2, co_pianodeiconti3.numero AS numero3, co_pianodeiconti3.descrizione FROM co_pianodeiconti3 LEFT JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2 = co_pianodeiconti2.id WHERE co_pianodeiconti3.id='.prepare($id_conto)); + +// Calcolo totale conto da elenco movimenti di questo conto +$query = 'SELECT co_movimenti.*, + SUM(totale) AS totale, + dir FROM co_movimenti +LEFT OUTER JOIN co_documenti ON co_movimenti.iddocumento = co_documenti.id +LEFT OUTER JOIN co_tipidocumento ON co_documenti.idtipodocumento = co_tipidocumento.id +WHERE co_movimenti.idconto='.prepare($id_conto).' AND + co_movimenti.data >= '.prepare($_SESSION['period_start']).' AND + co_movimenti.data <= '.prepare($_SESSION['period_end']).' +GROUP BY co_movimenti.idmastrino +ORDER BY co_movimenti.data ASC, co_movimenti.descrizione'; +$movimenti = $dbo->fetchArray($query); + +echo ' +

'.$conto['numero2'].'.'.$conto['numero3'].' '.$conto['descrizione'].'

'; + +if (!empty($movimenti)) { + echo ' + + + + + + + + '; + + $scalare = 0; + $righe_movimenti = 0; + + // Elenco righe del partitario + foreach ($movimenti as $movimento) { + $scalare += $movimento['totale']; + $righe_movimenti++; + + if (sizeof($movimenti) - $righe_movimenti < 25 ) { + echo ' + + '; + + // Data + echo ' + '; + + // Dare + if ($movimento['totale'] > 0) { + echo ' + + '; + } + + // Avere + else { + echo ' + + '; + } + + echo ' + '; + + echo ' + '; + } + } + + echo ' +
'.tr('Causale').''.tr('Data').''.tr('Dare').''.tr('Avere').''.tr('Scalare').'
'; + + $modulo_fattura = ($movimento['dir'] == 'entrata') ? Modules::get('Fatture di vendita') : Modules::get('Fatture di acquisto'); + + if (!empty($movimento['primanota'])) { + echo Modules::link($prima_nota->id, $movimento['idmastrino'], $movimento['descrizione']); + } else { + echo Modules::link($modulo_fattura->id, $movimento['iddocumento'], $movimento['descrizione']); + } + + echo ' + + '.dateFormat($movimento['data']).' + + '.moneyFormat(abs($movimento['totale']), 2).' + + '.moneyFormat(abs($movimento['totale']), 2).' + + '.moneyFormat($scalare, 2).' +
'; +} else { + echo ' +'.tr('Nessun movimento presente').''; +} diff --git a/modules/primanota/movimenti.php b/modules/primanota/movimenti.php index da7467ce3..cf8788b61 100755 --- a/modules/primanota/movimenti.php +++ b/modules/primanota/movimenti.php @@ -30,7 +30,7 @@ function renderRiga($id, $riga) - {[ "type": "select", "name": "idconto['.$id.']", "id": "conto'.$id.'", "value": "'.($riga['id_conto'] ?: '').'", "ajax-source": "conti" ]} + {[ "type": "select", "name": "idconto['.$id.']", "id": "conto'.$id.'", "value": "'.($riga['id_conto'] ?: '').'", "ajax-source": "conti", "icon-after": '.json_encode('').' ]} '; // Dare @@ -299,13 +299,20 @@ $(document).ready(function() { }); $(document).on("change", "select", function() { - let row = $(this).parent().parent(); + let row = $(this).parent().parent().parent(); if (row.find("input[disabled]").length > 1) { row.find("input").prop("disabled", !$(this).val()); } controllaConti(); + + let button = $(this).parent().find("button"); + if ($(this).val()) { + button.removeClass("disabled"); + } else { + button.addClass("disabled"); + } }); $(document).on("keyup change", "input[id*=dare]", function() { @@ -327,4 +334,9 @@ $(document).on("keyup change", "input[id*=avere]", function() { controllaConti(); } }); + +function visualizzaMovimenti(button) { + let id_conto = $(button).parent().parent().find("select").val(); + openModal("'.tr('Ultimi 25 movimenti').'", "'.$module->fileurl('dettagli.php').'?id_module=" + globals.id_module + "&id_conto=" + id_conto); +} ';