. */ include_once __DIR__.'/../../core.php'; use Modules\Fatture\Fattura; function renderRiga($id, $riga, &$totale_dare, &$totale_avere) { // Conto echo ' {[ "type": "select", "name": "idconto['.$id.']", "id": "conto'.$id.'", "value": "'.($riga['id_conto'] ?: '').'", "ajax-source": "conti", "icon-after": '.json_encode('').' ]} '; // Dare echo ' {[ "type": "number", "name": "dare['.$id.']", "id": "dare'.$id.'", "value": "'.($riga['dare'] ?: 0).'" ]} '; // Avere echo ' {[ "type": "number", "name": "avere['.$id.']", "id": "avere'.$id.'", "value": "'.($riga['avere'] ?: 0).'" ]} '; $totale_dare += ($riga['dare'] ?: 0); $totale_avere += ($riga['avere'] ?: 0); } function renderTabella($nome, $righe, &$totale_dare, &$totale_avere) { global $counter; $prima_riga = $righe->first(); $id_documento = $prima_riga ? $prima_riga['iddocumento'] : null; $id_scadenza = $prima_riga ? $prima_riga['id_scadenza'] : null; echo '

'.$nome.'

'; foreach ($righe as $riga) { renderRiga($counter++, $riga); } // Totale per controllare sbilancio echo ' '; // Totale dare echo ' '; // Totale avere echo ' '; echo '
'.tr('Conto').' '.tr('Dare').' '.tr('Avere').'
'.tr('Totale').': '.currency().' '.currency().'
'; // Verifica dello sbilancio echo '
'.tr('Sbilancio di _MONEY_', [ '_MONEY_' => ' '.currency(), ]).'
'; } $counter = 0; $movimenti = collect($movimenti); $totale_dare = 0; $totale_avere = 0; // Elenco per documenti $scadenze = $movimenti ->where('iddocumento', '<>', 0) ->groupBy('iddocumento'); foreach ($scadenze as $id_documento => $righe) { $documento = Fattura::find($id_documento); $nome = tr('Documento num. _NUM_', [ '_NUM_' => $documento['numero_esterno'] ?: $documento['numero'], ]); renderTabella($nome, $righe, $totale_dare, $totale_avere); } // Elenco per scadenze $scadenze = $movimenti ->where('iddocumento', '=', 0) ->where('id_scadenza', '<>', 0) ->groupBy('id_scadenza'); foreach ($scadenze as $id_scadenza => $righe) { $nome = tr('Scadenza num. _ID_', [ '_ID_' => $id_scadenza, ]); renderTabella($nome, $righe, $totale_dare, $totale_avere); } // Elenco generale $movimenti_generali = $movimenti ->where('iddocumento', '=', 0) ->where('id_scadenza', '=', 0); if ($movimenti_generali->isEmpty()) { $movimenti_generali->push([]); $movimenti_generali->push([]); } $nome = tr('Generale'); renderTabella($nome, $movimenti_generali, $totale_dare, $totale_avere); // Nuova riga echo ' '; renderRiga('-id-', [ 'iddocumento' => '-id_documento-', 'id_scadenza' => '-id_scadenza-', ] ); echo '
'; // Nuova riga echo '
'.tr('Totale').' '.moneyFormat($totale_dare).' '.moneyFormat($totale_avere).'
'; echo ' ';