SELECT a.id AS azione_id, a.dataoraprevista, d.cognome || ' ' || d.nome AS defunto, tf.descrizione || CASE WHEN sd.id > 0 THEN ',' || sd.descrizione ELSE '' END AS fase, a.annotazioni AS note_lavorazione, f.annotazioni AS descrizione_servizio, fd.dettaglioannotazioni AS note_operazione, c.descrizione || CASE WHEN tc.idtipodeposito <> 1 THEN ' ' || s.descrizione || ' ' || b.descrizione || ' n.' || l.alias || ' fila ' || l.fila ELSE '' END AS posizione, REPLACE( (SELECT REGEXP_REPLACE(ARRAY_AGG(cognome || ' ' || nome)::text,'[{"}]','','g') FROM azioneincaricato ai INNER JOIN richiedente r ON ai.idrichiedente = r.id WHERE idazione = a.id ),'{"','') AS operatore_incaricato FROM fase f INNER JOIN fasedettaglio fd ON fd.id=f.id INNER JOIN azione a ON a.idfase = f.id INNER JOIN tipoazione ta ON ta.id = a.idtipoazione INNER JOIN loculo l ON l.id = f.idloculo INNER JOIN tipocostruzione tc ON tc.id = l.tipotomba INNER JOIN blocco b ON b.id = l.idblocco INNER JOIN settore s ON s.id = b.idsettore INNER JOIN cimitero c ON c.id = s.idcimitero INNER JOIN defunto d ON d.id = f.iddefunto INNER JOIN statodefunto sd ON sd.id = d.statodefunto INNER JOIN tipofase tf ON tf.id = f.tipofase WHERE f.dataoraprevista >= [[data:default:dbdate]] AND f.dataoraprevista < [[data:default:dbdate]] + INTERVAL '1 day' AND tf.agendafrontoffice = false AND tf.cremazione = false AND tf.categoriafase <> 0 AND a.id IN (SELECT azioneincaricato.idazione FROM azioneincaricato WHERE azioneincaricato.idrichiedente = CASE WHEN [[richiedente_id:default:dbint]] = 0 THEN azioneincaricato.idrichiedente ELSE [[richiedente_id:default:dbint]] END) ORDER BY a.dataoraprevista,f.iddefunto