. */ use Plugins\PianificazioneFatturazione\Pianificazione; include_once __DIR__.'/../../../core.php'; $pianificazioni = Pianificazione::doesntHave('fattura') ->orderBy('data_scadenza', 'asc') ->whereHas('contratto', function ($q) { $q->whereHas('stato', function ($q) { $q->where('is_fatturabile', 1); }); }) ->get(); if ($pianificazioni->isEmpty()) { echo '

'.tr('Non ci sono fatture da emettere').'.

'; return; } $raggruppamenti = $pianificazioni->groupBy(function ($item) { return ucfirst($item->data_scadenza->formatLocalized('%B %Y')); }); $counter = 0; foreach ($raggruppamenti as $mese => $raggruppamento) { ++$counter; // Se cambia il mese ricreo l'intestazione della tabella if ($counter == 1) { $attr = ''; $class = 'fa-minus-circle'; } else { $attr = 'style="display:none;"'; $class = 'fa-plus-circle'; } echo "

".$mese.'

'; echo '
'; // Elenco fatture da emettere foreach ($pianificazioni as $pianificazione) { $contratto = $pianificazione->contratto; $anagrafica = $contratto->anagrafica; $numero_pianificazioni = $contratto->pianificazioni()->count(); if (strtolower($pianificazione->data_scadenza->formatLocalized('%B %Y')) == strtolower($mese)) { echo ' '; // Pulsanti echo ' '; } } echo '
'.tr('Entro il').' '.tr('Ragione sociale').' '.tr('Importo').'
'.dateFormat($pianificazione->data_scadenza).'
'.reference($contratto).'
'.Modules::link('Anagrafiche', $anagrafica->id, nl2br($anagrafica->ragione_sociale)).' '.moneyFormat($pianificazione->totale).'
'.tr('Rata _IND_/_NUM_ (totale: _TOT_)', [ '_IND_' => numberFormat($pianificazione->getNumeroPianificazione(), 0), '_NUM_' => numberFormat($numero_pianificazioni, 0), '_TOT_' => moneyFormat($contratto->totale), ]).'
'; } $modulo_pianificazione = Modules::get('Contratti'); $plugin_pianificazione = Plugins::get('Pianificazione fatturazione'); echo ' ';