Grafico del flusso

Descrizione

Il flusso contract-decentralized-flow è un flusso Decentralizzato che modella il ciclo di vita di un contratto, dalla proposta, all'ottenimento del servizio e dei successivi risultati.

Questo flusso prevede i seguenti attori nelle diverse visioni. Trattandosi di un flusso decentralizzato, la creazione di un nuovo contratto è consentita anche ai RS.
Questo flusso consente all'HD di effettuare qualunque transizione di stato anche senza seguire il flusso canonico: è quindi possibile anche effettuare "salti" di stato.
Nel grafico, per chiarezza, vengono riportate però solo le transizioni di stato canoniche.
Inoltre, facciamo presente che gli stati in arancione sono gli stati di sincronizzazione con UGOV-PJ

I nomi degli stati possono essere personalizzati con la funzione di Gestione etichette.
Il formato dell'etichetta è wfState.con.-identificativo_stato-.
Supponendo di avere uno stato identificato da foo, l'etichetta associata è wfState.con.foo

I nomi degli stati possono essere personalizzati con la funzione di Gestione etichette.
Il formato dell'etichetta è wfState.<identificativo_stato>.
Supponendo di avere uno stato identificato da foo, l'etichetta associata è wfState.foo

Modello Dati

Il dettaglio del modello dati associato a questo flusso è disponibile alla seguente pagina Produzione - Modello dati (contract - CON)

Permessi

Nella seguente sezione viene riportato il dettaglio dei permessi e delle transizioni di stato possibili per tutti gli attori del flusso.
Per quanto riguarda le transizioni di stato vengono riportati gli identificativi degli stati verso i quali è possibile effettuare la transizione.
Quando viene riportato il marcatore "__PREVIOUS_STATE__" significa che la transizione di stato è consentita verso lo stato precedente.
Di seguito la legenda dei permessi:

Viene, inoltre, fornito dettaglio dei TAB disponibili (quelli in sola lettura presentano il suffisso readonly)

Stato Attori Permessi Transizioni Tab
wfState.con.draft
(draft)
Helpdesk (helpdesk) c r w d administrativeProcess
Responsabile scientifico (owner) c r w d administrativeProcess
Partecipante (contributor) r none
wfState.con.administrativeProcess
(administrativeProcess)
Helpdesk (helpdesk) r w d draft,rejected,signed
Responsabile scientifico (owner) r none
Partecipante (contributor) r none
Organi dipartimentali (headOfDepartment) r w rejected,signed
wfState.con.rejected
(rejected)
Helpdesk (helpdesk) r w d administrativeProcess
Responsabile scientifico (owner) r none
Partecipante (contributor) r none
Organi dipartimentali (headOfDepartment) r none
wfState.con.signed
(signed)
Helpdesk (helpdesk) r w administrativeProcess,concluded
Responsabile scientifico (owner) r none
Partecipante (contributor) r none
Organi dipartimentali (headOfDepartment) r w concluded
wfState.con.concluded
(concluded)
Helpdesk (helpdesk) r w all
Responsabile scientifico (owner) r none
Partecipante (contributor) r none
Organi dipartimentali (headOfDepartment) r none

Validazioni

Nella seguente sezione viene riportato il dettaglio delle validazioni per tutte le coppie (attore, stato) del flusso.
Le validazioni sono distinte nei seguenti macrotipi e sono riferite, se non specificato altrimenti, all'oggetto radice.

Le validazioni sono ulteriormente distinte nei seguenti tipi. Nel caso di validazioni di tipo element, oltre all'identificativo della validazione, viene riportato anche l'identificativo dell'elemento a cui è applicata e l'azione che l'ha scatenata: Ad esempio la seguente stringa
internalOrganizationUnit:delete departmentDeleteValidator indica che la validazione "departmentDeleteValidator" è applicata in eliminazionoe di un elemento di tipo internalOrganizationUnit dell'oggetto radice.

Per avere maggiori dettagli sui possibili elementi fare riferimento alla definizione del modello, disponibile nella sezione Modello Dati.

Infine è possibile applicare le validazioni, condizionalmente al soddisfacimento di determinate condizioni (opzionali).
Queste condizioni sono specificate nella colonna "Applicabilità": se non viene specificato nulla, la validazione è attiva di default.

Stato Attori MacroTipo Tipo Attributo/Identificativo Applicabilita'
wfState.con.draft
(draft)
all enter required wfItemTypeId always
description always
dateMap[proposalStartDate] always
complex checkCreationPermissionsValidator always
ownerValidatorContract always
ownerPositionStartValidator always
save complex personInFragmentValidator always
wfState.con.administrativeProcess
(administrativeProcess)
all enter required dateMap[proposalStartDate] always
wfItemTypeId always
description always
wfDictionaryMap[currency] always
numberMap[totalAmount] always
complex ownerValidatorContract always
customerValidatorContract always
organizationUnitValidatorContract always
save complex personInFragmentValidator always
Organi dipartimentali (headOfDepartment) element complex internalOrganizationUnit:delete  departmentDeleteValidator always
internalOrganizationUnit:save  departmentChangeRoleValidator always
wfState.con.rejected
(rejected)
all enter required numberMap[totalAmount] always
dateMap[proposalStartDate] always
complex ownerValidatorContract always
organizationUnitValidatorContract always
save complex personInFragmentValidator always
wfState.con.signed
(signed)
all enter required description always
wfItemTypeId always
dateMap[proposalStartDate] always
dateMap[startDate] always
dateMap[endDate] always
wfDictionaryMap[currency] always
numberMap[totalAmount] always
complex currencyAndTotalAmountValidatorContract always
uniqueIdentifierContract always
ownerValidatorContract always
organizationUnitRoleValidatorContract always
ownerAndOrganizationUnitMatchValidatorContract always
startDateAndEndDateValidator always
customerValidatorContract always
checkDateExtensionValidator always
contributorAndOwnerStartDateValidator always
contributorAndOwnerValidatorWithStartEndDate always
wfUgovPjSenderValidatorContract always
save complex currencyAndTotalAmountValidatorContract always
contributorAndOwnerValidatorWithStartEndDate always
checkDateExtensionValidator always
contributorAndOwnerStartDateValidator always
personInFragmentValidator always
Helpdesk (helpdesk) save required description always
wfItemTypeId always
dateMap[startDate] always
dateMap[endDate] always
wfDictionaryMap[currency] always
numberMap[totalAmount] always
complex ownerValidatorContract always
organizationUnitRoleValidatorContract always
ownerAndOrganizationUnitMatchValidatorContract always
customerValidatorContract always
wfUgovPjSenderValidatorContract always
Organi dipartimentali (headOfDepartment) save required description always
wfItemTypeId always
dateMap[startDate] always
dateMap[endDate] always
wfDictionaryMap[currency] always
numberMap[totalAmount] always
complex ownerValidatorContract always
organizationUnitRoleValidatorContract always
ownerAndOrganizationUnitMatchValidatorContract always
customerValidatorContract always
wfUgovPjSenderValidatorContract always
element complex internalOrganizationUnit:delete  departmentDeleteValidator always
internalOrganizationUnit:save  departmentChangeRoleValidator always
wfState.con.concluded
(concluded)
all enter required description always
wfItemTypeId always
dateMap[proposalStartDate] always
dateMap[startDate] always
dateMap[endDate] always
wfDictionaryMap[currency] always
numberMap[totalAmount] always
complex ownerValidatorContract always
organizationUnitRoleValidatorContract always
ownerAndOrganizationUnitMatchValidatorContract always
startDateAndEndDateValidator always
customerValidatorContract always
currencyAndTotalAmountValidatorContract always
contributorAndOwnerStartDateValidator always
contributorAndOwnerValidatorWithStartEndDate always
checkDateExtensionValidator always
wfUgovPjSenderValidatorContract always
save complex currencyAndTotalAmountValidatorContract always
checkDateExtensionValidator always
contributorAndOwnerStartDateValidator always
contributorAndOwnerValidatorWithStartEndDate always
personInFragmentValidator always
Helpdesk (helpdesk) save required description always
wfItemTypeId always
dateMap[startDate] always
dateMap[endDate] always
wfDictionaryMap[currency] always
numberMap[totalAmount] always
complex ownerValidatorContract always
organizationUnitRoleValidatorContract always
ownerAndOrganizationUnitMatchValidatorContract always
customerValidatorContract always
wfUgovPjSenderValidatorContract always

Logiche (action/start)

Nella seguente sezione vengono riportate le

Di seguito viene riportato il dettaglio delle logiche definite per questo flusso.

START LOGICS

ACTION LOGICS