This commit is contained in:
MatteoPistorello 2023-05-26 13:16:18 +02:00
commit 45f9e19956
4 changed files with 29 additions and 22 deletions

View File

@ -21,7 +21,7 @@ include_once __DIR__.'/../../core.php';
use Modules\Fatture\Fattura;
function renderRiga($id, $riga)
function renderRiga($id, $riga, &$totale_dare, &$totale_avere)
{
// Conto
echo '
@ -46,11 +46,11 @@ function renderRiga($id, $riga)
</td>
</tr>';
$_SESSION['totale_dare'] += ($riga['dare'] ? $riga['dare'] : 0);
$_SESSION['totale_avere'] += ($riga['avere'] ? $riga['avere'] : 0);
$totale_dare += ($riga['dare'] ? $riga['dare'] : 0);
$totale_avere += ($riga['avere'] ? $riga['avere'] : 0);
}
function renderTabella($nome, $righe)
function renderTabella($nome, $righe, &$totale_dare, &$totale_avere)
{
global $counter;
@ -78,7 +78,7 @@ function renderTabella($nome, $righe)
<tbody>';
foreach ($righe as $riga) {
renderRiga($counter++, $riga);
renderRiga($counter++, $riga, $totale_dare, $totale_avere);
}
// Totale per controllare sbilancio
@ -118,8 +118,8 @@ function renderTabella($nome, $righe)
$counter = 0;
$movimenti = collect($movimenti);
$_SESSION['totale_dare'] = 0;
$_SESSION['totale_avere'] = 0;
$totale_dare = 0;
$totale_avere = 0;
// Elenco per documenti
$scadenze = $movimenti
@ -132,7 +132,7 @@ foreach ($scadenze as $id_documento => $righe) {
'_NUM_' => $documento['numero_esterno'] ?: $documento['numero'],
]);
renderTabella($nome, $righe);
renderTabella($nome, $righe, $totale_dare, $totale_avere);
}
// Elenco per scadenze
@ -145,7 +145,7 @@ foreach ($scadenze as $id_scadenza => $righe) {
'_ID_' => $id_scadenza,
]);
renderTabella($nome, $righe);
renderTabella($nome, $righe, $totale_dare, $totale_avere);
}
// Elenco generale
@ -158,17 +158,21 @@ if ($movimenti_generali->isEmpty()) {
}
$nome = tr('Generale');
renderTabella($nome, $movimenti_generali);
renderTabella($nome, $movimenti_generali, $totale_dare, $totale_avere);
// Nuova riga
echo '
<table class="hide">
<tbody id="template">';
renderRiga('-id-', [
'iddocumento' => '-id_documento-',
'id_scadenza' => '-id_scadenza-',
]);
renderRiga('-id-',
[
'iddocumento' => '-id_documento-',
'id_scadenza' => '-id_scadenza-',
],
$totale_dare,
$totale_avere
);
echo '
</tbody>
@ -179,14 +183,11 @@ echo '
<table class="table table-bordered">
<tr>
<th class="text-right">'.tr('Totale').'</th>
<th class="text-right" width="20%">'.moneyFormat($_SESSION['totale_dare']).'</th>
<th class="text-right" width="20%">'.moneyFormat($_SESSION['totale_avere']).'</th>
<th class="text-right" width="20%">'.moneyFormat($totale_dare).'</th>
<th class="text-right" width="20%">'.moneyFormat($totale_avere).'</th>
</tr>
</table>';
unset($_SESSION['totale_dare']);
unset($_SESSION['totale_avere']);
echo '
<script>
var formatted_zero = "'.numberFormat(0).'";

View File

@ -471,7 +471,13 @@ class FatturaOrdinaria extends FatturaElettronica
$ritenuta_norighe = false;
}
}
$totale = sum($totali);
// Calcolo la ritenuta su tutte le righe se non è specificata su nessuna riga
if (empty($totali)) {
$totale = array_sum(array_column($righe, 'PrezzoTotale'));
} else {
$totale = sum($totali);
}
$percentuale = floatval($ritenuta['AliquotaRitenuta']);
$importo = floatval($ritenuta['ImportoRitenuta']);

View File

@ -276,7 +276,7 @@ class Gestore
}
// Unifico ricevute per anagrafica
$identificativo_debitore = !empty($controparte->partita_iva) ? $controparte->partita_iva : !empty($controparte->codice_fiscale) ? $controparte->codice_fiscale : $controparte->codice;
$identificativo_debitore = (!empty($controparte->partita_iva) ? $controparte->partita_iva : (!empty($controparte->codice_fiscale) ? $controparte->codice_fiscale : $controparte->codice));
$ricevute = $this->bonifico->getRicevute();
foreach ($ricevute as $ric) {
if ($ric->identificativo_debitore == $identificativo_debitore) {

View File

@ -82,7 +82,7 @@ foreach ($righe as $riga) {
<td>
'.nl2br($r['descrizione']);
//Riferimenti odrini/ddt righe
//Riferimenti ordini/ddt righe
if ($riga->referenceTargets()->count()) {
$source = $source_type::find($riga->id);
$riferimenti = $source->referenceTargets;