. */ use Modules\Interventi\Intervento; include_once __DIR__.'/../../../core.php'; // Interventi da pianificare NON completati $interventi_da_pianificare = Intervento::doesntHave('sessioni') ->orderByRaw('IF(data_scadenza IS NULL, data_richiesta, data_scadenza)') ->whereHas('stato', function ($query) { return $query->where('is_completato', '=', 0); }) ->get(); $raggruppamenti = $interventi_da_pianificare->groupBy(function ($item, $key) { $data = $item->data_scadenza ?: $item->data_richiesta; return ucfirst($data->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 interventi da pianificare foreach ($raggruppamento as $r) { $rs_tecnici = $dbo->fetchArray("SELECT GROUP_CONCAT(ragione_sociale SEPARATOR ',') AS tecnici FROM an_anagrafiche INNER JOIN in_interventi_tecnici_assegnati ON in_interventi_tecnici_assegnati.id_tecnico=an_anagrafiche.idanagrafica WHERE id_intervento=".prepare($r['id']).' GROUP BY id_intervento'); echo ' '; echo ' '; } echo '
'.tr('Codice').' '.tr('Cliente').' '.tr('Data richiesta').' '.tr('Tecnici assegnati').' '.tr('Tipo intervento').' '.tr('Stato intervento').' '.tr('Descrizione').'
'.Modules::link(Modules::get('Interventi')['id'], $r['id'], $r['codice']).' '.Modules::link(Modules::get('Anagrafiche')['id'], $r['idanagrafica'], $dbo->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica='.prepare($r['idanagrafica']))['ragione_sociale']).'
Presso: '; // Sede promemoria if ($r['idsede'] == '-1') { echo '- '.('Nessuna').' -'; } elseif (empty($r['idsede'])) { echo tr('Sede legale'); } else { $rsp2 = $dbo->fetchArray("SELECT id, CONCAT( CONCAT_WS( ' (', CONCAT_WS(', ', nomesede, citta), indirizzo ), ')') AS descrizione FROM an_sedi WHERE id=".prepare($r['idsede'])); echo $rsp2[0]['descrizione']; } echo '
'.Translator::dateToLocale($r['data_richiesta']).' '.((empty($r['data_scadenza'])) ? '' : '
Entro il '.Translator::dateToLocale($r['data_scadenza']).'').'
'.$rs_tecnici[0]['tecnici'].' '.$dbo->fetchOne("SELECT CONCAT_WS(' - ', codice,descrizione) AS descrizione FROM in_tipiintervento WHERE idtipointervento=".prepare($r['idtipointervento']))['descrizione'].' '.$dbo->fetchOne("SELECT CONCAT_WS(' - ', codice,descrizione) AS descrizione FROM in_statiintervento WHERE idstatointervento=".prepare($r['idstatointervento']))['descrizione'].' '.nl2br($r['richiesta']).'
'; } if ($raggruppamenti->isEmpty()) { echo '

'.tr('Non ci sono interventi da pianificare').'.

'; }