Interface RichiesteApi
public interface RichiesteApi
Governa il ciclo delle richieste, i contatti di disponibilità e gli accordi.
Ogni operazione riceve l'identità verificata dal server e controlla il ruolo e il legame dell'attore con la pratica. Il modulo verifica stato e permessi prima di scrivere. Una transizione aggiorna atomicamente lo stato e i dati a cui è legata, anche con comandi concorrenti. I dinieghi e i dati non validi lasciano invariata la pratica.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final recordAccordo per un appuntamento a distanza.static final recordAccordo per un appuntamento in presenza.static final recordCandidato presentato al Banco per una specifica opzione compatibile.static final recordContatto con un singolo erogatore e relativo esito.static final recordDati ammessi dal modulo di invio.static interfaceDettagli dell'accordo organizzati per modalità di erogazione.static final recordProiezione minima della richiesta per verificare la disponibilità.static enumEsiti del contatto di disponibilità.static final recordDati della pratica visibili al Banco, alla OPT titolare o all'erogatore assegnato.static final recordRiga della coda o degli elenchi delle richieste.static enumStati funzionali dell'unico ciclo della richiesta.static enumTipo di destinatario della misura, senza identificativi personali. -
Method Summary
Modifier and TypeMethodDescriptionannullaRichiesta(UtenzeApi.IdentitaAutenticata attore, UUID richiestaId, String motivo) Annulla la richiesta in qualsiasi stato per il Banco, la OPT titolare o l'erogatore assegnato.Elenca per il Banco le richieste con un esito registrato.assegnaErogatore(UtenzeApi.IdentitaAutenticata attore, UUID contattoId) Assegna la richiesta Presa in carico all'erogatore che ha risposto positivamente al contatto.cercaErogatoriOrdinati(UtenzeApi.IdentitaAutenticata attore, UUID richiestaId) Presenta le opzioni compatibili di una richiesta Presa in carico.Elenca le richieste aperte in ordine cronologico di invio.confermaAccordo(UtenzeApi.IdentitaAutenticata attore, UUID richiestaId, RichiesteApi.DettagliAccordo accordo) Conferma l'accordo con l'erogatore già assegnato.consultaContatto(UtenzeApi.IdentitaAutenticata attore, UUID contattoId) Fornisce al solo account interpellato i dati minimi per valutare la disponibilità.consultaRichiesta(UtenzeApi.IdentitaAutenticata attore, UUID richiestaId) Consulta la pratica con i soli dati visibili al Banco, alla OPT titolare o all'erogatore assegnato.Elenca le pratiche assegnate all'account autenticato.elencoContatti(UtenzeApi.IdentitaAutenticata attore, UUID richiestaId) Elenca per il Banco i contatti di una richiesta, comprese le risposte già acquisite.Elenca le richieste inviate dalla OPT autenticata.interpellaErogatore(UtenzeApi.IdentitaAutenticata attore, UUID richiestaId, UUID erogatoreId, CatalogoApi.AmbitoErogazione ambito) Registra un contatto di disponibilità e fa avvisare il solo account interpellato.invia(UtenzeApi.IdentitaAutenticata attore, RichiesteApi.DatiInvio dati, UUID riferimentoInvio) Registra una richiesta della OPT autenticata.prendiInCarico(UtenzeApi.IdentitaAutenticata attore, UUID richiestaId) Registra la presa in carico esplicita del Banco per una richiesta Creata.rifiutaRichiesta(UtenzeApi.IdentitaAutenticata attore, UUID richiestaId) Registra il rifiuto definitivo deciso dal Banco quando mancano soluzioni praticabili.rispondiDisponibilita(UtenzeApi.IdentitaAutenticata attore, UUID contattoId, boolean disponibile) Registra la risposta dell'account interpellato a quello specifico contatto.
-
Method Details
-
invia
RichiesteApi.RichiestaSintesi invia(UtenzeApi.IdentitaAutenticata attore, RichiesteApi.DatiInvio dati, UUID riferimentoInvio) Registra una richiesta della OPT autenticata. Il modulo attribuisce ID, data, titolare e stato inizialeRichiesteApi.StatoRichiesta.CREATA. Un ritento dello stesso invio della stessa OPT con uguale riferimento e dati restituisce la richiesta già registrata.- Parameters:
attore- identità verificata della OPT richiedentedati- misura, persona o nucleo, comune ed eventuale descrizioneriferimentoInvio- identificativo del tentativo logico, oppurenullse il chiamante non richiede il riconoscimento dei ritenti- Returns:
- richiesta presente negli elenchi della OPT e del Banco
- Throws:
SecurityException- se l'attore non è una OPT autorizzataIllegalArgumentException- se i dati sono incompleti, la misura non è richiedibile o il comune è sconosciutoIllegalStateException- se il riferimento di invio della OPT è già associato a dati diversi
-
elencoRichiesteOpt
Elenca le richieste inviate dalla OPT autenticata.- Parameters:
attore- identità verificata della OPT titolare- Returns:
- richieste proprie, eventualmente nessuna
- Throws:
SecurityException- se l'attore non è una OPT autorizzata
-
codaBanco
Elenca le richieste aperte in ordine cronologico di invio.- Parameters:
attore- identità verificata del Banco di coordinamento- Returns:
- coda con richieste Creata, Presa in carico e In programmazione
- Throws:
SecurityException- se l'attore non è il Banco
-
archivioBanco
Elenca per il Banco le richieste con un esito registrato.- Parameters:
attore- identità verificata del Banco di coordinamento- Returns:
- richieste Confermata, Rifiutata e Annullata
- Throws:
SecurityException- se l'attore non è il Banco
-
elencoAssegnazioni
Elenca le pratiche assegnate all'account autenticato.- Parameters:
attore- identità verificata della OPT o dell'operatore- Returns:
- pratiche assegnate, incluse quelle con un esito registrato
- Throws:
SecurityException- se l'attore non ha un ruolo da erogatore
-
consultaRichiesta
RichiesteApi.RichiestaDettaglio consultaRichiesta(UtenzeApi.IdentitaAutenticata attore, UUID richiestaId) Consulta la pratica con i soli dati visibili al Banco, alla OPT titolare o all'erogatore assegnato. Una consultazione conserva lo stato corrente.- Parameters:
attore- identità verificata del richiedenterichiestaId- identificativo della pratica- Returns:
- dettaglio filtrato per il richiedente
- Throws:
SecurityException- se l'attore non ha accesso alla praticaNoSuchElementException- se la pratica non esiste
-
prendiInCarico
RichiesteApi.RichiestaSintesi prendiInCarico(UtenzeApi.IdentitaAutenticata attore, UUID richiestaId) Registra la presa in carico esplicita del Banco per una richiesta Creata.- Parameters:
attore- identità verificata del Banco di coordinamentorichiestaId- identificativo della richiesta in coda- Returns:
- richiesta passata a Presa in carico
- Throws:
SecurityException- se l'attore non è il BancoNoSuchElementException- se la pratica non esisteIllegalStateException- se la richiesta non è Creata
-
cercaErogatoriOrdinati
List<RichiesteApi.Candidato> cercaErogatoriOrdinati(UtenzeApi.IdentitaAutenticata attore, UUID richiestaId) Presenta le opzioni compatibili di una richiesta Presa in carico. Ordina prima per prossimità, poi a pari prossimità per precedenza degli operatori del Banco sulle OPT e infine per minor carico. Il Centro PICUS a distanza è l'alternativa alle opzioni locali quando la misura lo consente.- Parameters:
attore- identità verificata del Banco di coordinamentorichiestaId- identificativo della pratica in lavorazione- Returns:
- candidati ordinati, eventualmente nessuno
- Throws:
SecurityException- se l'attore non è il BancoNoSuchElementException- se la pratica non esisteIllegalStateException- se lo stato non consente la ricerca
-
interpellaErogatore
RichiesteApi.ContattoDisponibilita interpellaErogatore(UtenzeApi.IdentitaAutenticata attore, UUID richiestaId, UUID erogatoreId, CatalogoApi.AmbitoErogazione ambito) Registra un contatto di disponibilità e fa avvisare il solo account interpellato. La richiesta resta Presa in carico e può avere al più un contatto in attesa di risposta.- Parameters:
attore- identità verificata del Banco di coordinamentorichiestaId- identificativo della praticaerogatoreId- account dell'erogatore sceltoambito- opzione compatibile per cui si chiede disponibilità- Returns:
- contatto creato in attesa, con identificativo proprio
- Throws:
SecurityException- se l'attore non è il BancoNoSuchElementException- se la pratica non esisteIllegalArgumentException- se l'opzione scelta non è compatibileIllegalStateException- se la richiesta non è Presa in carico o un contatto è già in attesa
-
elencoContatti
List<RichiesteApi.ContattoDisponibilita> elencoContatti(UtenzeApi.IdentitaAutenticata attore, UUID richiestaId) Elenca per il Banco i contatti di una richiesta, comprese le risposte già acquisite.- Parameters:
attore- identità verificata del Banco di coordinamentorichiestaId- identificativo della pratica- Returns:
- storico dei contatti in ordine di invio, eventualmente vuoto
- Throws:
SecurityException- se l'attore non è il BancoNoSuchElementException- se la pratica non esiste
-
consultaContatto
RichiesteApi.DettaglioContatto consultaContatto(UtenzeApi.IdentitaAutenticata attore, UUID contattoId) Fornisce al solo account interpellato i dati minimi per valutare la disponibilità.- Parameters:
attore- identità verificata della OPT o dell'operatore destinatariocontattoId- identificativo del contatto ricevuto- Returns:
- contatto e informazioni sintetiche sulla misura richiesta
- Throws:
SecurityException- se il contatto è indirizzato a un altro accountNoSuchElementException- se il contatto non esiste
-
rispondiDisponibilita
RichiesteApi.ContattoDisponibilita rispondiDisponibilita(UtenzeApi.IdentitaAutenticata attore, UUID contattoId, boolean disponibile) Registra la risposta dell'account interpellato a quello specifico contatto. La risposta è visibile al Banco e la richiesta resta Presa in carico.- Parameters:
attore- identità verificata del destinatario del contattocontattoId- identificativo del contatto a cui si rispondedisponibile- indica se l'erogatore accetta di proseguire il coordinamento- Returns:
- contatto con la risposta registrata
- Throws:
SecurityException- se il contatto è indirizzato a un altro accountNoSuchElementException- se il contatto non esisteIllegalStateException- se il contatto non è in attesa o la richiesta non è Presa in carico
-
assegnaErogatore
RichiesteApi.RichiestaSintesi assegnaErogatore(UtenzeApi.IdentitaAutenticata attore, UUID contattoId) Assegna la richiesta Presa in carico all'erogatore che ha risposto positivamente al contatto. Il passaggio a In programmazione registra l'assegnazione nello stesso esito.- Parameters:
attore- identità verificata del Banco di coordinamentocontattoId- identificativo del contatto con l'erogatore disponibile- Returns:
- richiesta passata a In programmazione
- Throws:
SecurityException- se l'attore non è il BancoNoSuchElementException- se il contatto non esisteIllegalStateException- se la richiesta non è Presa in carico, il contatto non attesta disponibilità o l'erogatore non è più abilitato
-
confermaAccordo
RichiesteApi.RichiestaDettaglio confermaAccordo(UtenzeApi.IdentitaAutenticata attore, UUID richiestaId, RichiesteApi.DettagliAccordo accordo) Conferma l'accordo con l'erogatore già assegnato. La richiesta diventa Confermata e i dettagli completi e immutabili diventano consultabili nello stesso esito dalla OPT titolare e dall'erogatore assegnato, oltre che dal Banco.- Parameters:
attore- identità verificata del Banco di coordinamentorichiestaId- identificativo della pratica In programmazioneaccordo- dettagli concordati per la modalità prescelta- Returns:
- dettaglio della richiesta confermata
- Throws:
SecurityException- se l'attore non è il BancoNoSuchElementException- se la pratica non esisteIllegalArgumentException- se mancano dettagli o la modalità è incompatibileIllegalStateException- se la richiesta non è In programmazione con un erogatore assegnato
-
rifiutaRichiesta
RichiesteApi.RichiestaSintesi rifiutaRichiesta(UtenzeApi.IdentitaAutenticata attore, UUID richiestaId) Registra il rifiuto definitivo deciso dal Banco quando mancano soluzioni praticabili. La OPT titolare vede l'esito Rifiutata con il messaggio «Nessun erogatore disponibile».- Parameters:
attore- identità verificata del Banco di coordinamentorichiestaId- identificativo della pratica- Returns:
- richiesta passata a Rifiutata
- Throws:
SecurityException- se l'attore non è il BancoNoSuchElementException- se la pratica non esisteIllegalStateException- se la richiesta non è Presa in carico o In programmazione
-
annullaRichiesta
RichiesteApi.RichiestaSintesi annullaRichiesta(UtenzeApi.IdentitaAutenticata attore, UUID richiestaId, String motivo) Annulla la richiesta in qualsiasi stato per il Banco, la OPT titolare o l'erogatore assegnato. Conserva motivo e dettagli, chiude la ricerca e fa avvisare i soggetti coinvolti. Una ripetizione autorizzata su una richiesta già Annullata restituisce l'esito esistente.- Parameters:
attore- identità verificata dell'account coinvoltorichiestaId- identificativo della praticamotivo- motivo dell'annullamento, facoltativo solo partendo da Creata- Returns:
- richiesta in stato Annullata
- Throws:
SecurityException- se l'attore non è autorizzato sulla praticaNoSuchElementException- se la pratica non esisteIllegalArgumentException- se manca il motivo quando richiesto
-