. */ 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', fn ($query) => $query->where('is_completato', '=', 0)) ->get(); $raggruppamenti = $interventi_da_pianificare->groupBy(function ($item, $key) { $data = $item->data_scadenza ?: $item->data_richiesta; return ucfirst((string) $data->isoFormat('MMMM YYYY')); }); $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 '
'.tr('Codice').' '.tr('Cliente').' '.tr('Data richiesta').' '.tr('Tecnici assegnati').' '.tr('Tipo intervento').' '.tr('Stato intervento').'
'.Modules::link('Interventi', $r['id'], $r['codice']).' '.Modules::link('Anagrafiche', $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`,`title`) AS descrizione FROM `in_tipiintervento` LEFT JOIN `in_tipiintervento_lang` ON (`in_tipiintervento_lang`.`id_record` = `in_tipiintervento`.`id` AND `in_tipiintervento_lang`.`id_lang` = ".prepare(Models\Locale::getDefault()->id).') WHERE `in_tipiintervento`.`id`='.prepare($r['idtipointervento']))['descrizione'].' '.$dbo->fetchOne("SELECT CONCAT_WS(' - ', `codice`,`title`) AS descrizione FROM `in_statiintervento` LEFT JOIN `in_statiintervento_lang` ON (`in_statiintervento_lang`.`id_record` = `in_statiintervento`.`id` AND `in_statiintervento_lang`.`id_lang` = ".prepare(Models\Locale::getDefault()->id).') WHERE `in_statiintervento`.`id`='.prepare($r['idstatointervento']))['descrizione'].'
'.input([ 'type' => 'ckeditor', 'name' => 'descrizione_'.$r['id'], 'value' => $r['richiesta'], 'disabled' => true, ]).'
'; } if ($raggruppamenti->isEmpty()) { echo '

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

'; } echo ' ';